MongoDB 外掛程式

MongoDB 是一種開放原始碼 NoSQL 文件資料庫系統。MongoDB 外掛程式可讓您監控執行個體上資料庫的運作情況。

探索

就算您未設定 MongoDB 外掛程式,Stackdriver Monitoring 也會透過以下方式來探索您 Google Cloud Platform 專案中執行的 MongoDB 服務:

  • 搜尋執行個體名稱 mongodb
  • 檢查透過防火牆規則向 270172701827019 開啟的連接埠

探索到的服務會顯示在 MongoDB「Services」頁面的「Resources」選單中。在執行個體上安裝監控代理程式與 MongoDB 外掛程式後,Monitoring 會在 MongoDB「Services」頁面中填入庫存與指標。

設定讓 Monitoring 監控 MongoDB

安裝監控代理程式後,請在執行個體上設定 MongoDB 外掛程式。

必備條件

針對具備存取權角色 (設定為在「auth」模式下執行) 的 MongoDB 資料庫,您必須在管理資料庫上設定具有 clusterMonitor 角色的使用者。在 mongodb.conf 檔案中,這個使用者與密碼分別是 STATS_USERSTATS_PASS

在「noauth」模式下,凡是能連線至 MongoDB 伺服器的程式,都可以在該伺服器上執行任意查詢與指令。因此,「noauth」模式一般會被認為比較不安全。當您的資料庫在「noauth」模式下執行時,外掛程式設定檔中不需要任何憑證。

啟用 MongoDB 監控外掛程式

如果您要監控多個 MongoDB 伺服器 (一個主要伺服器以及一或多個次要伺服器) 的叢集,Monitoring 代理程式應安裝在叢集中的每個節點上。

  1. 在您的 VM 執行個體上,從 GitHub 設定存放區下載 mongodb.conf,並放到 /opt/stackdriver/collectd/etc/collectd.d/ 目錄中:

    cd /opt/stackdriver/collectd/etc/collectd.d/ && sudo curl -O https://raw.githubusercontent.com/Stackdriver/stackdriver-agent-service-configs/master/etc/collectd.d/mongodb.conf
    
  2. 如要透過 root 權限在「驗證」模式中執行 MongoDB,請編輯設定檔,並將 STATS_USERSTATS_PASS 換成正確的使用者名稱和密碼。

  3. 視需要進行連接埠主機等其他變更設定。

  4. 完成後請重新啟動監控代理程式:

    sudo service stackdriver-agent restart
    

    您可以在 collectd.org 取得有關外掛程式設定選項的其他資訊。

監控的內容

MongoDB 外掛程式會監控下列指標:

  • 目前連線數 (計數):有效的 MongoDB 連線數。
  • 全域鎖定保持時間 (毫秒):保持全域鎖定的時間長度。
  • 對應的記憶體量 (位元組):MongoDB 使用的對應記憶體量。由於使用記憶體對應檔案的關係,這大約與您資料庫的總大小相等。
  • 虛擬記憶體量 (位元組):MongoDB 使用的虛擬記憶體量。如果虛擬記憶體大小明顯大於對應記憶體大小 (例如 3 倍或以上),這可能表示發生記憶體洩漏的情形。
  • 常駐記憶體量 (位元組):MongoDB 使用的常註記憶體量。這是資料庫實際使用的 RAM 數量。
  • 作業數 [command, delete, getmore, insert, query, update] (計數/秒):每秒執行的 [command, delete, getmore, insert, query, update] 作業數。
  • 資料庫 [Collection, Index, Object, Extents] 計數 (計數):目前在資料庫中的 [collections, indices, objects, extents] 數。
  • 資料庫資料大小 (位元組):目前在資料庫中的資料大小。
  • 資料庫儲存空間大小 (位元組):目前分配給資料庫的儲存空間大小。
  • 資料庫索引大小 (位元組):資料庫的索引大小。

詳情請參閱代理程式指標清單:MongoDB 一文。

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Stackdriver Monitoring
需要協助嗎?請前往我們的支援網頁