監視 MongoDB

在安裝 Instana 代理程式之後,會自動部署並安裝 MongoDB 感應器。

支援的作業系統

MongoDB 感應器支援的作業系統與主機代理程式需求一致,您可以在每一個主機代理程式的「支援的作業系統」區段中檢查這些需求,例如 Unix 支援的作業系統

支援的版本

Instana 支援下列版本的 MongoDB 及 MongoDB Atlas:

  • MongoDB 3.2.x
  • MongoDB 3.4.x
  • MongoDB 3.6.x
  • MongoDB 4.0.x
  • MongoDB 和 MongoDB Atlas 4.2.x
  • MongoDB 和 MongoDB Atlas 4.4.x
  • MongoDB 和 MongoDB Atlas 5.0.x
  • MongoDB 和 MongoDB Atlas 6.0.x
  • MongoDB Rapid release 5.1.x for Atlas
  • MongoDB Rapid release 5.2.x for Atlas
  • MongoDB Rapid release 5.3.x for Atlas
  • MongoDB 適用於 Atlas 的快速版本 6.3.x

這包括支援度量值收集、配置資料收集及手動追蹤。

配置

MongoDB 已停用鑑別

不需要任何動作。 監視已停用鑑別的 MongoDB 會自動進行,而不會在 configuration.yaml 檔案中提供任何配置。

MongoDB 已啟用鑑別

若要監視 MongoDB,您需要建立具有下列最低角色的使用者:

  • read -在 admin 資料庫上
  • clusterMonitoer -在 admin 資料庫上
  • read -在 local 資料庫上

在 mongo Shell 中,為 admin 資料庫中的 Instana 代理程式建立使用者:

  1. admin 使用者身分進行鑑別:
    use admin
    db.auth("admin", "YOUR_MONGODB_ADMIN_PASSWORD")
    
  2. 若為 MongoDB 3.x 以及更新版本,請執行 createUser 指令:
    db.createUser({
      "user":"stan",
      "pwd": "UNIQUEPASSWORD",
      "roles" : [
        {role: 'read', db: 'admin' },
        {role: 'clusterMonitor', db: 'admin'},
        {role: 'read', db: 'local' }
      ]
    })
    

附註

  • 如果您使用 MongoDB Atlas ,則只能透過 MongoDB Atlas 管理主控台來建立使用者 (具有所有指派的角色)。

    建立使用者之後,您可以在代理程式配置檔中配置它:

    com.instana.plugin.mongodb:
      user: 'stan'
      source: 'admin'
      password: 'UNIQUEPASSWORD'
    
  • source 是指使用者定義的資料庫或鑑別來源。 如需詳細資料,請參閱 MongoDB 文件

MongoDB Atlas 支援

Instana 代理程式支援遠端監視位於不同專案及組織中的 MongoDB Atlas 叢集。 若要讓 Instana 代理程式能夠監視您的 MongoDB Atlas 組織,必須在 <agent_install_dir>/etc/instana/configuration.yaml這裡配置它:

com.instana.plugin.mongodb:
  user: 'stan'
  source: 'admin'
  password: 'UNIQUEPASSWORD'
  atlas:
    - publicKey: 'your public key'
      privateKey: 'your private key'
    - publicKey: 'your public key'
      privateKey: 'your private key'

附註

  • 需要在 MongoDB Atlas 組織層次上定義由公開和私密金鑰組成的 API 金鑰。 必要的組織許可權下限為 Organization Read Only
  • 如果您使用 MongoDB Atlas ,則只有透過 MongoDB Atlas 管理主控台才能建立具有所有已指派角色的使用者。

SSL/TLS 支援

若要讓 Instana 代理程式安全連接至 MongoDB 伺服器,需要在這裡配置 <agent_install_dir>/etc/instana/configuration.yaml:

com.instana.plugin.mongodb:
  ...
  sslTrustStore: '/path/to/truststore.jks'
  sslTrustStorePassword: 'mongoTsPassword'
  sslKeyStore: '/path/to/sslKeyStoreFile.jks'
  sslKeyStorePassword: 'mongoKsPassword'

若要啟用 SSL/TLS 支援特性,金鑰必須採用 Java 金鑰儲存庫 格式 (JKS)。 keytool 可用來建立這些金鑰。

附註

此特性可讓 Instana 代理程式使用 SSL/TLS 連接至 MongoDB 伺服器。 連接之後,將使用認證 (使用者/密碼) 來存取 auth-database。

度量值集合

若要檢視度量值,請在「Instana 使用者」介面的資訊看板中選取 基礎架構 ,按一下特定的受監視主機,然後您可以看到包含所有已收集度量值及受監視處理程序的主機儀表板。

配置資料

  • 版本
  • 儲存體引擎
  • 資料庫

效能度量

資料庫活動

度量 說明
讀取 已讀取的文件數
已插入 插入的文件數
已上傳 已上傳的文件數
已刪除 已刪除的文件數

Opcounters

度量 說明
更新 前次啟動 Mongod 實例之後收到的更新作業總數。
插入 前次啟動 Mongod 實例之後接收到的插入作業總數。
查詢 前次啟動 Mongod 實例之後收到的查詢總數。
刪除 前次啟動 Mongod 實例之後的刪除作業總數。
getMore 前次啟動 Mongod 實例之後的 getMore 作業總數。

記憶體

度量 說明
虛擬 這包括整個 MongoDB 處理程序的虛擬記憶體。 如果您已開啟日誌登載,這通常會是對映記憶體大小的兩倍。
已對映 這是 MongoDB 進度用來將資料庫對映至記憶體的虛擬記憶體數量。 這通常是資料庫的大小。

用戶端

度量 說明
連線 連接至 MongoDB 伺服器的現行作用中用戶端數。
ActiveClients 撰寫者 執行寫入作業的作用中用戶端連線數。
ActiveClients 讀取器 執行讀取作業的作用中用戶端連線數目。

資料庫 (每個資料庫)

度量 說明
資料庫大小 資料庫大小

抄本集 (如果存在的話)

度量 說明
套用作業 內部套用作業數
套用批次 內部套用批次數
套用批次總數 (毫秒) 套用批次的持續時間 (毫秒)
緩衝區計數 緩衝區數目
緩衝區大小 緩衝區大小
網路作業數 網路作業數
網路位元組數 網路作業的大小
預載文件 預載文件作業數
預載文件總數 (毫秒) 預載文件的持續時間 (毫秒)
預載 Idx 預載 idx 作業數
預載 Idx 總計 (毫秒) 預載 idx 的持續時間 (毫秒)
抄寫延遲 主要及其副本到次要副本的寫入作業之間的延遲 (毫秒)

Atlas 叢集 (如果存在的話)

度量 說明
讀取 已讀取的文件數
已插入 插入的文件數
已上傳 已上傳的文件數
已刪除 已刪除的文件數
連線 目前連接的用戶端數目
網路作業數 網路作業數
網路位元組數 網路作業的大小

性能簽章

每一個感應器都有一個精選的性能簽章知識庫,可以根據送入的度量對性能簽章進行持續評估,並根據使用者影響來觸發問題或發生事件。

內建事件 會根據實體上的性能簽章失敗來觸發問題或突發事件,而 自訂事件 會根據任何給定實體的個別度量值臨界值來觸發問題或突發事件。

如需 MongoDB 感應器之已建置事件的相關資訊,請參閱 內建事件參照