在CentOS系统中安装流量统计工具可以帮助管理员实时监控网络使用情况,及时发现异常流量并优化网络资源分配,以下是几种常用的流量统计工具安装与配置方法,适用于不同需求的场景。

使用iftop进行实时流量监控
iftop是一款基于命令行的实时流量监控工具,能够显示每个连接的实时带宽使用情况,首先安装EPEL源,然后执行以下命令安装:
sudo yum install epel-release sudo yum install iftop
安装完成后,直接运行iftop即可启动监控界面,界面中会显示源地址、目标地址、实时上传和下载速度等信息,按h键可查看更多操作选项,如按协议类型过滤、显示端口等,iftup适合快速定位高带宽占用的连接,但无法提供历史数据统计。
使用nethogs按进程监控流量
nethogs的特点是按进程显示网络使用情况,能够帮助识别具体哪个程序消耗了大量带宽,安装命令如下:
sudo yum install nethogs
运行sudo nethogs后,会列出每个进程的实时流量数据,包括PID、用户名、上传和下载速度,通过按q键可退出监控,nethogs适合排查异常进程导致的流量问题,但需要root权限运行。
使用vnStat实现长期流量统计
vnStat是一款轻量级的网络流量统计工具,通过后台服务持续记录流量数据并生成日报、月报等统计信息,首先安装vnStat及其图形化前端vnstat_gui(可选):

sudo yum install vnstat sudo systemctl enable --now vnstat # 启用并设置开机自启
初始化网络接口数据:
sudo vnstat -u -i eth0 # eth0替换为实际网卡名
之后可通过vnstat命令查看实时统计,或使用vnstat -d、vnstat -m查看每日和每月流量数据,若安装了vnstat_gui,还能通过Web界面查看可视化图表。
使用iptraf-ng进行综合流量分析
iptraf-ng提供了全面的网络流量分析功能,包括TCP/UDP统计、接口流量、错误包监控等,安装命令:
sudo yum install iptraf-ng
运行sudo iptraf-ng后,选择需要监控的网卡即可进入交互式菜单,其优势在于支持实时过滤和日志记录,适合需要详细网络分析的场景。
使用collectd+RRDtool构建流量监控系统
对于需要长期存储和可视化流量数据的场景,可结合collectd和RRDtool,collectd负责数据采集,RRDtool用于存储和生成图表,安装步骤如下:

sudo yum install collectd rrdtool
编辑/etc/collectd.conf配置文件,启用interface插件并指定网卡,启动服务后,可通过Python脚本或Grafana读取RRDtool生成的数据文件,实现自定义仪表盘。
FAQs
Q1:iftop和nethogs有什么区别?如何选择?
A1:iftop按连接显示流量,适合查看IP之间的实时通信情况;nethogs按进程显示,适合定位具体程序的带宽占用,若需排查异常进程,选择nethogs;若需监控整体连接流量,选择iftop。
Q2:vnStat统计的数据存储在哪里?如何备份?
A2:vnStat数据默认存储在/var/lib/vnstat/目录下的RRD文件中,可通过cp -r /var/lib/vnstat /path/to/backup命令备份,恢复时只需将文件复制回原目录并重启vnStat服务即可。