linux查看网口流量ifconfig,ifconfig与网络流量监控

我们在linux/unix下最常用的工具莫过于ifconfig了。ifconfig的输出中有两项,分别是:

RX==receive,接收,从开启到现在接收封包的情况,是下行流量。

TX==Transmit,发送,从开启到现在发送封包的情况,是上行流量。[root@test etc]# ifconfig eth1

eth1 Link encap:Ethernet HWaddr 00:26:B9:58:19:88

inet addr:192.168.0.46 Bcast:192.168.0.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:6049782538 errors:0 dropped:2373 overruns:0 frame:0

TX packets:7415059121 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:2611876455455 (2.3 TiB) TX bytes:6028598337794 (5.4 TiB)

Interrupt:114 Memory:d8000000-d8012800

RX和TX输出的值使有的单位参数是bytes,而利用该命令,我们也可以配置脚本进行流量检测。大名鼎鼎的nagios就有一个插件check_traffic,通过ifconfig的输出的RX、TX值通过之间的差,再除去中间间隔的时间算出流量大小的。该插件的下载页为:https://github.com/cloved/check_traffic/downloads 。

现摘录其中部分关于度量值转换的部分如下:#to K

uIn=`echo "$ctbpsIn / 1024" | bc`

uOut=`echo "$ctbpsOut / 1024" | bc`

#to M

if [ "$isM" = "True" ]; then

uIn=`echo "scale=$Scale; $uIn / 1024" | bc`

uOut=`echo "scale=$Scale; $uOut / 1024" | bc`

fi

#to B

if [ "$isB" = "True" ]; then

uIn=`echo "scale=$Scale; $uIn / 8" | bc`

uOut=`echo "scale=$Scale; $uOut / 8" | bc`

即所得的结果如果想要转换成Kb需要除以1024,转换成Mb要在kbit的基础上再除以1024,而后面所跟的单位如果是B,就是KB或MB,需要要再除以8。所以我们在nagios监控中对于参数的设置也要根据实际情况进行变动。command[check_traffic]=/App/nagios/libexec/check_traffic -i eth1 -w 90000 -c 120000

如我的nrpe.cfg中的关于该项的配置如上面所示。前两天实然流量告警,去查看该配置时,竟然忘了所使用的计量单位是什么,只好又去脚本里去查看。想想蛮搞笑的。关于ifconfig另外一些基础的东西可以去百度百科或man手册上去找。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值