阅读量:2
一、日志基础配置
- 日志路径
- 访问日志:
/var/log/nginx/access.log - 错误日志:
/var/log/nginx/error.log
- 访问日志:
- 日志格式
- 默认格式包含IP、时间、请求方法、状态码等字段,可通过
log_format自定义(如添加request_time记录响应时间)。
- 默认格式包含IP、时间、请求方法、状态码等字段,可通过
二、常用分析命令
| 场景 | 命令示例 | 说明 |
|---|---|---|
| 统计访问IP | `awk ‘{print $1}’ access.log | sort |
| 分析请求URL | `awk ‘{print $7}’ access.log | sort |
| 状态码分布 | `awk ‘{print $9}’ access.log | sort |
| 慢请求排查 | awk '$10 > 5 {print $7, $10}' access.log |
筛选响应时间超过5秒的请求(需日志包含request_time字段) |
| 实时监控 | `tail -f access.log | grep “404”` |
三、工具辅助分析
- 命令行工具
grep:快速筛选特定关键词(如IP、错误码)。awk:灵活提取字段并统计(如按时间、状态码分组)。sed:用于日志格式转换或批量替换。
- 专业工具
- GoAccess:实时生成HTML报告,支持按时间、IP、URL等多维度分析。
yum install -y goaccess goaccess access.log --log-format=COMBINED -o report.html - ELK Stack:适合大规模日志的存储、检索和可视化,需部署Elasticsearch+Logstash+Kibana。
- GoAccess:实时生成HTML报告,支持按时间、IP、URL等多维度分析。
四、日志管理技巧
- 日志轮转
- 使用
logrotate按天/周分割日志,避免单个文件过大:# 编辑配置文件 /etc/logrotate.d/nginx /var/log/nginx/*.log { daily rotate 7 compress missingok create 0640 nginx nginx postrotate kill -USR1 $(cat /var/run/nginx.pid) endscript }
- 使用
- 安全分析
- 检测恶意IP:通过
awk统计异常IP的访问频率,结合防火墙拦截。 - 识别攻击行为:搜索
error.log中的“SQL注入”“暴力破解”等关键词,或通过fail2ban自动封禁。
- 检测恶意IP:通过
五、注意事项
- 确保日志文件权限正确(通常属主为
nginx用户):chown -R nginx:nginx /var/log/nginx/ - 生产环境中建议启用日志压缩(
compress)和定期清理,节省磁盘空间。
参考来源:
以上就是关于“centos nginx日志分析指南”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm