温馨提示×

ubuntu lamp怎样进行日志分析

小樊
49
2025-09-06 12:43:18
栏目: 智能运维

一、日志文件位置

  • 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/slow.log,错误日志 /var/log/mysql/error.log

二、常用命令行工具

  • 基础查看cat(查看全部)、tail -f(实时查看)、head(查看开头)。
  • 过滤搜索grep '关键字'(如 grep '404' access.log)。
  • 文本处理awk(提取字段,如 awk '{print $1}' 统计IP)、sort/uniq(排序去重)。

三、专业分析工具

  • 日志可视化
    • Awstats:生成访问统计报告,含IP分布、页面访问量等。
    • Webalizer:提供图表化分析,适合新手直观查看趋势。
  • 实时分析
    • ELK Stack(Elasticsearch+Logstash+Kibana):适合大规模日志的实时检索与可视化。
    • Graylog:支持日志聚合、告警,界面友好。
  • 数据库专用
    • mysqldumpslow:分析MySQL慢查询日志,汇总执行时间、频率等。
    • pt-query-digest(Percona工具):深度分析慢查询,生成优化建议。

四、日志轮转与管理

  • 自动切分:用 logrotate 工具定期压缩旧日志,避免磁盘占满。
    • 配置示例(Apache):
      sudo nano /etc/logrotate.d/apache2 # 内容示例:每日切分,保留52份 /var/log/apache2/*.log { daily rotate 52 compress missingok } 

五、安全与最佳实践

  • 权限控制:限制日志文件访问权限(如 chmod 640),防止敏感信息泄露。
  • 定期备份:将重要日志备份到远程服务器或云存储。
  • 实时监控:结合 tail -f 或工具(如Zabbix)监控异常日志(如频繁错误请求)。

0