Linux网络流量监控工具
前言我们的很多服务大都是部署在Linux服务器上的,我们在生产中可能会遇见很多问题,如网络慢,访问卡等,那么就需要对Linux的机器的网络流量进行监控,这样我们才能分析排查问题。接下来介...
前言
我们的很多服务大都是部署在Linux服务器上的,我们在生产中可能会遇见很多问题,如网络慢,访问卡等,那么就需要对Linux的机器的网络流量进行监控,这样我们才能分析排查问题。接下来介绍几个比较好用的小工具,iftop和nethogs,用于排查linux机器的网络问题。
iftop
iftop用于网卡机器级别的流量监控,可以实时显示当前机器和其他主机之间的网络流量。
安装
yum install -y iftop
安装完成后可以通过iftop命令启动,iftop默认监控第一个可用网卡的流量,可以通过参数指定要监控的网卡比如iftop -i eth0
。网卡名称可以通过ifconfig获取。启动后的界面如下:
最上面的是一个类似于刻度尺,通过下面的机器的进度条表示和某个机器网络流量的大小。
VM_0_9_centos => 169.254.0.4 3.19Kb 2.90Kb 3.17Kb
<= 1.47Kb 1.480Kb 1.48Kb
每两行代表和每个host之间不同方向的网络流量,第一列是源主机,第二列是目标主机,第三列分别是最近2s, 10s和40s的平均网络流量。默认按10s的网络流量进行排序。
TX: cumm: 82.5KB peak: 67.3Kb rates: 5.02Kb 5.69Kb 16.0Kb
RX: 21.1KB 10.1Kb 1.74Kb 2.19Kb 3.99Kb
TOTAL: 104KB 77.4Kb 6.76Kb 7.88Kb 20.0Kb
底部显示全局的流量统计,cumm表示运行至今的累计情况,peak表示峰值数据, rates 表示最近2s,10s和40s秒平均网络流量。
快捷键
在监控界面可以通过快捷键来调整监控显示项。可以通过h或者?查看支持查快捷键用法。
主机显示
n - 是否开启DNS解析,显示机器名或者IP
s - 是否源主机
d - 是否显示目标主机
t - 流量统计显示模式,两行显示,一行显示,只显示发送流量或者接收流量
端口显示
N - toggle service resolution
S - 是否显示源主机端口
D - 是否显示目标主机端口
p - 是否显示端口号
排序
1/2/3 - 根据2s,10s和40s的流量排序
< - 按源主机进行排序
> - 按目标主机排序
o - 冻结当前排序,避免机器排序出现变化,方便观察固定主机流量
其他
P - 暂停刷新
h - 显示帮助
b - 是否显示进度条和刻度尺
B - 循环切换按2s,10s, 40s显示进度条
T - 显示或者隐藏统计总量
j/k - 滚动显示
f - 编辑过滤器代码
l - 屏幕文本搜索过滤
! - 执行Shell命令
q - 退出
其中过滤器代码参考pcap formatted filters
语法
iftop -h | [-npblNBP] [-i interface] [-f filter code] [-F net/mask] [-G net6/mask6]
-h 显示本帮助(Help)信息
-n 不进行主机名(hostName)查找
-N 不将端口号(port Number)转换成对应的服务 to services
-p 混合(Promiscuous)模式(显示网络相关的其他主机信息)
-b 不显示流量图形条(Bar)
-B 以字节(Byte)为单位,显示带宽(Bandwidth);默认以比特(bit)显示的
-i interface 监控的网卡接口(interface)
-f filter code 包统计时,使用过滤码;默认:无,只统计IP包
-F net/mask 显示特定IPv4网段的进出流量(Flow);如# iftop -F 10.10.1.0/24
-G net6/mask6 显示特定IPv6网段的进出流量(Flow)
-l 显示并统计IPv6本地(Local)链接的流量(默认:关)
-P 显示端口(Port)
-m limit 设置显示界面上侧的带宽刻度(liMit)
-c config file 指定配置(Config)文件
-t 使用不带窗口菜单的文本(text)接口
排序:
-o 2s Sort by first column (2s traffic average)
-o 10s Sort by second column (10s traffic average) [default]
-o 40s Sort by third column (40s traffic average)
-o source Sort by source address
-o destination Sort by destination address
The following options are only available in combination with -t
-s num print one single text output afer num seconds, then quit
-L num number of lines to print
nethogs
nethogs用于监控统计每个进程的带宽使用
安装
yum install -y nethogs
1. nethogs 使用说明和例子
1)用法:nethogs[-v][-h][-b][-d秒][-v模式][-c计数][-t][-p][-s][设备[设备…]]
-V:打印版本。
-H:打印这个帮助。
-B:BugHunt模式-表示跟踪模式。
-D:更新刷新率的延迟(秒)。默认值为1。
-V:查看模式(0=kb/s,1=total kb,2=total b,3=total mb)。默认值为0。
-C:更新次数。默认值为0(无限制)。
-TraceMod。
-P:在混乱模式下嗅探(不推荐)。
-S:按发送列对输出进行排序。
-A:监控所有设备,甚至是回送/停止的设备。
设备:要监视的设备。默认值是除环回之外的所有已启动和正在运行的接口
NetHogs运行时,按:
q:退出
S:按发送流量排序
R:按接收流量排序
M:在总计(kb、b、m b)和kb/s模式之间切换
2)使用例子
[root@ald8 ~]# nethogs
[root@ald8 ~]# nethogs eth0 eth1
// 假如有多个网卡要同时查看,可以网卡名依次写上即可
[root@ald8 ~]# nethogs eth1
// 指定查看某一个网卡
往期精彩文章
kubernetes全栈技术+企业案例演示【带你快速掌握和使用k8s】
Prometheus+Grafana+Alertmanager搭建全方位的监控告警系统-超详细文档
k8s1.18多master节点高可用集群安装-超详细中文官方文档
jenkins+kubernetes+harbor+gitlab构建企业级devops平台
通过kubeconfig登陆k8s的dashboard ui界面
prometheus operator监控k8s集群之外的haproxy组件
kubernetes原生的CI/CD工具Tekton-一定要看看~
技术交流群
学无止境,了解更多关于kubernetes/docker/devops/openstack/openshift/linux/IaaS/PaaS相关内容,想要获取更多资料和免费视频,可按如下方式进入技术交流群
扫码加群????
微信:luckylucky421302
微信公众号
长按指纹关注公众号????
点击在看少个 bug????
更多推荐
所有评论(0)