一、日志文件位置
- Apache:访问日志
/var/log/apache2/access.log,错误日志/var/log/apache2/error.log。 - Nginx:访问日志
/var/log/nginx/access.log,错误日志/var/log/nginx/error.log。 - MySQL:错误日志
/var/log/mysql/error.log,慢查询日志/var/log/mysql/slow.log。 - 系统日志:
/var/log/syslog或/var/log/messages。
二、常用命令
- 查看日志:
cat(查看全部)、tail -f(实时查看末尾)、head(查看开头)。 - 过滤内容:
grep '关键字' 日志文件,如grep 'error' /var/log/syslog。 - 文本处理:
awk提取字段、sed替换文本。 - 排序去重:
sort排序,uniq -c统计唯一行数。
三、日志分析工具
- ELK Stack:适用于大规模日志分析,包含Elasticsearch(存储)、Logstash(采集处理)、Kibana(可视化)。
- Graylog:提供集中式日志管理、搜索和仪表盘。
- Logrotate:自动轮转日志,避免文件过大。
- Logwatch:生成日志摘要报告,支持邮件发送。
四、分析技巧
- 实时监控:用
tail -f跟踪关键日志(如Apache错误日志)。 - 关键词搜索:通过
grep定位错误(如Failed password)。 - 趋势分析:用
sort/uniq统计错误频率,或通过ELK生成可视化图表。
五、最佳实践
- 权限管理:限制日志文件访问权限(如
chmod 640)。 - 定期清理:通过
logrotate设置日志保留天数或大小。 - 敏感信息处理:分析时避免泄露密码、IP等敏感数据。
参考来源: