您当前的位置: 首页 > 
  • 3浏览

    0关注

    212博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

iftop带宽监控

杰哥的技术杂货铺 发布时间:2021-04-07 11:55:26 ,浏览量:3

iftop是类似于linux系统中实时流量的监控工具。

iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等,详细的将会在后面的使用参数中说明。

一、iftop详解 1.1 安装命令

centos 系统使用如下命令进行安装

yum install -y iftop
1.2 界面说明
                                          12.5Kb                                    25.0Kb                                    37.5Kb                                    50.0Kb                              62.5Kb
==================================================================================================================================================================================================================                                          
iZj6cibuqbd4wx6fqv2k4kZ                                                                     => 100.103.0.45                                                                                   0b   9.19Kb  9.19Kb
                                                                                             47.95.246.187                                                                               3.55Kb  5.88Kb  5.88Kb
                                                                                             100.100.35.30                                                                               5.08Kb  1.02Kb  1.02Kb
                                                                                             100.100.30.25                                                                               4.80Kb  3.08Kb  3.08Kb
                                                                                             192.168.21.2                                                                                1.13Kb  1.14Kb  1.14Kb
                                                                                             100.100.2.138                                                                                572b    586b    586b
                                                                                             100.100.2.136                                                                                872b    577b    577b
                                                                                             ec2-13-48-48-212.eu-north-1.compute.amazonaws.com                                              0b     67b     67b
                                                                                             203.107.6.88                                                                                 304b     61b     61b
                                                                                             ec2-68-79-21-76.cn-northwest-1.compute.amazonaws.com.cn                                        0b     29b     29b
                                                                                             ec2-68-79-49-70.cn-northwest-1.compute.amazonaws.com.cn                                        0b     29b     29b
                                                                                                 75.6Mb     75.6Mb     75.6Mb     18.9MB
     100.115.61.9:http                             70.5Mb     70.5Mb     70.5Mb     17.6MB
     100.115.61.9:http                             38.7Mb     38.7Mb     38.7Mb     9.66MB
     100.115.61.4:http                             75.6Mb     75.6Mb     75.6Mb     18.9MB
  100.115.61.9:http               /opt/logs/iftop_log/iftop$(date +%F_%H:%M:%S).log

fi
2.2 定时器任务
*/2 * * * *  /bin/bash  /opt/scripts/network_monitoring.sh   >/dev/null 2>&1

脚本解析

MB=1 
network_now=$(cat /proc/net/dev | grep eth0 | tr : " " | awk '{print $10}')
查看现在的eth0网卡出网带宽(出网总字节数)

/proc/net/dev:网卡发送或接收的数据的总字节数
tr : " "  将:转换为空格

sleep 60
等待60秒

network_next=$(cat /proc/net/dev | grep eth0 | tr : " " | awk '{print $10}')
查看1分钟后的eth0网卡出网带宽(出网总字节数)


network=$((${network_next}-${network_now}))
利用第二次获取的出网总带宽减去第一次的出网总带宽,得到一分钟的网卡出网带宽

network_MB=$(echo $network | awk '{print $/1048576/8 }')
将字节数转换为MB

if [ `echo "$TX > $MB" | bc` -eq 1 ];then
判断一分钟增长的出网带宽是否大于设置的阈值,如果大于,则执行以下命令:

iftop -tnPBs 2 > /opt/logs/iftop_log/iftop$(date +%F_%H:%M:%S).log

-t 使用不带ncurse的交互文本界面
-n 使host信息默认直接显示IP
-P 使host信息及端口信息默认就都显示
-B 以bytes为单位显示流量(默认是bits)
-s 在数秒后打印一个文本输出,然后退出

fi

iftop打印后的内容

   # Host name (port/service if enabled)            last 2s   last 10s   last 40s cumulative
--------------------------------------------------------------------------------------------
   1 172.31.56.175:41936                      =>       699B       699B       699B     1.37KB
     100.100.30.25:http                              284B       284B       284B       568B
     106.38.36.34:rich-cp                            144B       144B       144B       289B
     192.168.21.2:57962                              141B       141B       141B       282B
     192.168.21.2:58122                               37B        37B        37B        74B
     100.100.2.136:domain                             37B        37B        37B        74B
     100.100.2.138:domain                             38B        38B        38B        76B
     100.100.3.3:ntp                                      
关注
打赏
1666063422
查看更多评论
0.0355s