shell脚本:流量监控的三种方法

说明:监控服务器流量的方法,有很多种

  1)iftop工具

  2)ifconfig中会显示发送总流量(TX)和接收总流量(RX)

  3)通过查看/proc/net/dev可以获取到流量

 每种方法大同小异,ifconfig大家都很熟悉,这里不做介绍(思路和方法三一致,都是通过计算差值,取得平均值),简单介绍下iftop流量监控工具和方法三脚本监控

 

  iftop是一个工具,如果没有安装下

  yum install iftop -y 

 iftop界面关键字说明:

   TX:发送流量

   RX:接收流量

  TOTAL:总流量

  cumn:运行iftop到目前的总流量

  peak:流量峰值

  rates:每2s,10s,40s的平均流量

  iftop工具好处效果直观,一目了然

  方法三脚本显示平局流量

  思路:通过查看/proc/net/dev,指定网卡,获取出入和接收流量值,然后休息3秒,重新获取,取2者之差计算每秒的平局流量

  扩展:你可以当流量进行监控,当系统流量超过多少,进行邮件预警(服务器上装mailx客户端即可)

  脚本内容如下:

  

#通过外部传参的形式,获取指定网卡的流量
Net=$1
echo "IN-------------------------------OUT"
#通过函数获取每秒流入和流出的流量
function net_work {
	IN_NET=`awk -F " +" '/'$Net'/{print $2}' /proc/net/dev`
	 OUT_NET=`awk -F " +" '/'$Net'/{print $10}' /proc/net/dev`
	sleep 3
	IN_NEW_NET=`awk -F " +" '/'$Net'/{print $2}' /proc/net/dev`
	OUT_NEW_NET=`awk -F " +" '/'$Net'/{print $10}' /proc/net/dev`

	IN_CHA=$(((IN_NEW_NET-IN_NET)/3))
	OUT_CHA=$(((OUT_NEW_NET-OUT_NET)/3))
}

#通过调用函数三次,获取三次的流入和流出流量,然后计算均值,这样误差较小
net_work
IN1=$IN_CHA
OUT1=$OUT_CHA
sleep 1
net_work
IN2=$IN_CHA
OUT2=$OUT_CHA
sleep 1
IN3=$IN_CHA
OUT3=$OUT_CHA
sleep 1
IN_AVG=$(((IN1+IN2+IN3)/3))
OUT_AVG=$(((OUT1+OUT2+OUT3)/3))
echo "$IN_AVG     $OUT_AVG"

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值