Ubuntu环境中如何监控网站流量
导读:Ubuntu环境下监控网站流量的常用方法 1. 命令行实时流量监控工具 iftop:按主机/端口实时查看带宽使用 iftop是Ubuntu默认仓库中的命令行工具,可实时显示网卡上的主机间带宽使用情况,支持按IP、端口过滤。  安装:sudo...
    
Ubuntu环境下监控网站流量的常用方法
1. 命令行实时流量监控工具
iftop:按主机/端口实时查看带宽使用
iftop是Ubuntu默认仓库中的命令行工具,可实时显示网卡上的主机间带宽使用情况,支持按IP、端口过滤。
- 安装:sudo apt install iftop
- 使用:sudo iftop -i eth0(eth0替换为你的网卡名,如ens33);常用参数:-n(显示IP而非域名)、-P(显示端口)、-F 192.168.1.0/24(限定网段)。
- 效果:终端会显示实时流量图表,包含发送/接收速率、累计流量,按q退出。
nload:分接口可视化流量趋势
nload以直观的柱状图展示每个网卡的实时流量,支持切换接口、查看总量和峰值。
- 安装:sudo apt install nload
- 使用:sudo nload;按左右箭头切换网卡,按q退出。
nethogs:按进程统计带宽占用
nethogs可定位具体进程的网络消耗,解决“哪个程序在占用带宽”的问题。
- 安装:sudo apt install nethogs
- 使用:sudo nethogs eth0(eth0为网卡名);显示内容包括进程名、PID、发送/接收速率,按q退出。
vnStat:轻量级流量记录与统计
vnStat记录历史流量数据,生成每日/每月报表,适合长期监控。
- 安装:sudo apt install vnstat
- 初始化:sudo vnstat -u -i eth0(激活指定网卡监控);需等待1-2天生成有效数据。
- 查看报表:vnstat -d(今日流量)、vnstat -m(本月流量)、vnstat -l(实时流量)。
2. 日志分析工具(针对Web服务器)
GoAccess:Nginx/Apache日志可视化分析
GoAccess可将Web日志转换为HTML报告,展示访问量、热门页面、状态码、客户端分布等信息。
- 安装:sudo apt install goaccess
- 使用:
- 基础分析:goaccess /var/log/nginx/access.log(交互式界面);
- 生成HTML报告:goaccess /var/log/nginx/access.log -o /var/www/html/report.html --log-format=COMBINED(COMBINED为Nginx默认日志格式,需与access_log配置一致);
- 实时更新:添加--real-time-html参数,通过浏览器访问http://your_server_ip/report.html查看实时数据。
 
- 基础分析:
- 注意:需确保Nginx日志格式正确(如log_format COMBINED '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"';)。
Webalizer:传统日志分析工具
Webalizer生成静态HTML报告,适合快速查看访问统计(如访问量、时间分布、来源)。
- 安装:sudo apt install webalizer
- 使用:sudo webalizer /var/log/apache2/access.log.1(分析前一天的Apache日志);报告默认保存在/var/www/html/webalizer/,通过浏览器访问查看。
3. Web服务器内置模块(Apache/Nginx)
Apache mod_status:实时服务器状态
mod_status提供Apache的性能概况(如活动连接、请求速率、CPU使用率),需通过Web界面访问。
- 启用步骤:
- 编辑配置:sudo vim /etc/apache2/mods-enabled/status.conf;
- 修改Require ip指令,允许你的IP访问(如Require ip 192.168.1.100);
- 重启Apache:sudo systemctl restart apache2;
- 访问状态页:http://your_server_ip/server-status(添加?refresh=5可自动刷新)。
 
- 编辑配置:
- 效果:页面显示Apache版本、正常运行时间、活动连接数、请求处理速度等信息。
Nginx状态模块(ngx_http_stub_status_module)
Nginx需手动启用状态模块,查看基本连接信息(如活动连接、请求总数)。
- 启用步骤:
- 编辑配置:sudo vim /etc/nginx/nginx.conf;
- 在server块中添加:location /nginx_status { stub_status; allow 192.168.1.100; # 允许的IP deny all; }
- 重启Nginx:sudo systemctl restart nginx;
- 访问状态页:http://your_server_ip/nginx_status。
 
- 编辑配置:
- 效果:页面显示Active connections(活动连接)、server accepts handled requests(请求总数)等信息。
4. 高级监控方案(可选)
Prometheus + Grafana:可视化监控
适合需要集中监控多台服务器或关联其他指标(如CPU、内存)的场景。
- 组件:Prometheus(时间序列数据库)、Grafana(可视化面板)、Node Exporter(系统指标)、Apache Exporter(Apache指标)、Nginx Exporter(Nginx指标)。
- 步骤:
- 安装Prometheus和Grafana;
- 部署Apache/Nginx Exporter,配置Prometheus抓取指标;
- 在Grafana中导入Apache/Nginx仪表盘(如ID:1860、6677),实现实时流量、请求速率、错误率的可视化。
 
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu环境中如何监控网站流量
本文地址: https://pptw.com/jishu/739747.html
