在当今数字化环境中,网络流量监控已成为系统管理员和运维工程师的必备技能。基于CentOS 7.x系统搭建CATI网络流量监控系统,能够实时掌握服务器网络状态,及时发现异常流量,为网络优化和安全防护提供数据支持。
CATI(Computer Assisted Telephone Interviewing)系统通常用于电话调查领域,但其网络监控原理同样适用于各类服务器环境。通过部署这套系统,我们可以获得包括带宽使用率、连接数统计、协议分布等关键指标,帮助管理员做出更精准的运维决策。
在开始部署前,我们需要确保CentOS 7.x系统满足基本要求:
code复制# 更新系统软件包
sudo yum update -y
# 安装基础开发工具
sudo yum groupinstall "Development Tools" -y
# 安装必要依赖
sudo yum install epel-release -y
sudo yum install libpcap-devel libxml2-devel libssh2-devel openssl-devel -y
注意:建议使用最小化安装的CentOS系统,避免已有服务占用网络端口。如果系统已安装其他网络服务,需提前检查端口冲突情况。
确定用于监控的网络接口:
code复制ip addr show
记录下需要监控的网卡名称(如eth0、ens33等)。如果服务器有多个网卡,建议选择连接核心交换机的那个接口进行监控。
Ntopng是CATI系统的核心组件,提供实时流量分析功能:
code复制# 添加Ntopng仓库
sudo rpm -ivh https://packages.ntop.org/centos-stable/ntop.repo
# 安装Ntopng
sudo yum install pfring-dkms ntopng -y
安装完成后,编辑配置文件/etc/ntopng/ntopng.conf:
code复制--interface=eth0
--local-networks=192.168.1.0/24
--http-port=3000
--data-dir=/var/lib/ntopng
安装InfluxDB用于存储历史流量数据:
code复制wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.10.x86_64.rpm
sudo yum localinstall influxdb-1.8.10.x86_64.rpm -y
sudo systemctl start influxdb
sudo systemctl enable influxdb
创建专用数据库:
code复制influx
> CREATE DATABASE ntopng
> CREATE USER ntopng WITH PASSWORD 'yourpassword' WITH ALL PRIVILEGES
安装Grafana用于数据展示:
code复制sudo yum install https://dl.grafana.com/oss/release/grafana-8.5.5-1.x86_64.rpm -y
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
访问http://服务器IP:3000完成Grafana初始配置,添加InfluxDB数据源。
修改Ntopng配置,启用InfluxDB导出:
code复制--influxdb=127.0.0.1:8086
--influxdb-db=ntopng
--influxdb-user=ntopng
--influxdb-password=yourpassword
对于高流量环境,需要优化PF_RING配置:
code复制sudo vi /etc/modprobe.d/pfring.conf
options pfring transparent_mode=2 enable_tx_capture=0 min_num_slots=32768
调整内核参数:
code复制sudo sysctl -w net.core.rmem_max=16777216
sudo sysctl -w net.core.wmem_max=16777216
创建系统服务管理脚本:
code复制sudo systemctl enable ntopng
sudo systemctl start ntopng
设置开机自启:
code复制sudo systemctl enable grafana-server
sudo systemctl enable influxdb
从Grafana官网下载Ntopng官方仪表板模板(ID: 10553),导入到Grafana中。配置完成后,你将获得包含以下视图的监控面板:
在Grafana中配置关键告警:
ntopng-dump工具定期备份流量数据pfcount命令实时查看网卡包统计nDPI协议识别库分析应用层流量如果系统负载过高,可以:
top命令查看资源占用情况iftop确认实际流量是否超出预期--sampling-rate参数)当发现监控数据与实际不符时:
排查步骤:
code复制journalctl -u ntopng -f # 查看服务日志
netstat -tulnp | grep 3000 # 检查端口占用
ntopng --help # 测试命令行启动
code复制--admin-password=yourpassword
code复制sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="3000" accept'
code复制influxd backup -portable -database ntopng /path/to/backup
code复制sudo chmod 600 /etc/ntopng/ntopng.conf
建议额外部署对监控系统本身的监控:
这套CATI网络流量监控系统在实际生产环境中已经稳定运行超过两年,期间帮助我们发现了多次网络异常和潜在安全问题。特别是在一次挖矿病毒爆发的场景中,通过异常外联流量及时定位到了感染主机。建议每季度进行一次完整的流量分析报告生成,长期跟踪网络使用趋势。