溫馨提示×

MongoDB 在 Debian 上的日志管理技巧

小樊
48
2025-09-11 10:48:34
欄目: 云計算

一、配置日志路徑與級別

  • 修改配置文件:編輯 /etc/mongod.conf,設置 systemLog.path(如 /var/log/mongodb/mongod.log)、logAppend(追加模式)、verbosity(日志級別,0-5,0為默認)。
  • 動態調整級別:通過 mongo shell 執行 db.setLogLevel(<level>, <component>),如 db.setLogLevel(1, "query") 控制查詢組件日志詳細程度。

二、日志輪轉管理

  • 使用 logrotate
    • 安裝工具:sudo apt-get install logrotate。
    • 創建配置文件 /etc/logrotate.d/mongodb,示例內容:
      /var/log/mongodb/mongod.log {
          daily
          rotate 7
          compress
          missingok
          notifempty
          create 640 mongodb mongodb
          postrotate
              kill -SIGUSR1 `cat /var/run/mongodb.pid`
          endscript
      }
      
      rotate 7 保留7天日志,compress 壓縮舊日志,postrotate 通知 MongoDB 重新打開日志文件)。

三、日志查看與分析

  • 基礎查看:用 cat、tail -f、less 命令查看日志文件,如 tail -f /var/log/mongodb/mongod.log。
  • 結構化分析
    • 使用 jq 工具解析 JSON 格式日志:cat /var/log/mongodb/mongod.log | jq .。
    • 借助 ELK Stack(Elasticsearch+Logstash+Kibana)或 Grafana 進行可視化分析。

四、安全與自動化

  • 權限管理:通過 chownchmod 限制日志文件訪問權限,如 sudo chown mongodb:mongodb /var/log/mongodb/mongod.log,chmod 640。
  • 自動化歸檔:編寫腳本定期將日志移動到歸檔目錄并清理舊文件,例如每月歸檔一次。

五、監控與故障排查

  • 實時監控:使用 logwatch 或 Prometheus+Grafana 監控日志文件變化及異常。
  • 故障定位:通過日志中的錯誤代碼(如 E11000 重復鍵錯誤)、慢查詢記錄(slowOpThresholdMs 參數)分析問題。

參考來源

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