nginx日志解读:如何监控访问量
小樊
51
2025-09-01 13:55:36
监控Nginx访问量可通过以下方式:
-
基础日志分析
- 启用Nginx访问日志(默认路径
/var/log/nginx/access.log),通过awk等命令统计访问量,例如:
awk '{print $4}' access.log | cut -d: -f1 | sort | uniq -c | sort -nr(按日期统计访问量)。 - 使用
wc -l统计日志行数(需注意重复请求可能重复计数)。
-
实时监控工具
- Nginx模块:启用
ngx_http_stub_status_module,通过/nginx_status接口获取实时请求数据(需在配置中添加stub_status on)。 - 第三方工具:
- GoAccess:实时解析日志并生成可视化报告,支持按时间、IP等维度分析。
- Ngxtop:基于Python的实时监控工具,展示请求率、状态码分布等。
-
高级分析方案
- ELK Stack:通过Logstash解析日志,存储至Elasticsearch,使用Kibana进行可视化分析,支持复杂流量趋势和异常检测。
- Prometheus + Grafana:通过Nginx Exporter采集指标,Grafana展示QPS、响应时间等监控图表。
-
注意事项
- 定期清理日志避免占用磁盘空间,可使用
logrotate工具管理日志轮转。 - 生产环境建议结合告警规则(如访问量突增/骤降时触发通知),及时发现异常。