作为一个资深的Linux系统管理员,对于能够时刻获取你维护机器上的每一个进程占用了多少网络带宽、对外开放端口的活动情况是非常重要的!通过这些数据我们能够及时发现业务出现的问题,以及未来可能遭受的攻击,同时它也是帮助我们排查故障的重要数据来源!
没有专用的工具,获取数据并不容易。下面小编就同大家分享一波咱们日常工作中实用的一些监控工具,帮助大家快速查看服务器带宽和端口的活动情况!
1. Iftop
iftop是linux命令行程序,用图形形式实时显示网络连接所使用的带宽。就像top一样,iftop 每隔几秒动态更新, iftop显示的是网络连接所使用的上传和下载的带宽,是运维人员必备的命令工具。
(1) 安装
iftop在系统中,缺省情况下是没有安装,所以需要在使用之前安装
- yum install iftop
(2) 使用
直接在命令行下输入iftop运行程序,运行界面如下图
- 在屏幕的最上方,是iftop 显示每个连接比例的条形图。
- 跟着的输出行对应着每对主机之间的网络连接。
- 在两个主机之间的箭头代表数据流动方向。
- 最后三列最后2秒、20秒以及40秒内的平均连接带宽。
由此举例,上图中最后2秒的平均值约为2.83Mb,最后10秒约为3.32Mb,最后40秒约为3.11Mb。在所有的发送和接收的下方,屏幕的底部是对全部发送和接收的统计(TX和RX),包括在2-、10-和40秒内的平均值,而最后,则是接口的总计。
(3) 常用的参数
2. Dstat
dstat是一个综合的服务器性能查看命令。Dstat允许你实时查看系统的所有资源情况,例如:或直接将网络带宽数与磁盘吞吐量进行比较(在相同的时间间隔内)。
(1) 安装
- yum install dstat -y
(2) 使用
- [root@localhost ~]# dstat -cdnrsy
(3) 参数详解
3. Nload
如果你想在命令行界面监控网络吞吐量,选择 nload 就对了!它是一个实时监控网络流量和带宽使用的控制台应用程序,它把入站流量和出站流量分开来监控,让用户很清楚的知道入站流量和出站流量情况。
(1) nload安装
- yum install nload -y
(2) 使用
- nload -u M
(3) 参数说明
-u M:以M字节为单位显示:
这个截图老王尽力了~红框标出的文字是:Incoming 和 outgoing,数据部分大家自行脑补~
4. Ifstat
ifstat命令就像iostat/vmstat描述其它的系统状况一样,是一个网络流量监测程序,能查看网卡的流出和流入的字节.是一个统计网络接口活动状态的工具。
(1) ifstat安装
- wget http://distfiles.macports.org/ifstat/ifstat-1.1.tar.gz
- tar xzvf ifstat-1.1.tar.gz
- cd ifstat-1.1
- ./configure
- make
- make install
(2) 使用
- [root@localhost ifstat-1.1]# ifstat -i ens160 1 10
- ens160
- KB/s in KB/s out
- 9.02 6.42
- 4.50 3.23
- 3.84 3.23
- 4.36 3.23
- 5.42 3.23
- 13.50 11.59
- 10.54 12.84
- 3.59 3.52
- 4.39 3.23
- 5.78 3.53
(3) 参数说明
-i:网络接口名
5. Nicstat
nicstat是一款分析网卡流量信息的工具,原生于Solaris,后来才被移植到Linux上。
(1) nicstat安装
- yum install http://rpmfind.net/linux/fedora/linux/releases/28/Everything/x86_64/os/Packages/n/nicstat-1.95-7.fc27.x86_64.rpm
(2) 使用
- [root@lkjtest ~]# nicstat -z 1
- Time Int rKB/s wKB/s rPk/s wPk/s rAvs wAvs %Util Sat
- 15:29:14 ens160 4.03 0.91 43.18 1.60 95.61 581.8 0.00 0.00
- 15:29:15 ens160 3.09 0.73 35.95 2.00 88.11 375.5 0.00 0.00
- 15:29:16 ens160 3.93 0.66 43.99 2.00 91.52 335.5 0.00 0.00
- 15:29:17 ens160 3.99 0.66 45.00 2.00 90.71 335.5 0.00 0.00
- 15:29:18 ens160 4.04 0.66 46.99 2.00 88.04 335.5 0.00 0.00
- 15:29:19 ens160 3.64 0.66 42.00 2.00 88.76 335.5 0.00 0.00
(3) 参数说明
-z:跳过0行
输出参数说明:
- wKB/s,OutKB #每秒写的千字节数(transmitted)
- rMbps,RdMbps #每秒读的百万字节数K(received)
- %Util #接口的利用率百分比
- Sat #每秒的错误数,接口接近饱和的一个指标
6. Sar
Sar是系统活动报告,是一个在Unix和Linux操作系统中用来收集、报告和保存CPU、内存、输入输出端口使用情况的命令。
(1) 安装
- yum install sysstat -y
(2) 使用
- [root@181test ifstat-1.1]# sar -n DEV 1 2
(3) 参数说明