温馨提示×

Ubuntu LNMP服务器如何进行日志分析

小樊
38
2025-08-13 10:23:28
栏目: 云计算

一、日志文件位置

  • Nginx/var/log/nginx/access.log(访问日志)、error.log(错误日志)。
  • MySQL/var/log/mysql/error.log(错误日志)、慢查询日志需在配置文件中指定。
  • PHP/var/log/php-fpm.log/var/log/php7.x-fpm.log(错误日志)。
  • 系统/var/log/syslogauth.log

二、常用命令行工具

  • 基础查看catlesstail -f(实时查看)。
  • 搜索过滤grep '关键字'(支持正则表达式)。
  • 统计分析sort(排序)、uniq -c(去重统计)、awk(提取字段)。
    • 示例:统计访问路径 /api/payments 的前 10 个 IP 地址:
      grep '/api/payments' /var/log/nginx/access.log | cut -d ' ' -f 1 | sort | uniq -c | sort -rn | head -10
      ```。
      
      

三、日志分析工具

  • 轻量级工具
    • Logwatch:生成系统日志报告。
    • Logalyze:支持日志过滤、统计和可视化。
  • 高级工具
    • ELK Stack(Elasticsearch + Logstash + Kibana):适合大规模日志的收集、分析和可视化。
    • GoAccess:实时 Web 日志分析,支持交互式查看。

四、日志管理最佳实践

  • 轮转压缩:用 logrotate 定期清理旧日志,避免占用磁盘空间。
  • 设置日志级别:在 Nginx、PHP 配置中调整 error_log 级别,减少冗余信息。
  • 安全审计:定期检查异常访问(如未授权请求)、错误日志中的 SQL 注入等安全威胁。

五、示例场景

  • 定位 500 错误tail -f /var/log/nginx/error.log | grep '500'
  • 分析用户访问来源:从访问日志中提取 Referer 字段,统计来源域名。

通过以上方法,可快速定位问题、优化性能并保障服务器安全。

0