本文介紹ApsaraDB for MongoDB執行個體監控、節點監控、進階監控和效能趨勢功能支援的監控項、監控指標及其具體含義。
為了更好地展示效果,部分控制台上的Bytes單位會自動為您折算成MB、GB或TB單位。
執行個體監控
不同類型執行個體支援的監控項請以控制台為準。
監控項 | key | 指標名 | 指標含義 | 單位 | 詳細說明 | 支援的執行個體類型 |
磁碟空間使用率 | DiskUsage | disk_usage | 磁碟使用率 | % | 執行個體的磁碟使用空間占磁碟總容量的比例,表示執行個體的磁碟負載。當您的磁碟使用率達到80%以上時,可在控制台執行個體詳情頁面變更執行個體配置或參考MongoDB執行個體空間使用率高問題進行處理。 |
|
網路流量 | MongoDB_Network | bytes_in | 網路進口流量 | Bytes | - | |
bytes_out | 網路出口流量 | Bytes | - | |||
num_requests | 處理的請求數 | 個 | - | |||
操作QPS | MongoDB_Opcounters | insert | 插入操作QPS | 個 | MongoDB_Opcounters 參數包含執行個體收到的所有操作,不論操作是否成功執行。其中,Bulk.insert()類型的大量操作被記錄為單條操作,更細粒度的記錄可關注MongoDB_Documents 指標, | |
query | 查詢操作QPS | 個 | ||||
update | 更新操作QPS | 個 | ||||
delete | 刪除操作QPS | 個 | ||||
getmore | 讀取操作QPS | 個 | ||||
command | 協議命令操作QPS | 個 | ||||
串連數 | MongoDB_TotalConns | connections_active | 當前活躍串連數 | 個 | 串連到server端的當前進行中操作的用戶端串連數量。 | |
current_conn | 當前串連數 | 個 | 串連到server端的所有用戶端的串連數量,包含複本集內部其他節點建立的串連或mongos與shard上建立的串連。 | |||
connections_totalCreated_ps | 每秒建立串連的總數 | 個 | - |
| ||
connections_available | 當前可用的串連數 | 個 | - | |||
串連數使用率 | ConnectionUsage | conn_usage | 串連數使用率 | % |
| |
CPU使用率 | CpuUsage | cpu_usage | CPU使用率 | % | 系統CPU使用率與使用者CPU使用率之和,表示執行個體的業務負載。CPU使用率過高會導致資料讀寫處理異常緩慢,影響正常業務,您可參考MongoDB執行個體CPU使用率高問題排查解決。 | |
MongoDB_CpuDetail | cpu_sys | 系統CPU使用率 | % | - | ||
cpu_user | 使用者CPU使用率 | % | - | |||
記憶體使用量率 | MemoryUsage | mem_usage | 記憶體使用量率 | % | 記憶體主要被Wiredtiger儲存引擎和用戶端串連及請求處理佔用。可參考MongoDB執行個體記憶體使用量率高問題查看記憶體使用量率高的原因和最佳化策略。 | |
IOPS使用量 | MongoDB_IOPS | iops | IOPS使用量 | 次/秒 |
| |
IOPS使用率 | IOPSUsage | iops_usage | IOPS使用率 | % | 執行個體的IOPS使用量與當前規格最大IOPS的比值,表示執行個體的業務負載。如果MongoDB執行個體的IOPS使⽤率達到或接近100%,會導致業務響應緩慢,甚⾄業務不可⽤。MongoDB執行個體IOPS使用率高問題介紹了查看MongoDB執行個體IOPS使用率的方法,以及導致IOPS使用率高的原因和最佳化策略。 說明 4.2版本複本集雲端硬碟版執行個體以及4.2版本分區叢集雲端硬碟版執行個體暫不支援查看IOPS使用量和IOPS使用率。 | |
磁碟空間使用量 | MongoDB_DetailedSpaceUsage | ins_size | 磁碟使用空間 | Bytes |
| |
data_size | 資料盤使用空間 | Bytes | 資料磁碟使用空間(不包括local庫),主要包括collection開頭的資料物理⽂件,索引開頭的索引物理⽂件和部分中繼資料物理⽂件,例如WiredTiger.wt。 | |||
log_size | 日誌盤使用空間 | Bytes | local庫的物理大小。 | |||
操作詳情 | MongoDB_OperationDetails | operation_exactIDCount_ps | 針對特定ID進行計數操作的次數 | 個 | 針對資料分布在多個shard上的已分區集合,使用_id而非shardkey進行單個更新操作的次數。 在現有版本中,會導致遍曆執行個體中所有chunks,當chunks數量較多時,可能會導致cpu打滿,影響執行個體效能。 | |
operation_scanAndOrder_ps | 未用索引的排序運算元 | 個 | 無法使用索引執行排序操作的已排序查詢的次數,數量較大時,可能會導致執行個體效能下降,可根據業務查詢條件參考ApsaraDB for MongoDB建立索引最佳實務處理。 | |||
operation_writeConflicts_ps | 發生寫衝突的次數 | 個 | 遭遇寫衝突的查詢次數。少量的寫衝突一般不會產生很大影響,但是如果存在大量的寫衝突,則可能導致資料庫效能下降。 | |||
MBPS | MongoDB_Disk_Detail | read_io_bandwidth_mbps | 磁碟讀取的輸送量 | MB/秒 | - | |
write_io_bandwidth_mbps | 磁碟寫入的輸送量 | MB/秒 | - | |||
io_bandwidth_mbps | 磁碟總輸送量 | MB/秒 | 磁碟讀取輸送量與磁碟寫入輸送量之和。 | |||
事務運算元 | MongoDB_Transactions | trans_totalPrepared_ps | 已準備好的事務數 | 個 | - |
|
trans_totalPreparedThenCommited_ps | 已準備好的事務中成功提交的事務數 | 個 | - | |||
trans_totalPreparedThenAborted_ps | 已準備好的事務中成功復原的事務數 | 個 | - | |||
trans_totalStarted_ps | 已啟動的事務數 | 個 | - |
| ||
trans_totalCommited_ps | 成功提交的事務數 | 個 | - | |||
trans_totalAborted_ps | 成功復原的事務數 | 個 | - | |||
Cursors | MongoDB_AllCursors | total_open | 當前開啟的Cursor數量 | 個 | - | |
timed_out | 因逾時關閉的Cursor數量 | 個 | 如果該值比較大,需要對用戶端處理資料的業務代碼進行檢查。 | |||
job_cursors_closed | 因關閉會話關閉的Cursor數量 | 個 | - | |||
pinned_open | 當前開啟且正在被使用的Cursor數量 | 個 | 例如,find 或 getMore 操作會固定遊標,以防止其在擷取下一批結果時被刪除,並在返回結果後取消固定遊標。 | |||
noTimeout_open | 當前開啟且未逾時的Cursor數量 | 個 | 使用noCursorTimeout選項的開啟且未逾時的遊標數量,此選項用於防止遊標在一段時間不活動後逾時,但noCursorTimeout配置受限於會話的逾時時間,詳情參見文檔。 |
| ||
WiredTiger | MongoDB_Wt_Cache | bytes_read_into_cache | 讀入緩衝的位元組數 | Bytes | 磁碟讀取到wiredTiger緩衝中的資料位元組數。 | |
bytes_written_from_cache | 從緩衝寫出的位元組數 | Bytes | 從wiredTiger緩衝中寫入到磁碟的資料位元組數。 | |||
maximum_bytes_configured | 最大緩衝大小 | Bytes | wiredTiger配置的緩衝最大位元組數,考慮到相容性和安全性,ApsaraDB for MongoDB將儲存引擎WiredTiger的CacheSize設定為實際申請的執行個體記憶體規格大小的60%左右,詳情參考MongoDB執行個體記憶體使用量率高問題。 | |||
WT並發事務數 | MongoDB_Wt_Concurrent_Trans | write_concurrent_trans_out | 當前寫並發事務數 | 個 | 7.0版本之前,執行個體的讀寫並發事務數的限制為128,可用性參數長時間為0可能表示過載;從7.0版本開始,MongoDB 使用預設演算法動態調整儲存引擎並發事務的最大數量,以最佳化過載期間的資料庫輸送量,可用性參數長時間為 0並不一定表示過載。詳情參考文檔。 | |
write_concurrent_trans_available | 可用的寫並發事務數 | 個 | ||||
read_concurrent_trans_out | 當前讀並發事務數 | 個 | ||||
read_concurrent_trans_available | 可用的讀並發事務數 | 個 | ||||
WiredTigerUsage | MongoDB_WTCacheUsage | wt_cache_dirty_usage | WiredTiger髒緩衝使用率 | % | ||
wt_cache_usage | WiredTiger緩衝使用率 | % | ||||
平均回應時間 | MongoDB_RT | avg_rt | 總平均回應時間 | 微秒 | - | |
reads_avg_rt | 讀操作平均回應時間 | 微秒 | - | |||
writes_avg_rt | 寫操作平均回應時間 | 微秒 | - | |||
commands_avg_rt | 命令操作平均回應時間 | 微秒 | - | |||
trans_avg_rt | 事務操作平均回應時間 | 微秒 | - | |||
影響文檔數量 | MongoDB_Documents | document_deleted_ps | 刪除的文檔數量 | 個 | - | |
document_inserted_ps | 插入的文檔數量 | 個 | - | |||
document_returned_ps | 返回的文檔數量 | 個 | - | |||
document_updated_ps | 更新的文檔數量 | 個 | - | |||
GlobalLock | MongoDB_GlobalLocks | gl_ac_readers | 執行讀操作的活躍用戶端串連數 | 個 | - | |
gl_ac_writers | 執行寫操作的活躍用戶端串連數 | 個 | - | |||
gl_cq_writers | 排隊等待寫鎖的運算元 | 個 | - | |||
gl_cq_readers | 排隊等待讀鎖的運算元 | 個 | - | |||
gl_cq_total | 排隊等待鎖定的操作總數 | 個 | 排隊等待寫鎖的運算元與排隊等待讀鎖的運算元之和。數值較大時表示用戶端操作可能受到延遲,可能會影響應用的回應時間。 | |||
查詢掃描索引與文檔數量 | MongoDB_QueryExecutors | queryExecutor_scannedObject_ps | 查詢掃描文檔的數量 | 個 | 在執行查詢和查詢計劃評估過程中被掃描的文檔的總數量。與 | |
queryExecutor_scanned_ps | 查詢掃描索引的數量 | 個 | 在執行查詢和查詢計劃評估過程中被掃描的索引項目的總數量。與 | |||
TTL | MongoDB_TTLs | ttl_deletedDocuments_ps | 因TTL索引而刪除的文檔數量 | 個 | 該值較大時,表明有較多文檔在刪除,可能會影響執行個體效能。詳情請參考文檔。 | |
ttl_passes_ps | 後台TTL線程進行刪除的次數 | 個 | TTL 後台進程執行檢查到期文檔的總次數。每次執行檢查時,TTL 監視器會嘗試從所有 TTL 索引中刪除儘可能多的候選文檔。 | |||
Repl Opcounters | MongoDB_ReplOpcounters | repl_command | 複製集中Command命令的運算元 | 個 | 在複製過程中,MongoDB 會將操作序列化,這可能會影響各操作的計數,因此MongoDB_ReplOpcounters 與MongoDB_Opcounters兩個計數器的值可能會有所不同。詳細說明可參考Opcounters指標和Repl Opcounters指標。 | |
repl_delete | 複製集中Delete命令的運算元 | 個 | ||||
repl_getmore | 複製集中Getmore命令的運算元 | 個 | ||||
repl_insert | 複製集中Insert命令的運算元 | 個 | ||||
repl_query | 複製集中Query命令的運算元 | 個 | ||||
repl_update | 複製集中Update命令的運算元 | 個 | ||||
Eviction掃描數 | MongoDB_WtCacheHPCheckEntriesWalked | wiredTiger_cache_hazardPointerCheckEntriesWalked | Eviction時掃描hazard pointer array的內容的數量 | 個 | Eviction時因hazard pointers阻塞的頁面驅逐數。 | |
Lock Acquisitions | MongoDB_WtLockAcquisitions | wt_checkPoint_lock | 檢查點鎖擷取次數 | 個 | - | |
wt_dhandle_read_lock | 資料控制代碼讀鎖擷取次數 | 個 | 執行個體庫表數過多時,用戶端請求可能會需要長時間等待 handle lock,影響執行個體效能,詳情參考庫表數太多導致執行個體卡頓或異常。 | |||
wt_dhandle_write_lock | 資料控制代碼寫鎖擷取次數 | 個 | ||||
wt_metadata_lock | 中繼資料鎖擷取次數 | 個 | ||||
wt_schema_lock | 模式鎖擷取次數 | 個 | 頻繁刪除和建立庫表或索引等業務行為、庫表數量過多等業務現狀都會導致更高的 schemaLock開銷,影響執行個體效能,詳情參考庫表數太多導致執行個體卡頓或異常。 | |||
wt_table_read_lock | 表讀鎖擷取次數 | 個 | - | |||
wt_table_write_lock | 表寫鎖擷取次數 | 個 | - | |||
wt_txn_global_read_lock | 事務全域讀鎖擷取次數 | 個 | - | |||
wt_txn_global_write_lock | 事務全域寫鎖擷取次數 | 個 | - | |||
MBPS使用率 | MongoDB_MbpsUsage | total_mbps_usage | 磁碟讀寫頻寬使用率 | % | 執行個體的磁碟總輸送量與執行個體最大MBPS的比值,表示執行個體的業務負載。如果MongoDB執行個體的MBPS使⽤率達到或接近100%,會導致業務響應緩慢,甚⾄業務不可⽤。關於雲端硬碟MBPS的詳細介紹,請參考執行個體規格。 說明 僅支援雲端硬碟版執行個體。 |
|
主備延時 | MongoDB_Repl_Lag | repl_lag | 主備節點的資料同步延時 | 秒 |
|
|
Oplog保留時間長度 | MongoDB_OplogTimeInterval | oplog_time_interval | Oplog保留時間長度 | 小時 | 4.4及以上版本,可在執行個體詳情頁調整storage.oplogMinRetentionHours參數進行修改。 | |
moveChunk | MongoDB_MoveChunks | moveChunk_donor_started_ps | 當前節點作為範圍遷移源的次數 | 個 | 無論遷移是否成功,該值都會增加。 |
|
moveChunk_recip_stared_ps | 當前節點作為範圍遷移目標的次數 | 個 | ||||
每次訪問個數 | - | sl_qps | 每秒訪問次數 | 個 | - |
|
查詢執行器資訊 | MongoDB_QueryExecutors | collscans_nontailable | 非tailable cursor的全表掃描數量 | 個 | - |
|
collscans_total | 總的全表掃描數量 | 個 | - | |||
庫表數量資訊 | MongoDB_CollectionNums | admin_user_coll | admin庫下的使用者表數量 | 個 | - |
|
斷言數量 | MongoDB_Asserts | regular | 正常層級 | 個 | 正常執行的斷言數量。 |
|
warning | 警告層級 | 個 | 警告層級的斷言的數量,始終返回0。 | |||
msg | 訊息層級 | 個 | 訊息層級的斷言的數量。 | |||
user | 使用者層級 | 個 | 使用者層級的斷言的數量。 | |||
資料控制代碼數 | MongoDB_DataHandle | opened_fd_num | 活躍的控制代碼數 | 個 | WiredTiger 緩衝中當前活躍的串連資料控制代碼的數量。 |
|
closed_fd_num | 關閉的控制代碼數 | 個 | WiredTiger 緩衝中掃描關閉的串連資料控制代碼的數量。 | |||
opened_fd_mem | 活躍控制代碼佔用記憶體 | MB | WiredTiger 緩衝中當前活躍的串連資料控制代碼佔用記憶體。 | |||
操作延遲 | MongoDB_Latencys | reads_latency_ps | 讀取操作成功請求的延遲 | us | 讀取操作處理的所有成功請求的延遲。 |
|
writes_latency_ps | 寫入操作成功請求延遲 | us | 寫入操作處理的所有成功請求的延遲,單位為us。 | |||
commands_latency_ps | 命令操作成功請求延遲 | us | 命令操作處理的所有成功請求的延遲,單位為us。 | |||
trans_latency_ps | 事務操作成功請求延遲 | us | 事務操作處理的所有成功請求的延遲,單位為us。 | |||
TCMalloc記憶體片段率 | MongoDB_TcmallocCacheMemRatio | tcmalloc_cache_mem_ratio | TCMalloc記憶體片段率 | % | - |
|
寫關注平均耗時 | MongoDB_GetLastErrorWtime | metrics_getLastError_avg_wtime | 寫關注操作平均耗時 | ms | 執行寫關注操作花費的平均時間。 |
|
metrics_getLastError_wtimeouts | 寫關注操作逾時次數 | 次 | 寫關注操作超過wtimeout閾值的次數。 |
| ||
複製緩衝區大小 | MongoDB_Repl_Buffer | repl_buffer_size | 複製緩衝區當前大小 | MB | 複本集中的複製緩衝區的當前大小。 |
|
repl_buffer_max_size | 複製緩衝區最大大小 | MB | 複本集中的複製緩衝區的最大大小。 | |||
WiredTiger快取頁面面驅逐數 | MongoDB_WtCacheEviction | pages_selected_count | 強制驅逐的頁面數 | 個 | - |
|
pages_selected_unable_to_evict_count | 無法被強制驅逐的頁面數 | 個 | - | |||
hazard_pointer_blocked_page_eviction | 因hazard pointers阻塞的頁面驅逐數 | 個 | - | |||
max_page_size | 頁面驅逐過程中見到的最大頁面大小 | MB | - | |||
pages_evicted_by_application_threads | 被使用者線程驅逐的 WiredTiger 緩衝中的頁面數量 | 個 | - | |||
moveChunk | MongoDB_MoveChunks | moveChunk_deleter_task | 準備運行與正在啟動並執行chunk範圍刪除任務數 | 個 | - | 分區叢集 |
LockAcquisitions | MongoDB_WtLockAcquisitions | wt_checkPoint_lock | WiredTiger 緩衝中檢查點鎖的擷取數量 | 個 | - |
|
wt_dhandle_read_lock | WiredTiger 緩衝中資料控制代碼讀取鎖的擷取數量 | 個 | - | |||
wt_dhandle_write_lock | WiredTiger 緩衝中資料控制代碼寫入鎖的擷取數量 | 個 | - | |||
wt_metadata_lock | WiredTiger 緩衝中中繼資料鎖的擷取數量 | 個 | - | |||
wt_schema_lock | WiredTiger 緩衝中模式鎖的擷取數量 | 個 | - | |||
wt_table_read_lock | WiredTiger 緩衝中表讀取鎖的擷取數量 | 個 | - | |||
wt_table_write_lock | WiredTiger 緩衝中表寫入鎖的擷取數量 | 個 | - | |||
wt_txn_global_read_lock | WiredTiger 緩衝中全域讀取鎖的擷取數量 | 個 | - | |||
wt_txn_global_write_lock | WiredTiger 緩衝中全域寫入鎖的擷取數量 | 個 | - | |||
線程讓渡 | MongoDB_WtCache_Thread_Yield | page_acquire_eviction_blocked | 等待頁面驅逐而被阻塞的次數 | 次 | - |
|
page_acquire_locked_blocked | 目標頁面被鎖定而等待的次數 | 次 | - | |||
page_acquire_time_sleeping | 擷取頁面時線程睡眠狀態總時間長度 | us | - | |||
WiredTigerUsage | MongoDB_WTCacheUsage | wt_cache_updates_usage | WiredTiger更新緩衝使用率 | % | 為更新操作分配的記憶體位元組數相對於緩衝最大位元組數的比例。 |
|
經典多計劃器執行統計 | MongoDB_MultiPlanner_Worker | metrics_query_multiplanner_classicworks | 工作總數 | 個 | 經典多計劃器中執行的工作總數。 |
|
邏輯會話緩衝資訊 | MongoDB_LogicalSession | active_sessions_count | 緩衝中邏輯會話數 | 個 | 自上次重新整理後緩衝中所有邏輯會話(logical sessions)的總數。 |
|
節點監控(原基本監控)
不同類型執行個體支援的監控項請以控制台為準。
監控項 | key | 指標名 | 指標含義 | 單位 | 詳細說明 | 支援的執行個體類型 |
磁碟空間使用率 | DiskUsage | disk_usage | 磁碟使用率 | % | 執行個體的磁碟使用空間占磁碟總容量的比例,表示執行個體的磁碟負載。當您的磁碟使用率達到80%以上時,可在控制台執行個體詳情頁面變更執行個體配置或參考MongoDB執行個體空間使用率高問題進行處理。 |
|
網路流量 | MongoDB_Network | bytes_in | 網路進口流量 | Bytes | - | |
bytes_out | 網路出口流量 | Bytes | - | |||
num_requests | 處理的請求數 | 個 | - | |||
操作QPS | MongoDB_Opcounters | insert | 插入操作QPS | 個 | MongoDB_Opcounters 參數包含執行個體收到的所有操作,不論操作是否成功執行。其中,Bulk.insert()類型的大量操作被記錄為單條操作,更細粒度的記錄可關注MongoDB_Documents 指標, | |
query | 查詢操作QPS | 個 | ||||
update | 更新操作QPS | 個 | ||||
delete | 刪除操作QPS | 個 | ||||
getmore | 讀取操作QPS | 個 | ||||
command | 協議命令操作QPS | 個 | ||||
串連數 | MongoDB_TotalConns | connections_active | 當前活躍串連數 | 個 | 串連到server端的當前進行中操作的用戶端串連數量。 | |
current_conn | 當前串連數 | 個 | 串連到server端的所有用戶端的串連數量,包含複本集內部其他節點建立的串連或mongos與shard上建立的串連。 | |||
connections_totalCreated_ps | 每秒建立串連的總數 | 個 | - |
| ||
connections_available | 當前可用的串連數 | 個 | - | |||
串連數使用率 | ConnectionUsage | conn_usage | 串連數使用率 | % |
| |
CPU使用率 | CpuUsage | cpu_usage | CPU使用率 | % | 系統CPU使用率與使用者CPU使用率之和,表示執行個體的業務負載。CPU使用率過高會導致資料讀寫處理異常緩慢,影響正常業務,您可參考MongoDB執行個體CPU使用率高問題排查解決。 | |
MongoDB_CpuDetail | cpu_sys | 系統CPU使用率 | % | - | ||
cpu_user | 使用者CPU使用率 | % | - | |||
記憶體使用量率 | MemoryUsage | mem_usage | 記憶體使用量率 | % | 記憶體主要被Wiredtiger儲存引擎和用戶端串連及請求處理佔用。可參考MongoDB執行個體記憶體使用量率高問題查看記憶體使用量率高的原因和最佳化策略。 | |
IOPS使用量 | MongoDB_IOPS | iops | IOPS使用量 | 次/秒 |
| |
IOPS使用率 | IOPSUsage | iops_usage | IOPS使用率 | % | 執行個體的IOPS使用量與當前規格最大IOPS的比值,表示執行個體的業務負載。如果MongoDB執行個體的IOPS使⽤率達到或接近100%,會導致業務響應緩慢,甚⾄業務不可⽤。MongoDB執行個體IOPS使用率高問題介紹了查看MongoDB執行個體IOPS使用率的方法,以及導致IOPS使用率高的原因和最佳化策略。 說明 4.2版本複本集雲端硬碟版執行個體以及4.2版本分區叢集雲端硬碟版執行個體暫不支援查看IOPS使用量和IOPS使用率。 | |
磁碟空間使用量 | MongoDB_DetailedSpaceUsage | ins_size | 磁碟使用空間 | Bytes |
| |
data_size | 資料盤使用空間 | Bytes | 資料磁碟使用空間(不包括local庫),主要包括collection開頭的資料物理⽂件,索引開頭的索引物理⽂件和部分中繼資料物理⽂件,例如WiredTiger.wt。 | |||
log_size | 日誌盤使用空間 | Bytes | local庫的物理大小。 | |||
操作詳情 | MongoDB_OperationDetails | operation_exactIDCount_ps | 針對特定ID進行計數操作的次數 | 個 | 針對資料分布在多個shard上的已分區集合,使用_id而非shardkey進行單個更新操作的次數。 在現有版本中,會導致遍曆執行個體中所有chunks,當chunks數量較多時,可能會導致cpu打滿,影響執行個體效能。 | |
operation_scanAndOrder_ps | 未用索引的排序運算元 | 個 | 無法使用索引執行排序操作的已排序查詢的次數,數量較大時,可能會導致執行個體效能下降,可根據業務查詢條件參考ApsaraDB for MongoDB建立索引最佳實務處理。 | |||
operation_writeConflicts_ps | 發生寫衝突的次數 | 個 | 遭遇寫衝突的查詢次數。少量的寫衝突一般不會產生很大影響,但是如果存在大量的寫衝突,則可能導致資料庫效能下降。 | |||
MBPS | MongoDB_Disk_Detail | read_io_bandwidth_mbps | 磁碟讀取的輸送量 | MB/秒 | - | |
write_io_bandwidth_mbps | 磁碟寫入的輸送量 | MB/秒 | - | |||
io_bandwidth_mbps | 磁碟總輸送量 | MB/秒 | 磁碟讀取輸送量與磁碟寫入輸送量之和。 | |||
事務運算元 | MongoDB_Transactions | trans_totalPrepared_ps | 已準備好的事務數 | 個 | - |
|
trans_totalPreparedThenCommited_ps | 已準備好的事務中成功提交的事務數 | 個 | - | |||
trans_totalPreparedThenAborted_ps | 已準備好的事務中成功復原的事務數 | 個 | - | |||
trans_totalStarted_ps | 已啟動的事務數 | 個 | - |
| ||
trans_totalCommited_ps | 成功提交的事務數 | 個 | - | |||
trans_totalAborted_ps | 成功復原的事務數 | 個 | - | |||
Cursors | MongoDB_AllCursors | total_open | 當前開啟的Cursor數量 | 個 | - | |
timed_out | 因逾時關閉的Cursor數量 | 個 | 如果該值比較大,需要對用戶端處理資料的業務代碼進行檢查。 | |||
job_cursors_closed | 因關閉會話關閉的Cursor數量 | 個 | - | |||
pinned_open | 當前開啟且正在被使用的Cursor數量 | 個 | 例如,find 或 getMore 操作會固定遊標,以防止其在擷取下一批結果時被刪除,並在返回結果後取消固定遊標。 | |||
noTimeout_open | 當前開啟且未逾時的Cursor數量 | 個 | 使用noCursorTimeout選項的開啟且未逾時的遊標數量,此選項用於防止遊標在一段時間不活動後逾時,但noCursorTimeout配置受限於會話的逾時時間,詳情參見文檔。 |
| ||
WiredTiger | MongoDB_Wt_Cache | bytes_read_into_cache | 讀入緩衝的位元組數 | Bytes | 磁碟讀取到wiredTiger緩衝中的資料位元組數。 | |
bytes_written_from_cache | 從緩衝寫出的位元組數 | Bytes | 從wiredTiger緩衝中寫入到磁碟的資料位元組數。 | |||
maximum_bytes_configured | 最大緩衝大小 | Bytes | wiredTiger配置的緩衝最大位元組數,考慮到相容性和安全性,ApsaraDB for MongoDB將儲存引擎WiredTiger的CacheSize設定為實際申請的執行個體記憶體規格大小的60%左右,詳情參考MongoDB執行個體記憶體使用量率高問題。 | |||
WT並發事務數 | MongoDB_Wt_Concurrent_Trans | write_concurrent_trans_out | 當前寫並發事務數 | 個 | 7.0版本之前,執行個體的讀寫並發事務數的限制為128,可用性參數長時間為0可能表示過載;從7.0版本開始,MongoDB 使用預設演算法動態調整儲存引擎並發事務的最大數量,以最佳化過載期間的資料庫輸送量,可用性參數長時間為 0並不一定表示過載。詳情參考文檔。 | |
write_concurrent_trans_available | 可用的寫並發事務數 | 個 | ||||
read_concurrent_trans_out | 當前讀並發事務數 | 個 | ||||
read_concurrent_trans_available | 可用的讀並發事務數 | 個 | ||||
WiredTigerUsage | MongoDB_WTCacheUsage | wt_cache_dirty_usage | WiredTiger髒緩衝使用率 | % | ||
wt_cache_usage | WiredTiger緩衝使用率 | % | ||||
平均回應時間 | MongoDB_RT | avg_rt | 總平均回應時間 | 微秒 | - | |
reads_avg_rt | 讀操作平均回應時間 | 微秒 | - | |||
writes_avg_rt | 寫操作平均回應時間 | 微秒 | - | |||
commands_avg_rt | 命令操作平均回應時間 | 微秒 | - | |||
trans_avg_rt | 事務操作平均回應時間 | 微秒 | - | |||
影響文檔數量 | MongoDB_Documents | document_deleted_ps | 刪除的文檔數量 | 個 | - | |
document_inserted_ps | 插入的文檔數量 | 個 | - | |||
document_returned_ps | 返回的文檔數量 | 個 | - | |||
document_updated_ps | 更新的文檔數量 | 個 | - | |||
GlobalLock | MongoDB_GlobalLocks | gl_ac_readers | 執行讀操作的活躍用戶端串連數 | 個 | - | |
gl_ac_writers | 執行寫操作的活躍用戶端串連數 | 個 | - | |||
gl_cq_writers | 排隊等待寫鎖的運算元 | 個 | - | |||
gl_cq_readers | 排隊等待讀鎖的運算元 | 個 | - | |||
gl_cq_total | 排隊等待鎖定的操作總數 | 個 | 排隊等待寫鎖的運算元與排隊等待讀鎖的運算元之和。數值較大時表示用戶端操作可能受到延遲,可能會影響應用的回應時間。 | |||
查詢掃描索引與文檔數量 | MongoDB_QueryExecutors | queryExecutor_scannedObject_ps | 查詢掃描文檔的數量 | 個 | 在執行查詢和查詢計劃評估過程中被掃描的文檔的總數量。與 | |
queryExecutor_scanned_ps | 查詢掃描索引的數量 | 個 | 在執行查詢和查詢計劃評估過程中被掃描的索引項目的總數量。與 | |||
TTL | MongoDB_TTLs | ttl_deletedDocuments_ps | 因TTL索引而刪除的文檔數量 | 個 | 該值較大時,表明有較多文檔在刪除,可能會影響執行個體效能。詳情請參考文檔。 | |
ttl_passes_ps | 後台TTL線程進行刪除的次數 | 個 | TTL 後台進程執行檢查到期文檔的總次數。每次執行檢查時,TTL 監視器會嘗試從所有 TTL 索引中刪除儘可能多的候選文檔。 | |||
Repl Opcounters | MongoDB_ReplOpcounters | repl_command | 複製集中Command命令的運算元 | 個 | 在複製過程中,MongoDB 會將操作序列化,這可能會影響各操作的計數,因此MongoDB_ReplOpcounters 與MongoDB_Opcounters兩個計數器的值可能會有所不同。詳細說明可參考Opcounters指標和Repl Opcounters指標。 | |
repl_delete | 複製集中Delete命令的運算元 | 個 | ||||
repl_getmore | 複製集中Getmore命令的運算元 | 個 | ||||
repl_insert | 複製集中Insert命令的運算元 | 個 | ||||
repl_query | 複製集中Query命令的運算元 | 個 | ||||
repl_update | 複製集中Update命令的運算元 | 個 | ||||
Eviction掃描數 | MongoDB_WtCacheHPCheckEntriesWalked | wiredTiger_cache_hazardPointerCheckEntriesWalked | Eviction時掃描hazard pointer array的內容的數量 | 個 | Eviction時因hazard pointers阻塞的頁面驅逐數。 | |
Lock Acquisitions | MongoDB_WtLockAcquisitions | wt_checkPoint_lock | 檢查點鎖擷取次數 | 個 | - | |
wt_dhandle_read_lock | 資料控制代碼讀鎖擷取次數 | 個 | 執行個體庫表數過多時,用戶端請求可能會需要長時間等待 handle lock,影響執行個體效能,詳情參考庫表數太多導致執行個體卡頓或異常。 | |||
wt_dhandle_write_lock | 資料控制代碼寫鎖擷取次數 | 個 | ||||
wt_metadata_lock | 中繼資料鎖擷取次數 | 個 | ||||
wt_schema_lock | 模式鎖擷取次數 | 個 | 頻繁刪除和建立庫表或索引等業務行為、庫表數量過多等業務現狀都會導致更高的 schemaLock開銷,影響執行個體效能,詳情參考庫表數太多導致執行個體卡頓或異常。 | |||
wt_table_read_lock | 表讀鎖擷取次數 | 個 | - | |||
wt_table_write_lock | 表寫鎖擷取次數 | 個 | - | |||
wt_txn_global_read_lock | 事務全域讀鎖擷取次數 | 個 | - | |||
wt_txn_global_write_lock | 事務全域寫鎖擷取次數 | 個 | - | |||
MBPS使用率 | MongoDB_MbpsUsage | total_mbps_usage | 磁碟讀寫頻寬使用率 | % | 執行個體的磁碟總輸送量與執行個體最大MBPS的比值,表示執行個體的業務負載。如果MongoDB執行個體的MBPS使⽤率達到或接近100%,會導致業務響應緩慢,甚⾄業務不可⽤。關於雲端硬碟MBPS的詳細介紹,請參考執行個體規格。 說明 僅支援雲端硬碟版執行個體。 |
|
主備延時 | MongoDB_Repl_Lag | repl_lag | 主備節點的資料同步延時 | 秒 |
|
|
Oplog保留時間長度 | MongoDB_OplogTimeInterval | oplog_time_interval | Oplog保留時間長度 | 小時 | 4.4及以上版本,可在執行個體詳情頁調整storage.oplogMinRetentionHours參數進行修改。 | |
moveChunk | MongoDB_MoveChunks | moveChunk_donor_started_ps | 當前節點作為範圍遷移源的次數 | 個 | 無論遷移是否成功,該值都會增加。 |
|
moveChunk_recip_stared_ps | 當前節點作為範圍遷移目標的次數 | 個 | ||||
每次訪問個數 | - | sl_qps | 每秒訪問次數 | 個 | - |
|
查詢執行器資訊 | MongoDB_QueryExecutors | collscans_nontailable | 非tailable cursor的全表掃描數量 | 個 | - |
|
collscans_total | 總的全表掃描數量 | 個 | - | |||
庫表數量資訊 | MongoDB_CollectionNums | admin_user_coll | admin庫下的使用者表數量 | 個 | - |
|
斷言數量 | MongoDB_Asserts | regular | 正常層級 | 個 | 正常執行的斷言數量。 |
|
warning | 警告層級 | 個 | 警告層級的斷言的數量,始終返回0。 | |||
msg | 訊息層級 | 個 | 訊息層級的斷言的數量。 | |||
user | 使用者層級 | 個 | 使用者層級的斷言的數量。 | |||
資料控制代碼數 | MongoDB_DataHandle | opened_fd_num | 活躍的控制代碼數 | 個 | WiredTiger 緩衝中當前活躍的串連資料控制代碼的數量。 |
|
closed_fd_num | 關閉的控制代碼數 | 個 | WiredTiger 緩衝中掃描關閉的串連資料控制代碼的數量。 | |||
opened_fd_mem | 活躍控制代碼佔用記憶體 | MB | WiredTiger 緩衝中當前活躍的串連資料控制代碼佔用記憶體。 | |||
操作延遲 | MongoDB_Latencys | reads_latency_ps | 讀取操作成功請求的延遲 | us | 讀取操作處理的所有成功請求的延遲。 |
|
writes_latency_ps | 寫入操作成功請求延遲 | us | 寫入操作處理的所有成功請求的延遲,單位為us。 | |||
commands_latency_ps | 命令操作成功請求延遲 | us | 命令操作處理的所有成功請求的延遲,單位為us。 | |||
trans_latency_ps | 事務操作成功請求延遲 | us | 事務操作處理的所有成功請求的延遲,單位為us。 | |||
TCMalloc記憶體片段率 | MongoDB_TcmallocCacheMemRatio | tcmalloc_cache_mem_ratio | TCMalloc記憶體片段率 | % | - |
|
寫關注平均耗時 | MongoDB_GetLastErrorWtime | metrics_getLastError_avg_wtime | 寫關注操作平均耗時 | ms | 執行寫關注操作花費的平均時間。 |
|
metrics_getLastError_wtimeouts | 寫關注操作逾時次數 | 次 | 寫關注操作超過wtimeout閾值的次數。 |
| ||
複製緩衝區大小 | MongoDB_Repl_Buffer | repl_buffer_size | 複製緩衝區當前大小 | MB | 複本集中的複製緩衝區的當前大小。 |
|
repl_buffer_max_size | 複製緩衝區最大大小 | MB | 複本集中的複製緩衝區的最大大小。 | |||
WiredTiger快取頁面面驅逐數 | MongoDB_WtCacheEviction | pages_selected_count | 強制驅逐的頁面數 | 個 | - |
|
pages_selected_unable_to_evict_count | 無法被強制驅逐的頁面數 | 個 | - | |||
hazard_pointer_blocked_page_eviction | 因hazard pointers阻塞的頁面驅逐數 | 個 | - | |||
max_page_size | 頁面驅逐過程中見到的最大頁面大小 | MB | - | |||
pages_evicted_by_application_threads | 被使用者線程驅逐的 WiredTiger 緩衝中的頁面數量 | 個 | - | |||
moveChunk | MongoDB_MoveChunks | moveChunk_deleter_task | 準備運行與正在啟動並執行chunk範圍刪除任務數 | 個 | - | 分區叢集 |
LockAcquisitions | MongoDB_WtLockAcquisitions | wt_checkPoint_lock | WiredTiger 緩衝中檢查點鎖的擷取數量 | 個 | - |
|
wt_dhandle_read_lock | WiredTiger 緩衝中資料控制代碼讀取鎖的擷取數量 | 個 | - | |||
wt_dhandle_write_lock | WiredTiger 緩衝中資料控制代碼寫入鎖的擷取數量 | 個 | - | |||
wt_metadata_lock | WiredTiger 緩衝中中繼資料鎖的擷取數量 | 個 | - | |||
wt_schema_lock | WiredTiger 緩衝中模式鎖的擷取數量 | 個 | - | |||
wt_table_read_lock | WiredTiger 緩衝中表讀取鎖的擷取數量 | 個 | - | |||
wt_table_write_lock | WiredTiger 緩衝中表寫入鎖的擷取數量 | 個 | - | |||
wt_txn_global_read_lock | WiredTiger 緩衝中全域讀取鎖的擷取數量 | 個 | - | |||
wt_txn_global_write_lock | WiredTiger 緩衝中全域寫入鎖的擷取數量 | 個 | - | |||
線程讓渡 | MongoDB_WtCache_Thread_Yield | page_acquire_eviction_blocked | 等待頁面驅逐而被阻塞的次數 | 次 | - |
|
page_acquire_locked_blocked | 目標頁面被鎖定而等待的次數 | 次 | - | |||
page_acquire_time_sleeping | 擷取頁面時線程睡眠狀態總時間長度 | us | - | |||
WiredTigerUsage | MongoDB_WTCacheUsage | wt_cache_updates_usage | WiredTiger更新緩衝使用率 | % | 為更新操作分配的記憶體位元組數相對於緩衝最大位元組數的比例。 |
|
經典多計劃器執行統計 | MongoDB_MultiPlanner_Worker | metrics_query_multiplanner_classicworks | 工作總數 | 個 | 經典多計劃器中執行的工作總數。 |
|
邏輯會話緩衝資訊 | MongoDB_LogicalSession | active_sessions_count | 緩衝中邏輯會話數 | 個 | 自上次重新整理後緩衝中所有邏輯會話(logical sessions)的總數。 |
|
進階監控
僅單節點、複本集和分區叢集執行個體支援進階監控。
不同類型執行個體支援的監控項請以控制台為準。
支援的執行個體 | 監控項 | 監控指標及說明 | 說明 | 單位 |
| CPU使用率 | cpu_usage | 執行個體的CPU使用率。 | % |
記憶體使用量率 | mem_usage | 執行個體的記憶體使用量率。 | % | |
磁碟空間使用量 | ins_size | 總使用空間。 | Bytes | |
data_size | 資料磁碟使用空間。 | Bytes | ||
log_size | 日誌磁碟使用空間。 | Bytes | ||
串連數使用率 | conn_usage | 執行個體當前串連數與最大串連數的比值。 | % | |
cursors | open_no_timedout | 當前無逾時時間的cursor開啟數量。 | 個 | |
open_with_timedout | 當前有逾時時間的cursor開啟數量。 | 個 | ||
open_total | 當前cursor開啟數量。 | 個 | ||
closed_by_timeout | 因逾時關閉的cursor數量。 | 個 | ||
closed_by_session | 因關閉會話關閉的cursor數量。 | 個 | ||
讀寫隊列 | currentQueue_total | 排隊等待鎖的操作總數。 | 個 | |
currentQueue_readers | 排隊等待讀鎖的運算元。 | 個 | ||
currentQueue_writers | 排隊等待寫鎖的運算元。 | 個 | ||
active_readers | 執行讀操作的活躍用戶端串連數。 | 個 | ||
active_writers | 執行寫操作的活躍用戶端串連數。 | 個 | ||
平均回應時間(MongoDB_RT) | avg_RT | 執行個體平均回應時間。 | 微秒 | |
reads_avg_rt | 讀操作平均回應時間。 | 微秒 | ||
writes_avg_rt | 寫操作平均回應時間。 | 微秒 | ||
commands_avg_rt | 命令操作平均回應時間。 | 微秒 | ||
trans_avg_rt | 事務操作平均回應時間。 | 微秒 | ||
WiredTiger請求隊列 | write_concurrent_trans_out | 寫並發請求數。 | 個 | |
read_concurrent_trans_out | 讀並發請求數。 | 個 | ||
write_concurrent_trans_available | 可用的寫並發數。 | 個 | ||
read_concurrent_trans_available | 可用的讀並發數。 | 個 | ||
IO延遲 | iocheck_cost: | 當前IO的響應效能。 說明 僅單節點和MongoDB 4.0及以下版本的複本集執行個體支援。 | 毫秒 | |
WiredTigerCache使用率 | wt_cache_usage | WiredTiger cache使用率。 | % | |
wt_cache_dirty_usage | WiredTiger髒cache使用率。 | % | ||
影響文檔數量 | deletedDocuments | 刪除的文檔數量。 | 個 | |
insertedDocuments | 插入的文檔數量。 | 個 | ||
returnDocuments | 返回的文檔數量。 | 個 | ||
updatedDocuments | 更新的文檔數量。 | 個 | ||
操作詳情 | scanAndOrder | 無法使用索引進行sort的請求數。 | 個 | |
writeConflicts | 發生寫衝突的次數。 | 個 | ||
exactIDCount | 需要通過廣播方式擷取匹配_id的資訊請求數。 | 個 | ||
查詢掃描索引與文檔數量 | scannedKeys | 查詢掃描索引的數量。 | 個 | |
scannedDocs | 查詢掃描文檔的數量。 | 個 | ||
TTL | ttlDeletedDocuments | 因TTL索引而刪除的文檔數量。 | 個 | |
ttlPasses | 後台TTL線程進行刪除的次數。 | 個 | ||
Lock Acquisitions | wiredTiger_schema_lock_delta | 模式鎖擷取次數。 | 個 | |
wiredTiger_metadata_lock_delta | 中繼資料鎖擷取次數。 | 個 | ||
wiredTiger_table_read_lock_delta | 表讀鎖擷取次數。 | 個 | ||
wiredTiger_table_write_lock_delta | 表寫鎖擷取次數。 | 個 | ||
wiredTiger_txn_global_read_lock_delta | 事務全域讀鎖擷取次數。 | 個 | ||
wiredTiger_txn_global_write_lock_delta | 事務全域寫鎖擷取次數。 | 個 | ||
MBPS | read_io_bandwidth_mbps | 磁碟讀取的輸送量。 | MB/秒 | |
write_io_bandwidth_mbps | 磁碟寫入的輸送量。 | MB/秒 | ||
io_bandwidth_mbps | 磁碟總輸送量。 | MB/秒 | ||
事務運算元 | trans_totalPrepared_ps | 已準備好的事務數。 | 個 | |
trans_totalPreparedThenCommited_ps | 已準備好的事務中成功提交的事務。 | 個 | ||
trans_totalPreparedThenAborted_ps | 已準備好的事務中成功復原的事務數。 | 個 | ||
trans_totalStarted_ps | 已啟動的事務數。 | 個 | ||
trans_totalCommited_ps | 成功提交的事務數。 | 個 | ||
trans_totalAborted_ps | 成功復原的事務數。 | 個 | ||
MBPS使用率 | total_mbps_usage: | 磁碟讀寫頻寬使用率。 說明
| % | |
WiredTiger | bytes_read_into_cache | 讀入cache的資料量大小。 | Bytes | |
bytes_written_from_cache | 從cache寫的磁碟大小。 | Bytes | ||
maximum_bytes_configured | 配置最大可用的磁碟大小。 | Bytes | ||
磁碟空間使用率 | disk_usage | 執行個體總使用空間與最大可使用空間的比值。 | % | |
操作QPS | insert | 插入運算元。 | 個 | |
query | 查詢運算元。 | 個 | ||
update | 更新運算元。 | 個 | ||
delete | 刪除運算元。 | 個 | ||
getmore | 讀取運算元。 | 個 | ||
command | 協議命令運算元。 | 個 | ||
串連數 | current_conn | 執行個體當前串連總數。 | 個 | |
active_conn | 執行個體當前活躍串連數。 | 個 | ||
網路流量 | bytes_in | 進口流量。 | Bytes | |
bytes_out | 出口流量。 | Bytes | ||
| IOPS使用量 | data_iops(iops) | IOPS使用量。 說明
| 次/秒 |
IOPS使用率 | iops_usage | 執行個體使用IOPS大小與最大可用IOPS的比值。 說明 4.2版本雲端硬碟版執行個體暫不支援查看IOPS使用量和IOPS使用率。 | % | |
主備延遲 | repl_lag | 執行個體主備節點的資料同步延時資訊。 說明
| 秒 | |
分區叢集執行個體 | 分區叢集Shard組件操作QPS總數 | insert_primary | 主節點的插入運算元。 | 個 |
query_primary | 主節點的查詢運算元。 | 個 | ||
update_primary | 主節點的更新運算元。 | 個 | ||
delete_primary | 主節點的刪除運算元。 | 個 | ||
getmore_primary | 主節點的讀取運算元。 | 個 | ||
command_primary | 主節點的協議命令運算元。 | 個 | ||
insert_secondary | 從節點的插入運算元。 | 個 | ||
query_secondary | 從節點的查詢運算元。 | 個 | ||
insert_hidden | 隱藏節點的插入運算元。 | 個 | ||
query_hidden | 隱藏節的查詢運算元。 | 個 | ||
update_hidden | 隱藏節點的更新運算元。 | 個 | ||
delete_hidden | 隱藏節點的刪除運算元。 | 個 | ||
getmore_hidden | 隱藏節點的讀取運算元。 | 個 | ||
command_hidden | 隱藏節點的協議命令運算元。 | 個 | ||
分區叢集Mongos組件操作QPS總數 | insert | 插入運算元。 | 個 | |
query | 查詢運算元。 | 個 | ||
update | 更新運算元。 | 個 | ||
delete | 刪除運算元。 | 個 | ||
getmore | 讀取運算元。 | 個 | ||
command | 協議命令運算元。 | 個 | ||
moveChunk | donorCount | 當前節點作為moveChunk或moveRange源的次數。 | 個 | |
recipientCount | 當前節點作為目標分區接收Chunks的次數。 | 個 |
效能趨勢
不同類型執行個體支援的監控項請以控制台為準。
支援的執行個體 | 監控項 | 監控指標及說明 |
| CPU使用率 | mongodb.cpu_usage:執行個體的CPU使用率。 |
記憶體使用量率 | mongodb.mem_usage:執行個體的記憶體使用量率。 | |
磁碟空間使用量 | 執行個體磁碟空間的效能趨勢,包括:
| |
cursors | 執行個體cursor數的效能趨勢,包括:
| |
WiredTiger請求隊列 | 讀寫請求數以及剩餘可用並發數的效能趨勢,包括:
說明 僅支援標準版複本集執行個體。 | |
WiredTiger | 執行個體WiredTiger引擎cache層指標的效能趨勢,包括:
說明 僅支援標準版複本集執行個體。 | |
| 磁碟空間使用率 | mongodb.disk_usage:mongodb磁碟使用率。 |
操作QPS | 執行個體操作QPS的效能趨勢,包括:
| |
串連數 | mongodb.connections.current:執行個體當前串連總數。 | |
網路流量 | 執行個體網路流量的效能趨勢,包括:
| |
| IOPS使用量 | IOPS使用量的效能趨勢,包括:
|
IOPS使用率 | mongodb.iops_usage:IOPS使用率。 說明 4.2版本複本集雲端硬碟版執行個體以及4.2版本分區叢集雲端硬碟版執行個體暫不支援查看IOPS使用量和IOPS使用率。 | |
複本集執行個體 | GlobalLock | 執行個體全域鎖的效能趨勢,包括:
|