如何监控CentOS/RHEL Linux服务器的网络流量
时间:2019-11-20 08:52:42 来源:igfitidea点击:
问题
如何将CentOS系统每天的网络流量进行统计?
如何检查Linux的网络流量?
解决方案
可以使用 vnstat命令,它是基于控制台的网络流量监视器。
它从proc文件系统分析流量信息。
会记录选定接口的每小时,每日和每月网络流量。
安装vnstat
首先,在CentOS 6/RHEL 6或RHEL 7/CentOS 7.x上启用EPEL仓库。
# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
执行以下yum命令以安装vnstat:
# yum --disablerepo=\* --enablerepo=epel install vnstat
如果使用的是Fedora Linux,使用dnf命令:
# dnf update # dnf install vnstat
vnstat配置
编辑/etc/vnstat.conf
# vi /etc/vnstat.conf
将默认接口设置为要监控的网口eth1:
Interface "eth1"
创建数据库
运行以下命令来创建数据库。
首先使用chsh将vnstat的shell设置为/bin/bash,
否则This account is currently not available.
# chsh -s /bin/bash vnstat # grep --color vnstat /etc/passwd # id vnstat
使用runuser命令为eth1接口创建数据库(新安装vnstat才需要创建):
# runuser -l vnstat -g vnstat -c '/usr/bin/vnstat -u -i eth1' Info: -> A new database has been created.
否则会报错
No database found, nothing to do. Use --help for help. A new database can be created with the following command: vnstat --create -i eth0 Replace 'eth0' with the interface that should be monitored. The following interfaces are currently available:
禁止vnstat用户登录:
# chsh -s /sbin/nologin vnstat # grep --color vnstat /etc/passwd # id vnstat
启动vnstat服务
设置开机时自启动:
# chkconfig vnstat on
启动/停止/重启vnstart服务或者查看状态:
# service vnstat start # service vnstat stop # service vnstat restart # service vnstat status
如果是CentOS/RHEL版本7.x,
还可以使用下面的命令启动/停止/重启vnstart服务
$ sudo systemctl start vnstat $ sudo systemctl stop vnstat $ sudo systemctl restart vnstat $ sudo systemctl status vnstat
Linux如何查看网络流量的统计信息?
vnstat语法为:
vnstat vnstat -i {interface} vnstat -i {interface} -option vnstat -i {interface} -option1 -option2
$ vnstat
输出示例:
rx: 16 KiB tx: 6 KiB total: 22 KiB monthly rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- Dec '20 16 KiB | 6 KiB | 22 KiB | 0.00 kbit/s ------------------------+-------------+-------------+--------------- estimated -- | -- | -- | daily rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- today 16 KiB | 6 KiB | 22 KiB | 0.01 kbit/s ------------------------+-------------+-------------+--------------- estimated -- | -- | -- |
CentOS/RHEL 查看eth1流量统计信息:
$ vnstat -i eth1
CentOS/RHEL 查看eth0的每日流量统计信息:
$ vnstat -i eth0 -d
CentOS/RHEL 查看每小时的网络流量统计信息:
$ vnstat -i eth0 -h
CentOS/RHEL 查看每月的网络流量统计信息:
$ vnstat -i eth0 -m
CentOS/RHEL 查看每周的网络流量统计信息:
$ vnstat -i eth0 -w
查看排名前10位的网络统计信息:
$ vnstat -t $ vnstat -i eth0 -t
查看简短的输出:
$ vnstat -i eth0 -s
CentOS/RHEL 计算网络流量:
$ vnstat -i eth0 -tr
CentOS/RHEL 实时查看网络接口eth0的传输速率:
CentOS/RHEL 实时查看网卡的传输速率:
$ vnstat -i eth0 -l