溫馨提示×

LNMP在Ubuntu上的日志管理怎么做

小樊
45
2025-09-06 12:56:24
欄目: 智能運維

日志管理操作指南

一、日志文件位置

  • Nginx/var/log/nginx/access.log(訪問日志)、error.log(錯誤日志)。
  • MySQL/var/log/mysql/error.log(錯誤日志)、general.log(查詢日志)、slow.log(慢查詢日志)。
  • PHP/var/log/php7.x-fpm.log/var/log/php-fpm/error.log。
  • 系統日志/var/log/syslog、journalctl(Systemd日志)。

二、核心管理工具

  1. Logrotate

    • 安裝sudo apt-get install logrotate。
    • 配置:編輯 /etc/logrotate.d/ 下的自定義配置文件(如 nginx),設置輪轉周期、保留天數、壓縮等參數,例如:
      /var/log/nginx/*.log {
          daily
          rotate 7
          compress
          missingok
          postrotate
              systemctl reload nginx
          endscript
      }
      ```。  
      
    • 測試與啟用sudo logrotate -d /etc/logrotate.d/nginx(測試),sudo systemctl enable logrotate(啟用)。
  2. Rsyslog

    • 安裝sudo apt-get install rsyslog。
    • 配置:編輯 /etc/rsyslog.conf/etc/rsyslog.d/ 下的文件,設置日志輸出格式、過濾規則等。
  3. Systemd Journal

    • 查看日志journalctl -n 100(查看最近100條)、journalctl -u nginx(查看Nginx相關日志)。
    • 過濾日志journalctl --since "2025-01-01" --until "2025-01-31"(按時間過濾)。

三、日志分析方法

  • 命令行工具

    • tail -f /var/log/nginx/access.log:實時查看訪問日志。
    • grep "error" /var/log/mysql/error.log:搜索錯誤日志中的關鍵字。
    • awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c:統計IP訪問頻率。
  • 工具化分析

    • Logwatch:自動生成日志報告,安裝后配置郵件發送(sudo apt-get install logwatch)。
    • ELK Stack:用于大規模日志的收集、存儲和可視化,需部署Elasticsearch、Logstash、Kibana。

四、安全與優化

  • 權限管理:確保日志文件權限為 640,屬主為 root 或對應服務用戶(如 www-data)。
  • 定期清理:通過Logrotate自動刪除過期日志,或手動執行 sudo rm /var/log/nginx/*.log.*。
  • 監控告警:結合Prometheus+Grafana監控日志異常,或使用 tail -f + watch 實時追蹤關鍵日志。

五、參考命令速查表

場景 命令
查看Nginx訪問日志 tail -f /var/log/nginx/access.log
查看MySQL錯誤日志 journalctl -u mysqlcat /var/log/mysql/error.log
統計PHP錯誤次數 `grep “PHP Fatal error” /var/log/php7.x-fpm.log
輪轉Nginx日志 sudo logrotate -f /etc/logrotate.d/nginx

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女