溫馨提示×

Ubuntu下MongoDB怎樣監控

小樊
42
2025-09-19 07:03:34
欄目: 云計算

Ubuntu下MongoDB監控方法

一、原生命令行工具監控

  1. 查看服務運行狀態
    使用systemctl命令檢查MongoDB服務是否處于運行狀態,輸出中的“Active: active (running)”表示服務正常:

    sudo systemctl status mongodb
    
  2. 查看服務器狀態詳情
    通過mongo shell執行serverStatus()命令,獲取內存使用、連接數、鎖等待、復制集狀態等全面信息(需替換為實際數據庫名或省略數據庫名連接默認實例):

    mongo --eval 'db.runCommand({ serverStatus: 1 })'
    
  3. 實時性能指標監控

    • mongostat:實時展示數據庫操作的QPS(查詢/插入/更新/刪除)、響應時間、網絡流量、內存使用等統計信息,每秒刷新一次:
      mongostat
      
    • mongotop:按集合維度顯示讀寫時間分布,幫助定位高負載集合(如某集合頻繁寫入導致性能瓶頸):
      mongotop
      
  4. 當前操作查看
    使用currentOp()命令查看正在執行的操作(如慢查詢、長時間運行的更新),可配合過濾條件(如secs_running大于10秒的操作)快速定位問題:

    db.currentOp({ "secs_running": { "$gt": 10 } })
    

二、圖形化工具監控

  1. MongoDB Compass
    官方圖形化管理工具,提供直觀的儀表板展示性能指標(如CPU、內存、磁盤使用率)、集合索引情況、查詢性能分析(支持explain()可視化)。安裝步驟:
    • 訪問MongoDB官網下載Ubuntu版本安裝包;
    • 解壓后運行./bin/compass啟動應用;
    • 輸入連接字符串(如mongodb://localhost:27017)即可連接監控。

三、第三方監控工具

  1. Prometheus + Grafana

    • Prometheus:開源時間序列數據庫,通過mongodb_exporter(MongoDB官方導出器)采集性能指標(如mongodb_memory_usage_bytes、mongodb_operations_inserts_total);
    • Grafana:可視化工具,配置Prometheus為數據源,導入MongoDB預置儀表板(如“MongoDB Overview”),實現性能趨勢圖、告警規則(如內存使用超過80%觸發郵件報警)的可視化。
  2. Percona Monitoring and Management (PMM)
    開源監控解決方案,支持MongoDB、MySQL等多種數據庫。功能包括:

    • 實時性能監控(查詢性能、鎖等待、復制延遲);
    • 歷史數據查詢與分析;
    • 告警配置(通過Alertmanager發送通知);
    • 安裝方式:通過Docker或APT部署PMM服務器,添加MongoDB節點即可開始監控。
  3. MongoDB Atlas(托管服務)
    若使用MongoDB Atlas托管數據庫,可直接使用其內置監控功能:

    • 自動采集性能指標(如查詢延遲、索引使用率、連接數);
    • 提供預置儀表板和告警規則;
    • 支持與CloudWatch、PagerDuty等工具集成。

四、日志分析與診斷

  1. 查看MongoDB日志
    默認日志路徑為/var/log/mongodb/mongod.log,使用tail命令實時查看最新日志(如錯誤、警告信息):

    sudo tail -f /var/log/mongodb/mongod.log
    

    日志中常見關鍵信息包括:復制集同步錯誤、磁盤空間不足警告、查詢超時記錄。

  2. 慢查詢日志分析
    /etc/mongod.conf中開啟慢查詢日志(設置閾值,如超過100毫秒的查詢),通過日志定位低效查詢:

    operationProfiling:
      mode: slowOp
      slowOpThresholdMs: 100
    

    重啟MongoDB服務使配置生效:

    sudo systemctl restart mongodb
    

    日志路徑為/var/log/mongodb/mongod.log,可通過grep過濾慢查詢記錄:

    grep "slow query" /var/log/mongodb/mongod.log
    

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