Linux服务器网络流量监控终极指南:8种专业方法详解
作为Linux系统管理员,实时监控网络流量是必备技能。本文将深入探讨8种专业级监控方法,从基础命令到高级工具,助您全面掌握服务器网络状况。
一、基础命令行工具
1. iftop - 实时流量监控利器
sudo apt install iftop # Debian/Ubuntu
sudo yum install iftop # CentOS/RHEL
sudo iftop -n -i eth0
iftop以直观的ASCII界面显示实时流量,按带宽使用量排序连接。参数说明:
- -n:禁用主机名解析
- -i:指定监控网卡
- -P:显示端口号
2. nload - 简洁的流量仪表盘
安装与使用:
sudo apt install nload
nload -u M eth0
特点:
- 分上下行显示实时速率
- -u参数指定单位(K/M/G)
- 支持多网卡同时监控
二、高级监控方案
3. vnStat - 轻量级流量统计
配置步骤:
sudo apt install vnstat
sudo vnstat -u -i eth0
vnstat -l # 实时监控
vnstat -d # 每日统计
| 参数 | 功能 |
|---|---|
| -q | 简洁模式输出 |
| -tr | 流量预警功能 |
4. NetHogs - 进程级监控
特别适合排查异常进程:
sudo nethogs eth0 -d 5
每5秒刷新一次,按进程显示流量占用。
三、企业级解决方案
5. Cacti + RRDtool
安装配置流程:
- 安装LAMP环境
- 配置SNMP服务
- 导入流量监控模板
6. Zabbix监控方案
优势比较:
- 支持分布式监控
- 自定义报警阈值
- 历史数据存储分析
四、实战技巧
7. 流量分析脚本示例
#!/bin/bash
INTERVAL=5
IFACE=eth0
while true; do
RX1=$(cat /sys/class/net/$IFACE/statistics/rx_bytes)
TX1=$(cat /sys/class/net/$IFACE/statistics/tx_bytes)
sleep $INTERVAL
RX2=$(cat /sys/class/net/$IFACE/statistics/rx_bytes)
TX2=$(cat /sys/class/net/$IFACE/statistics/tx_bytes)
RX=$(( ($RX2 - $RX1) / $INTERVAL ))
TX=$(( ($TX2 - $TX1) / $INTERVAL ))
echo "RX: $(($RX/1024)) KB/s | TX: $(($TX/1024)) KB/s"
done
8. 常见问题排查
Q:如何确认DDoS攻击?
A:结合iftop查看异常IP,配合conntrack统计连接数。
Q:带宽跑满如何定位?
A:使用nethogs定位进程,lsof查看相关文件。
总结建议
根据使用场景选择工具:
- 快速诊断:iftop + nethogs
- 长期统计:vnStat + Cacti
- 企业环境:Zabbix全链路监控
