概述
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
<=
0b
610b
610b
iZj6cibuqbd4wx6fqv2k4kZ
=> 47.95.246.187
3.55Kb
5.88Kb
5.88Kb
<=
416b
1.20Kb
1.20Kb
iZj6cibuqbd4wx6fqv2k4kZ
=> 100.100.35.30
5.08Kb
1.02Kb
1.02Kb
<=
15.0Kb
3.00Kb
3.00Kb
iZj6cibuqbd4wx6fqv2k4kZ
=> 100.100.30.25
4.80Kb
3.08Kb
3.08Kb
<=
184b
110b
110b
iZj6cibuqbd4wx6fqv2k4kZ
=> 192.168.21.2
1.13Kb
1.14Kb
1.14Kb
<=
1.38Kb
1.25Kb
1.25Kb
iZj6cibuqbd4wx6fqv2k4kZ
=> 100.100.2.138
572b
586b
586b
<=
864b
924b
924b
iZj6cibuqbd4wx6fqv2k4kZ
=> 100.100.2.136
872b
577b
577b
<=
1.19Kb
927b
927b
iZj6cibuqbd4wx6fqv2k4kZ
=> ec2-13-48-48-212.eu-north-1.compute.amazonaws.com
0b
67b
67b
<=
0b
67b
67b
iZj6cibuqbd4wx6fqv2k4kZ
=> 203.107.6.88
304b
61b
61b
<=
304b
61b
61b
iZj6cibuqbd4wx6fqv2k4kZ
=> ec2-68-79-21-76.cn-northwest-1.compute.amazonaws.com.cn
0b
29b
29b
<=
0b
37b
37b
iZj6cibuqbd4wx6fqv2k4kZ
=> ec2-68-79-49-70.cn-northwest-1.compute.amazonaws.com.cn
0b
29b
29b
<=
0b
37b
37b
=================================================================================================================================================================================================================
TX:
cum:
27.0KB
peak:
63.1Kb
rates:
16.3Kb
21.6Kb
21.6Kb
RX:
10.2KB
19.3Kb
19.3Kb
8.16Kb
8.16Kb
TOTAL:
37.2KB
71.3Kb
35.6Kb
29.8Kb
29.8Kb
1、界面头部:
- 流量刻度尺,对应下边每行的白色横条。
2、界面中部:
- 左边为服务器;中间为外网IP,左箭头流入,右箭头流出;右边为2s 10s 40s 的流量情况。
3、界面下部:
- TX:发送流量
- RX:接收流量
- TOTAL:总流量
- Cumm:运行iftop到目前时间的总流量
- peak:流量峰值
- rates:分别表示过去 2s 10s 40s 的平均流量
1.3 命令参数
- -i 设定监测的网卡,如:# iftop -i eth1
- -B 以bytes为单位显示流量(默认是bits),如:# iftop -B
- -n 使host信息默认直接都显示IP,如:# iftop -n
- -N 使端口信息默认直接都显示端口号,如: # iftop -N
- -F 显示特定网段的进出流量,如# iftop -F 192.168.1.0/24或# iftop -F 192.168.1.0/255.255.255.0
- -h (display thismessage),帮助,显示参数信息;
- -p 使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;
- -b 使流量图形条默认就显示;
- -f 这个暂时还不太会用,过滤计算包用的;
- -P 使host信息及端口信息默认就都显示;
- -t 使用不带ncurse的文本界面
- -L 显示条数;
- -s 在数秒后打印一个文本输出,然后退出;
- -m 设置界面最上边的刻度的最大值,刻度分五个大段显示,例:上图既是执行该命令# iftop -m 1M
1.4 iftop文本生成说明
部分情况下,我们需要将iftop的情况记录到文本中
iftop -tnPBs 2 ,可生成日志文本分析流量情况
生成后的文本内容
Listening on eth0
# Host name (port/service if enabled)
last 2s
last 10s
last 40s cumulative
--------------------------------------------------------------------------------------------
1 172.31.56.175:20871
=>
75.6Mb
75.6Mb
75.6Mb
18.9MB
100.115.61.9:http
<=
167Kb
167Kb
167Kb
41.9KB
2 172.31.56.175:20867
=>
70.5Mb
70.5Mb
70.5Mb
17.6MB
100.115.61.9:http
<=
123Kb
123Kb
123Kb
30.8KB
3 172.31.56.175:38490
=>
38.7Mb
38.7Mb
38.7Mb
9.66MB
100.115.61.4:http
<=
233Kb
233Kb
233Kb
58.2KB
--------------------------------------------------------------------------------------------
Total send rate:
208Mb
208Mb
208Mb
Total receive rate:
595Kb
595Kb
595Kb
Total send and receive rate:
209Mb
209Mb
209Mb
--------------------------------------------------------------------------------------------
Peak rate (sent/received/total):
208Mb
595Kb
209Mb
Cumulative (sent/received/total):
52.0MB
149KB
52.1MB
============================================================================================
文本说明,例如以下:
1 172.31.56.175:20871
=>
75.6Mb
75.6Mb
75.6Mb
18.9MB
100.115.61.9:http
<=
167Kb
167Kb
167Kb
41.9KB
解释:
172.31.56.175(服务器本身)利用20871端口向100.115.61.9发起http请求,传输速率为:75.6Mb/s(出网)
100.115.61.9向172.31.56.175(服务器本身)返回数据,传输速率为:167Kb/s (入网)
1.5 界面命令
- 按h切换是否显示帮助;
- 按n切换显示本机的IP或主机名;
- 按s切换是否显示本机的host信息;
- 按d切换是否显示远端目标主机的host信息;
- 按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;
- 按N切换显示端口号或端口服务名称;
- 按S切换是否显示本机的端口信息;
- 按D切换是否显示远端目标主机的端口信息;
- 按p切换是否显示端口信息;
- 按P切换暂停/继续显示;
- 按b切换是否显示平均流量图形条;
- 按B切换计算2秒或10秒或40秒内的平均流量;
- 按T切换是否显示每个连接的总流量;
- 按l打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息;
- 按L切换显示画面上边的刻度;刻度不同,流量图形条会有变化;
- 按j或按k可以向上或向下滚动屏幕显示的连接记录;
- 按1或2或3可以根据右侧显示的三列流量数据进行排序;
- 按<根据左边的本机名或IP排序;
- 按>根据远端目标主机的主机名或IP排序;
- 按o切换是否固定只显示当前的连接;
- 按f可以编辑过滤代码,这是翻译过来的说法,我还没用过这个!
- 按!可以使用shell命令,这个没用过!没搞明白啥命令在这好用呢!
- 按q退出监控。
二、服务器监控带宽详情
最近使用的阿里云服务器在凌晨时,带宽突然增大至上百M,而阿里云无法说明当时的情况,所以编写以下脚本进行服务器带宽详情监控
2.1 带宽监控脚本
#!/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin;
export PATH
MB=1
TXpre=$(cat /proc/net/dev | grep eth0 | tr : " " | awk '{print $10}')
sleep 60
TXnext=$(cat /proc/net/dev | grep eth0 | tr : " " | awk '{print $10}')
TXX=$((${TXnext}-${TXpre}))
TX=$(echo $TXX | awk '{print $1/1048576/8 }')
if [ `echo "$TX > $MB" | bc` -eq 1 ];then
iftop -t -P -s 2 > /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
<=
23B
23B
23B
46B
2 172.31.56.175:42117
=>
284B
284B
284B
568B
106.38.36.34:rich-cp
<=
391B
391B
391B
782B
3 172.31.56.175:25319
=>
144B
144B
144B
289B
192.168.21.2:57962
<=
153B
153B
153B
306B
4 172.31.56.175:25319
=>
141B
141B
141B
282B
192.168.21.2:58122
<=
148B
148B
148B
297B
5 172.31.56.175:52052
=>
37B
37B
37B
74B
100.100.2.136:domain
<=
45B
45B
45B
90B
6 172.31.56.175:34359
=>
37B
37B
37B
74B
100.100.2.138:domain
<=
45B
45B
45B
90B
7 172.31.56.175:52318
=>
38B
38B
38B
76B
100.100.3.3:ntp
<=
38B
38B
38B
76B
--------------------------------------------------------------------------------------------
Total send rate:
1.35KB
1.35KB
1.35KB
Total receive rate:
844B
844B
844B
Total send and receive rate:
2.17KB
2.17KB
2.17KB
--------------------------------------------------------------------------------------------
Peak rate (sent/received/total):
1.35KB
843B
2.17KB
Cumulative (sent/received/total):
2.70KB
1.65KB
4.34KB
============================================================================================
注:以上文本内容为 2.7 K
24小时文本大小为:116640 KB = 2 MB
最后
以上就是老实蜜粉为你收集整理的iftop带宽监控一、iftop详解1.2 界面说明二、服务器监控带宽详情的全部内容,希望文章能够帮你解决iftop带宽监控一、iftop详解1.2 界面说明二、服务器监控带宽详情所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复