ubuntu lamp服务器如何进行日志分析

一、日志文件位置

  • 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等敏感数据。

参考来源: