配置 MongoDB 監視
Monitoring Agent for MongoDB 需要實例名稱。 您必須手動配置及啟動代理程式實例。 MongoDB 代理程式同時支援本端及遠端監視。 請參閱配置 MongoDB 代理程式同時進行遠端和本端監視的下列必要條件。
開始之前
- 檢查軟硬體必備項目。 如需最新的系統需求資訊,請參閱 e MongoDB 代理程式 的軟體產品相容性報告 (SPCR)。
- 請確定配置 MongoDB 代理程式 的使用者具有必要的角色,以收集所有屬性的資料。
- 若要在 MongoDB 資料庫 2.4 和 2.6 版上配置代理程式,則必須向使用者指派 clusterAdmin、readAnyDatabase 和 dbAdminAnyDatabase 角色
- 若要在 MongoDB 資料庫 3.x 和 4.x 版上配置代理程式,則必須向使用者指派 clusterMonitor、readAnyDatabase 和 dbAdminAnyDatabase 角色
- 使用現有使用者或在管理資料庫中新建一個使用者。 重要: 在建立使用者並向使用者授與必要的角色之前,必須連接至 MongoDB 資料庫,並將資料庫變更為管理資料庫。 如果正以鑑別模式執行 mongod 或 mongos 處理程序,請輸入必要認證,以連接至 MongoDB 資料庫。
- 執行下列指令以連接至 MongoDB 資料庫:
mongo IP:port
其中- IP 是 mongod 或 mongos 處理程序的 IP 位址
- port 是 mongod 或 mongos 處理程序的埠號
- 將資料庫變更為管理資料庫:
use admin
- 執行下列其中一個指令來於 MongoDB 管理資料庫中新增使用者,並向該使用者指派所需的角色:
- 對於 MongoDB 資料庫 2.4 版,執行下列指令:
db.addUser({ user:username
, pwd:password
, roles: [ 'clusterAdmin', 'readAnyDatabase', 'dbAdminAnyDatabase' ] }) - 對於 MongoDB 資料庫 2.6 版,執行下列指令:
db.createUser({user:username
, pwd:password
, roles: [ 'clusterAdmin', 'readAnyDatabase', 'dbAdminAnyDatabase' ] }) - 對於 MongoDB 資料庫 3.x 和 4.xx 版,執行下列指令:
db.createUser({user:username
, pwd:password
, roles: [ 'clusterMonitor', 'readAnyDatabase', 'dbAdminAnyDatabase' ] })
- 對於 MongoDB 資料庫 2.4 版,執行下列指令:
- 執行下列指令來驗證使用者已新增至管理資料庫:
db.auth(username
,password
)回覆碼 1 指示新增了使用者,而回覆碼 0 指示新增使用者失敗。
- 執行下列指令以連接至 MongoDB 資料庫:
下表包含使用者角色以及這些使用者角色所需屬性的相關資訊:
| 角色 | MongoDB 資料庫版本 | 屬性群組 |
|---|---|---|
| dbAdminAnyDatabase | 2.x、3.x 和 4.x | 回應時間 |
| readAnyDatabase | 2.x、3.x 和 4.x |
|
| clusterAdmin | 2.x、3.x 和 4.x |
|
| clusterMonitor | 2.x、3.x 和 4.x |
|
- 若要遠端監視 MongoDB 伺服器,請參閱兩個必要條件
- 由於 MongoDB 代理程式需要使用 mongo Shell 從遠端收集 MongoDB 伺服器的資訊,因此安裝及配置 MongoDB 代理程式的系統上必須具有 MongoDB 伺服器的實例。代理程式機器上的 MongoDB 伺服器的 mongo Shell 用來連接至遠端 MongoDB 伺服器,以進行監視。
- 在管理代理程式之系統的 /etc/hosts 檔中,存在遠端機器的項目。
關於這項作業
受管理系統名稱包括所指定的實例名稱。 例如,您可以將實例名稱指定為
instance_name:host_name:pc,其中
pc 是代理程式的 2 個字元的產品型號。 受管理系統名稱最多可以包含 32 個字元。 實例名稱最多可以包含 28 個字元減去主機名稱長度。 例如,如果您指定 Mongo2 作為實例名稱,則您的受管理系統名稱為 Mongo2:hostname:KJ。重要: 如果您指定長實例名稱,則受管理系統名稱會遭到截斷,因此代理程式碼無法完全顯示。
通常,產品版本與代理程式版本不同。 這裡的指示適用於此代理程式的最新版次。 如需如何檢查您環境中的代理程式版本的相關資訊,請參閱 代理程式版本指令。 如需代理程式版本清單以及每一個版本的新增功能的詳細資訊,請參閱變更歷程。
記住:
- 若要使代理程式順利收集資料,請使用 super (root) 使用者身分來啟動代理程式,或使用相同的使用者 ID 來啟動代理程式及 mongod 處理程序。
- 在 MongoDB 作為叢集執行的環境中,確保在執行路由器處理程序的相同電腦上安裝代理程式。 在相同電腦上使用該電腦的 IP 位址及埠號配置代理程式,並將 TYPE 設定為 1。
- 在 MongoDB 以鑑別模式作為叢集執行的環境中,確保新增相同的使用者 ID,其含有叢集中所有 Shard 的必要權限。
您可透過使用預設值,透過編輯無聲自動回應檔,或透過回應提示,來配置代理程式。