温馨提示×

centos lnmp日志分析方法

小樊
43
2025-09-06 00:02:04
栏目: 智能运维

一、日志文件位置

  • Nginx:访问日志 /var/log/nginx/access.log,错误日志 /var/log/nginx/error.log
  • PHP-FPM:错误日志 /var/log/php-fpm/error.log
  • MySQL:慢查询日志 /var/log/mysql/slow.log(需先在配置文件中开启)。
  • 系统日志/var/log/messages/var/log/syslog

二、常用分析命令

  • 基础查看catlesstail -f(实时查看)。
  • 关键词搜索grep 'error' /var/log/nginx/error.log
  • 统计分析
    • 统计访问量最多的IP:awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -10
    • 分析HTTP状态码分布:awk '{print $9}' /var/log/nginx/access.log | sort | uniq -c | sort -nr
  • JSON日志解析:若启用JSON格式,用jq工具提取字段,如jq -r '.status' /var/log/nginx/access.log

三、工具分析

  • GoAccess:实时可视化分析,生成HTML报告,支持Nginx日志。
    yum install -y goaccess
    goaccess /var/log/nginx/access.log --log-format=COMBINED -o report.html
    
  • ELK Stack:适合大规模日志管理,包含Elasticsearch(存储)、Logstash(采集)、Kibana(可视化)。
  • pt-query-digest:分析MySQL慢查询日志,定位低效SQL。

四、最佳实践

  • 日志轮转:通过logrotate定期压缩旧日志,避免占用磁盘空间。
  • 权限管理:确保日志文件权限正确,敏感日志限制访问。
  • 关键监控:对500错误、慢查询(响应时间>1秒)、异常IP(如频繁访问)重点关注。

0