找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 27681|回复: 0

Nginx访问日志、错误日志监控分析搭建

[复制链接]

1

主题

0

回帖

5

积分

新手上路

积分
5
发表于 2026-8-12 21:02:56 | 显示全部楼层 |阅读模式
Nginx访问日志与错误日志监控分析搭建指南

一、日志监控分析的重要性

Nginx的访问日志和错误日志是了解服务器运行状态、排查问题、优化性能的重要数据来源。通过搭建监控分析系统,可以:

  • 实时监控网站流量和访问模式
  • 及时发现并定位错误和异常
  • 分析用户行为,优化网站性能
  • 预防安全攻击和异常访问


二、日志文件位置

默认情况下,Nginx日志文件位于:

  • 访问日志:
    1. /var/log/nginx/access.log
    复制代码
  • 错误日志:
    1. /var/log/nginx/error.log
    复制代码


可以通过Nginx配置文件(
  1. nginx.conf
复制代码
)中的以下指令修改路径:
  1. access_log /path/to/access.log;
  2. error_log /path/to/error.log;
复制代码

三、基础日志分析方法

1. 实时查看日志
  1. # 实时查看访问日志
  2. tail -f /var/log/nginx/access.log
  3. # 实时查看错误日志
  4. tail -f /var/log/nginx/error.log
复制代码

2. 基本统计
  1. # 统计今日访问量
  2. grep "$(date +%d/%b/%Y)" /var/log/nginx/access.log | wc -l
  3. # 统计HTTP状态码分布
  4. awk '{print $9}' /var/log/nginx/access.log | sort | uniq -c | sort -rn
复制代码

四、进阶监控分析方案

方案1:ELK Stack (Elasticsearch, Logstash, Kibana)

  • 安装ELK组件
  • 安装Elasticsearch、Logstash、Kibana
  • 安装Filebeat(用于日志收集)
  • 配置Filebeat

  
  1. filebeat.inputs:
  2.    - type: log
  3.      enabled: true
  4.      paths:
  5.        - /var/log/nginx/access.log
  6.        - /var/log/nginx/error.log
  7.      fields:
  8.        log_type: nginx
复制代码

  • 配置Logstash

   创建Nginx日志处理管道配置文件,解析日志格式

  • Kibana可视化
  • 创建仪表板展示访问量、响应时间、状态码分布等
  • 设置异常检测和告警


方案2:Prometheus + Grafana

  • 使用nginx-log-exporter
  • 部署nginx-log-exporter将日志转换为Prometheus指标
  • 配置Prometheus
  • 添加nginx-log-exporter作为抓取目标
  • Grafana可视化
  • 导入Nginx仪表板模板
  • 自定义监控面板


方案3:第三方SaaS服务

  • 使用Loggly、Sumo Logic、Datadog等云日志服务
  • 通常提供更简单的配置和更丰富的分析功能


五、日志分析关键指标

访问日志分析

  • 请求量(PV/UV)
  • 响应时间分布
  • HTTP状态码分布(2xx, 3xx, 4xx, 5xx)
  • 热门URL和页面
  • 客户端信息(IP、浏览器、操作系统)
  • 引用来源


错误日志分析

  • 错误类型统计
  • 错误发生时间分布
  • 频繁出现错误的URL
  • 客户端IP分布


六、自动化告警设置

  • 设置阈值告警
  • 5xx错误率超过1%
  • 响应时间超过预设阈值
  • 特定URL出现大量4xx错误
  • 异常检测
  • 流量突增/突降
  • 异常地理区域的访问
  • 异常用户代理


七、日志轮转与清理

为防止日志文件过大,应配置日志轮转:

  • 使用logrotate工具
  • 示例配置(
    1. /etc/logrotate.d/nginx
    复制代码
    ):

  
  1. /var/log/nginx/*.log {
  2.        daily
  3.        missingok
  4.        rotate 14
  5.        compress
  6.        delaycompress
  7.        notifempty
  8.        create 0640 www-data adm
  9.        sharedscripts
  10.        postrotate
  11.            invoke-rc.d nginx rotate >/dev/null 2>&1
  12.        endscript
  13.    }
复制代码

八、安全注意事项

  • 限制日志文件的访问权限
  • 避免在日志中记录敏感信息(如密码、信用卡号)
  • 定期清理旧日志
  • 监控异常访问模式,防止日志注入攻击


通过以上方案,您可以建立一套完整的Nginx日志监控分析系统,有效提升网站的可观测性和问题排查效率。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|五云论坛 ( 黔ICP备2022001370号-1|贵公网安备52032102000798号 )

GMT+8, 2026-9-12 17:18 , Processed in 0.064934 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表