linux网络流量统计,linux下网络流量监控统计

本文介绍了如何在Linux环境下利用ifstat工具监控网络流量,并通过shell脚本记录和统计流量数据。作者首先详细讲解了ifstat的安装过程,然后提供了两个脚本来分别进行流量记录和速率统计,最后设置了定时任务在每天特定时间生成流量报告。通过这种方法,可以方便地掌握服务器的网络使用情况。
摘要由CSDN通过智能技术生成

最近在做虚拟化迁入评估,其中很重要的一项就是流量的问题。现在部署一个工具和脚本用来统计服务器的网络流量。

linux下监控流量的工具有很多,比如ifstat、iftop等。

个人还是喜欢ifstat,因为它统计起来比较容易。

先安装ifstat。

还是老步骤,先下载ifstat-1.1.tar.gz,然后解压缩。

接着老方法走:

./configure

make && make isntall

这样ifstat就按照完成了。

至于这个软件的其他功能这里就不讨论了,只用它的命令行。

例如“

ifstat  1 6”

得到如下的数据输出:

eth0                eth1

KB/s in  KB/s out   KB/s in  KB/s out

36.04    115.09      0.06      0.23

37.55    159.04      0.12      0.18

26.72     93.16      0.21      0.22

82.34    247.28      0.12      0.18

96.46    243.81      0.06      0.18

124.16    238.18      0.06      0.18

这条命令的意思就是1秒钟输出一次,总共输出6次。输出网卡的流量。这样一目了然。

接下来部署脚本分别用来记录和统计流量情况。

1、vi /home/tools/tongji/network/network_record.sh

#/bin/sh

DATE=`date +%Y%m%d`

/usr/local/bin/ifstat 6 10|sed '1,2d'|awk '{print $1"\t"$2}'>>/home/tools/tongji/network/$DATE.log

2、  vi /home/tools/tongji/network/network_flow_rate_statistics.sh

#!/bin/sh

DATE=`date +%Y%m%d`

HOME_DIR=/home/tools/tongji/network/

FILE=$HOME_DIR/$DATE.log

STATIC_RESULT_FILE=$HOME_DIR/statistics_result.$DATE

cd /home/tools/tongji/network

awk '{print $1}' $FILE >$DATE.in.tmp

awk '{print $2}' $FILE >$DATE.out.tmp

echo  "Everyday network flow rate statistics!!">>$STATIC_RESULT_FILE

echo  "--------------------------------------------------------------------------------------">>$STATIC_RESULT_FILE

echo  "The Inbound network flow rate statistics:">>$STATIC_RESULT_FILE

awk -f statistics.awk $DATE.in.tmp>>$STATIC_RESULT_FILE

echo  "--------------------------------------------------------------------------------------">>$STATIC_RESULT_FILE

echo  "The Outbound network flow rate statistics:">>$STATIC_RESULT_FILE

awk -f statistics.awk $DATE.out.tmp>>$STATIC_RESULT_FILE

rm -rf $DATE.in.tmp $DATE.out.tmp

3.vi statistics.awk

{

if( NR == 1) {

min = $1;

max = $1;

total = $1;

} else {

if( $1 < min ) { min = $1 }

if( $1 > max ) { max = $1 }

total += $1;

}

}

END {

avg = total * 1.0 / NR

print "Min:"min,"Avg:"avg,"Max:",max,"Num:",NR

}

我的计划任务是这样安排的:

#流量监控统计

*/1 1,5,8,9,13,16,17,20,22 * * * /home/tools/tongji/network/network_record.sh

10 23 * * * /home/tools/tongji/network/network_flow_rate_statistics.sh

这样,每天的23点10分就会生成一份关于每天流量的报告。类似于下面的内容:

more statistics_result.20100118

Everyday network flow rate statistics!!

--------------------------------------------------------------------------------------

The Inbound network flow rate statistics:

Min:2.15 Avg:28.2562 Max: 69.08 Num: 610

--------------------------------------------------------------------------------------

The Outbound network flow rate statistics:

Min:7.20 Avg:114.506 Max: 519.37 Num: 610

这样连续几天就可以得出本台服务器的流量大致情况。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值