温馨提示×

如何监控CentOS网站的流量

小樊
55
2025-10-07 07:46:37
栏目: 云计算

如何监控CentOS网站的流量

监控CentOS网站的流量需结合实时流量查看历史数据统计进程/连接级分析,以下是具体方法和工具推荐:

1. 实时流量监控工具(查看整体/连接级流量)

实时监控可快速定位流量峰值、异常连接或带宽占用过高的进程,适合排查网站访问慢、流量激增等问题。

iftop:实时带宽使用详情

iftop是类似top的实时流量工具,可显示每个连接的实时带宽(发送/接收)、IP地址及端口,帮助识别占用带宽的客户端或服务。

  • 安装sudo yum install iftop -y
  • 使用sudo iftop -i eth0eth0为网站服务器网卡,可通过ip a命令确认)
  • 关键功能:按带宽排序(默认),按P键显示端口,按N键隐藏IP(仅显示域名)。
nload:简洁的实时流量概览

nload以柱状图+数字形式展示总体入站/出站流量,界面简洁,适合快速查看流量趋势。

  • 安装sudo yum install nload -y
  • 使用sudo nload eth0(支持多网卡切换,按左右箭头)。
nethogs:进程级流量监控

nethogs可显示每个进程的网络带宽占用,帮助定位是哪个应用(如Apache/Nginx、数据库)消耗了大量流量。

  • 安装sudo yum install nethogs -y
  • 使用sudo nethogs eth0(实时刷新,按q退出)。

2. 历史流量统计工具(分析长期趋势)

历史统计数据可用于评估网站流量增长、制定带宽规划或排查长期异常。

vnstat:轻量级历史流量记录

vnstat以数据库形式记录网络接口的流量数据(支持按天、月、年统计),无需实时运行,资源占用低。

  • 安装sudo yum install vnstat -y
  • 初始化sudo vnstat -u -i eth0(启动数据收集)
  • 使用
    • 查看今日流量:vnstat -d -i eth0
    • 查看本月流量:vnstat -m -i eth0
    • 查看历史趋势:vnstat -l -i eth0(实时模式)。
sar:系统级历史流量统计

sar是Linux系统自带的性能监控工具,可记录网络接口的接收/发送数据包、字节数(需提前开启sysstat服务)。

  • 安装sudo yum install sysstat -y
  • 开启服务sudo systemctl enable sysstat && sudo systemctl start sysstat
  • 使用sar -n DEV 1 10(每秒收集1次,共10次,显示各接口的流量统计)。

3. 深度包分析工具(排查具体流量内容)

若需分析流量的具体内容(如请求的URL、协议类型、来源IP),可使用以下工具:

tcpdump:抓取并分析网络包

tcpdump是强大的包分析工具,可捕获指定网卡的流量,并通过过滤条件(如端口、IP)定位网站相关流量。

  • 安装sudo yum install tcpdump -y
  • 使用
    • 抓取80端口(HTTP)流量:sudo tcpdump -i eth0 port 80 -nn
    • 抓取443端口(HTTPS)流量:sudo tcpdump -i eth0 port 443 -nn
    • 保存到文件(后续用Wireshark分析):sudo tcpdump -i eth0 -w website_traffic.pcap

4. Web服务器自带流量统计(针对特定服务)

若网站运行在Apache或Nginx上,可直接使用其自带的模块查看流量:

Apache:mod_status模块
  • 启用:编辑/etc/httpd/conf/httpd.conf,添加ExtendedStatus On<Location /server-status> SetHandler server-status </Location>,重启Apache。
  • 访问:浏览器输入http://服务器IP/server-status,查看请求总数、带宽使用、最耗资源的URL等。
Nginx:ngx_http_stub_status_module模块
  • 启用:编辑/etc/nginx/nginx.conf,添加location /nginx_status { stub_status; },重启Nginx。
  • 访问:浏览器输入http://服务器IP/nginx_status,查看活跃连接数、请求数、接收/发送字节数

注意事项

  • 监控流量前需确认网卡名称(如eth0ens33),可通过ip a命令查看。
  • 实时监控工具(如iftop、nload)需root权限,避免权限不足导致无法查看。
  • 历史统计工具(如vnstat)需提前安装并开启服务,否则无数据记录。
  • 深度包分析(如tcpdump)可能影响服务器性能,建议在非高峰期使用。

以上工具可根据需求组合使用,例如用vnstat查看长期趋势,用iftop排查实时异常,用tcpdump分析具体流量内容。

0