debian

怎样使用Nginx日志进行监控

小樊
52
2025-09-06 17:30:21
栏目: 编程语言

使用Nginx日志监控可从配置、分析、工具及告警等方面入手,具体如下:

一、基础配置

  1. 确认日志路径与格式
    • 访问日志默认路径:/var/log/nginx/access.log,错误日志:/var/log/nginx/error.log
    • 自定义日志格式(如添加$request_time记录响应时间):在nginx.conf中使用log_format指令。

二、常用分析方法

  1. 命令行基础分析

    • 统计HTTP状态码awk '{print $9}' access.log | sort | uniq -c | sort -nr
    • 分析访问量前10的IPawk '{print $1}' access.log | sort | uniq -c | sort -nr | head -n 10
    • 实时筛选错误日志tail -f error.log | grep "404\|500"
  2. 工具化分析

    • GoAccess:实时可视化分析,支持生成HTML报告,命令:goaccess access.log -o report.html
    • ELK Stack:通过Logstash采集日志,Kibana可视化,适合大规模日志分析。
    • Prometheus+Grafana:结合Nginx Exporter暴露指标,实现动态监控。

三、实时监控与告警

  1. Nginx状态模块

    • 启用stub_status模块,通过http://服务器IP/nginx_status查看实时连接数、请求量等。
    • 配置示例:在nginx.conf中添加location /nginx_status { stub_status on; }
  2. 异常告警

    • 脚本监控:编写脚本检测异常状态码(如404/500超过阈值时发送邮件)。
    • 工具集成:使用Nginx Amplify、Datadog等商业工具设置自动告警。

四、安全与优化

参考来源

0
看了该问题的人还看了