问题排查之nginx请求日志
需求
昨天系统下午2点半到三点半,出现系统宕机接口都无法请求。页面响应极其慢
分析
- 后端服务运行良好,cpu利用率和内存都很足够
- 查看阿里云分析说明:带宽暂满
- 后面发现一个接口频繁调用并且这个接口调用了大量线程(需优化)
如何定位那个上传接口暂满了带宽 (第一时间想到nginx日志)
好处:
- 故障排查:通过错误日志可以快速定位服务器问题,分析错误原因
- 访问分析:记录用户访问信息,用于流量统计和行为分析
- 安全审计:追踪可疑访问,识别潜在的安全威胁
- 性能监控:分析请求处理时间,优化服务器性能
- 合规要求:满足某些行业对日志记录的合规性要求
- 自定义格式:可以根据需求自定义日志格式,记录特定信息
- 调试开发:开发阶段可以通过详细日志调试应用程序
开启Nginx日志功能
找到Nginx配置文件(通常位于 /etc/nginx/nginx.conf 或 /usr/local/nginx/conf/nginx.conf )
在http或server块中添加或修改以下日志配置:
http {# ... existing code ...# 访问日志配置access_log /var/log/nginx/access.log;# 错误日志配置error_log /var/log/nginx/error.log;# 可以设置日志级别# error_log /var/log/nginx/error.log warn;# ... existing code ...
}
保存文件后,测试配置并重启Nginx:
nginx -t # 测试配置是否正确
nginx -s reload # 重新加载配置
注意:
- 确保日志目录存在且有写入权限
- 日志级别可以是:debug, info, notice, warn, error, crit, alert, emerg
- 可以为不同server配置不同的日志路径