serverStatus
原文鏈接:https://docs.mongodb.com/manual/reference/command/serverStatus/index.html
- 定義
- 行爲
- 輸出
*定義
==serverStatus
serverStatus命令返回一個文檔,該文檔提供數據庫狀態的概述。監控應用程序可以定期運行此命令收集有關該實例的統計信息。
db.runCommand( { serverStatus: 1 } )
值(即1)不會影響命令的操作。同時mongo shell提供了db.serverStatus()封裝該命令。
注:
serverStatus的大部分輸出也動態顯示在mongostat命令中。可參閱 mongostat命令。
*行爲
默認情況下,serverStatus在其輸出中排除repl文檔中的一些內容。
要輸出默認排除的字段,需要明確定義頂級字段,在命令中設置頂級字段爲1。要排除默認包含的字段,在命令中設置頂級字段爲0。
例如,在輸出中排除repl, metrics, locks信息。
db.runCommand( { serverStatus: 1, repl: 0, metrics: 0, locks: 0 } )
在輸出中包含所有repl信息:
db.runCommand( { serverStatus: 1, repl: 1 } )
輸出
注意
輸出字段取決於:MongoDB的版本,底層的操作系統平臺,存儲引擎,和節點類型(包括mongos,mongod或 副本集成員)。
serverStatus在不同MongoDB版本的輸出字段,請參閱相應版本的MongoDB手冊。
- 從MongoDB 4.0.6開始,serverStatus包括:
- 從MongoDB 4.0開始,serverStatus輸出中包含 shardingStatistics。
- 從MongoDB 3.6開始,serverStatus不再輸出 rangeDeleter部分。
- 在MongoDB中3.0開始,serverStatus不再輸出 workingSet,indexCounters以及recordStats部分。
實例信息:
"host" : <string>,
"advisoryHostFQDNs" : <array>,
"version" : <string>,
"process" : <"mongod"|"mongos">,
"pid" : <num>,
"uptime" : <num>,
"uptimeMillis" : <num>,
"uptimeEstimate" : <num>,
"localTime" : ISODate(“"),
host: 系統的主機名。在Unix / Linux系統中,與hostname命令的輸出相同。
advisoryHostFQDNs: 3.2版本新功能,全限定域名數組
version:當前MongoDB進程的MongoDB版本。
process:當前的MongoDB進程,可能的值爲mongos或mongod
pid: 進程的id號
uptime: 當前MongoDB進程處於活動狀態的總秒數,即啓動時長。
uptimeMillis: 當前MongoDB進程處於活動狀態的毫秒數。
uptimeEstimate: MongoDB內部粗粒度時間保持系統以秒爲單位的啓動時長
localTime: ISODate表示服務器當前時間,以UTC表示。
asserts:
"asserts" : {
"regular" : <num>,
"warning" : <num>,
"msg" : <num>,
"user" : <num>,
"rollovers" : <num>
},
asserts: 報告自MongoDB進程啓動以來引發的斷言數目的文檔。雖然斷言錯誤一般不常見,但如果asserts非零,則應檢查日誌文件以獲取更多信息。在許多情況下,這些錯誤是微不足道的,但值得研究。
asserts.regular: 自MongoDB進程啓動以來引發的常規斷言數。檢查日誌文件以獲取有關這些消息的更多信息。
asserts.warning: 在4.0版中更改, 從MongoDB 4.0開始,該字段返回零0。在早期版本中,該字段返回自MongoDB進程啓動以來引發的警告數。
asserts.msg: 自MongoDB進程啓動以來引發的消息斷言數。檢查日誌文件以獲取更多信息。
asserts.user: 自上次MongoDB進程啓動以來發生的“用戶斷言”數。這些是用戶可能生成的錯誤,例如磁盤空間不足或重複密鑰。您可以通過修復應用程序或部署問題來阻止這些斷言。查看MongoDB日誌以獲取更多信息。
asserts.rollovers:自上次MongoDB進程啓動以來翻轉計數器已翻轉的次數。在2^30個斷言之後,計數器將翻轉爲零。使用此值可爲asserts數據結構中的其他值提供上下文 。
backgroundFlushing
"backgroundFlushing" : {
"flushes" : <num>,
"total_ms" : <num>,
"average_ms" : <num>,
"last_ms" : <num>,
"last_finished" : ISODate("...")
},
注意
backgroundFlushing僅對使用MMAPv1存儲引擎的實例顯示。
backgroundFlushing:報告mongod進程定期寫入磁盤的文檔。如果關心對寫入性能和journaling,請參考這些值。
backgroundFlushing.flushes: 數據庫將所有寫入刷盤的次數。當數據庫運行較長時間時,此值將增加。
backgroundFlushing.total_ms: mongod 進程將數據寫入(即刷新)到磁盤所花費的總毫秒數(ms)。因爲total_ms是絕對值,需綜合考慮flushes和 average_ms值。
backgroundFlushing.average_ms: 以毫秒爲單位每次刷盤的平均時間,通過total_ms/flushes計算得出。average_ms更可能代表 flushes增加值。不過,異常數據可能會扭曲此值。使用 backgroundFlushing.last_ms以檢查高平均值是否因瞬態歷史事件或隨機寫入分佈而發生偏差。
backgroundFlushing.last_ms: 上次刷新操作完成所花費的時間(以毫秒爲單位)。使用此值可驗證服務器的當前性能是否與backgroundFlushing.average_ms和 backgroundFlushing.total_ms提供的歷史數據一致。
backgroundFlushing.last_finished: 上次刷新操作完成的 時間戳,以ISODate格式表示。如果此值超過服務器當前時間幾分鐘並且考慮到時區差異,則重啓數據庫可能會導致一些數據丟失。也可以考慮通過常規阻止寫入操作來阻止此值的持續操作。
connections
"connections" : {
"current" : <num>,
"available" : <num>,
"totalCreated" : NumberLong(<num>)
},
connections: 報告連接狀態的文檔。使用這些值來評估服務器的當前負載和容量要求。
connections.current: 從客戶端到數據庫服務器的連接數。此數值包括當前的shell會話。考慮connections.available爲此數據添加更多上下文的值。
該值將包括所有傳入連接,包括任何shell連接或來自其他服務器的連接,例如 副本集成員或mongos實例。
connections.available: 可用的未使用連接數。將此值與 connections.current以瞭解數據庫上的連接負載,查閱UNIX ulimit設置文檔,獲取有關可用連接的系統閾值的更多信息。
connections.totalCreated: 計算創建到服務器的所有連接。此數字包括已關閉的連接。
dur (journaling)
"dur" : {
"commits" : <num>,
"journaledMB" : <num>,
"writeToDataFilesMB" : <num>,
"compression" : <num>,
"commitsInWriteLock" : <num>,
"earlyCommits" : <num>,
"timeMs" : {
"dt" : <num>,
"prepLogBuffer" : <num>,
"writeToJournal" : <num>,
"writeToDataFiles" : <num>,
"remapPrivateView" : <num>,
"commits" : <num>,
"commitsInWriteLock" : <num>
}
},
注意
dur(journaling)信息僅出現在 mongod實例,並且使用MMAPv1存儲引擎且啓用了journaling。
dur: 報告mongod實例 與日誌相關的操作和性能的文檔。MongoDB每3秒報告此數據,收集過去3到6秒之間的信息。
dur.commits:在上一個日誌組提交間隔期間寫入日誌的事務數。
dur.journaledMB: 在上一個日誌組提交間隔期間寫入日誌的數據量(單位(MB))。
dur.writeToDataFilesMB: 在上一個日誌組提交間隔期間從日誌寫入數據文件的數據量(MB)。
dur.compression: 寫入日誌的數據的壓縮率:
( journaled_size_of_data / uncompressed_size_of_data )
dur.commitsInWriteLock: 持有寫鎖時發生的提交計數。寫鎖的提交數表示MongoDB節點處於高寫負載下,並要求進一步診斷。
dur.earlyCommits: MongoDB在計劃的日誌組提交間隔之前請求提交的次數 。使用此值確保日記組提交間隔部署時間不會太長。
dur.timeMS: mongod 實例在上一個日記組提交間隔的journaling的各個階段中報告實例性能的文檔。
dur.timeMS.dt: MongoDB收集dur.timeMS數據(以毫秒爲單位)。使用此字段爲其他dur.timeMS字段值提供上下文。
dur.timeMS.prepLogBuffer: 準備寫入日誌所花費的時間(以毫秒爲單位)。值越小則日誌性能越好。
dur.timeMS.writeToJournal: 實際寫入日誌所花費的時間(以毫秒爲單位)。文件系統速度和設備接口會影響其性能。
dur.timeMS.writeToDataFiles: 在日誌之後寫入數據文件所花費的時間(以毫秒爲單位)。文件系統速度和設備接口會影響其性能。
dur.timeMS.remapPrivateView: 重新映射copy-on-write內存映射視圖所花費的時間(以毫秒爲單位)。較小的值表明日誌性能越好。
dur.timeMS.commits: 提交所花費的時間(以毫秒爲單位)。
dur.timeMS.commitsInWriteLock: 持有寫鎖時,提交所花費的時間(以毫秒爲單位)
extra_info
"extra_info" : {
"note" : "fields vary by platform.",
"heap_usage_bytes" : <num>,
"page_faults" : <num>
},
extra_info: 提供有關基礎系統的其他信息的文檔。
extra_info.note: 字符串文本 "fields vary by platform."
extra_info.heap_usage_bytes: 數據庫進程使用的堆空間的總大小(以字節爲單位)。僅適用於Unix / Linux系統。
extra_info.page_faults: 缺頁中斷總數。當性能瓶頸或者內存不足或者數據集增大, extra_info.page_faults計數器動態的增加。有限和零星的缺頁中斷不一定表示問題。
Windows區分“硬”缺頁中斷包括硬盤I/O,“軟”缺頁中斷僅需要內存頁面移動。MongoDB在此統計信息中計算硬缺頁中斷和軟缺頁中斷。
freeMonitoring
"freeMonitoring" : {
"state" : <string>,
"retryIntervalSecs" : <NumberLong>,
"lastRunTime" : <string>,
"registerErrors" : <NumberLong>,
"metricsErrors" : <NumberLong>
},
freeMonitoring:報告免費雲監控的文檔。
freeMonitoring.state:免費監控的啓用狀態。值可以是:“enabled”,“disabled”,”pending”如果啓用免費監控, 遇到註冊錯誤。
freeMonitoring.retryIntervalSecs: 上傳數據的頻率(以秒爲單位)。
freeMonitoring.lastRunTime: 上次運行指標的日期和時間。
freeMonitoring.registerErrors: 註冊錯誤的數量,遇到非期望的HTTP狀態或網絡錯誤時會增加。
freeMonitoring.metricsErrors: 上傳指標時遇到的錯誤數。
globalLock
"globalLock" : {
"totalTime" : <num>,
"currentQueue" : {
"total" : <num>,
"readers" : <num>,
"writers" : <num>
},
"activeClients" : {
"total" : <num>,
"readers" : <num>,
"writers" : <num>
}
},
globalLock: 報告數據庫鎖狀態的文檔。通常,鎖文檔提供有關鎖使用的更詳細數據。
globalLock.totalTime: 自數據庫上次啓動和創建全局鎖以來的時間(以微秒爲單位)。這大致與總服務器啓動時間相同。
globalLock.currentQueue: 鎖引起的排隊操作數目的文檔
globalLock.currentQueue.total: 等鎖的操作的總數(即,總和globalLock.currentQueue.readers和 globalLock.currentQueue.writers)。
持續很小的隊列,特別是較短的操作,不必關注。綜合考慮globalLock.activeClients 讀寫相關信息。
globalLock.currentQueue.readers: 排隊等待讀鎖的操作數。持續很小的讀隊列,尤其是較短的操作,不必關注。
globalLock.currentQueue.writers: 排隊等待寫鎖的操作數。持續很小寫隊列,特別是較短的操作,不必關注。
globalLock.activeClients: 正在執行讀寫操作的已連接客戶端數目文檔,綜合考慮 globalLock.currentQueue。
globalLock.activeClients.total: 內部客戶端連接db總數,包括系統線程以及讀寫隊列。由於包括系統線程,此值將高於activeClients.readers 和activeClients.writers之和。
globalLock.activeClients.readers: 執行讀操作的活躍客戶端連接數。
globalLock.activeClients.writers: 執行寫操作的活躍客戶端連接數。
logicalSessionRecordCache
3.6 版本的新功能。
"logicalSessionRecordCache" : {
"activeSessionsCount" : <num>,
"sessionsCollectionJobCount" : <num>,
"lastSessionsCollectionJobDurationMillis" : <num>,
"lastSessionsCollectionJobTimestamp" : <Date>,
"lastSessionsCollectionJobEntriesRefreshed" : <num>,
"lastSessionsCollectionJobEntriesEnded" : <num>,
"lastSessionsCollectionJobCursorsClosed" : <num>,
"transactionReaperJobCount" : <num>,
"lastTransactionReaperJobDurationMillis" : <num>,
"lastTransactionReaperJobTimestamp" : <Date>,
"lastTransactionReaperJobEntriesCleanedUp" : <num>
},
logicalSessionRecordCache.activeSessionsCount: 自上次刷新週期以來mongod或mongos實例在內存中緩存的所有活躍本地會話的數目 。
參閱:
logicalSessionRecordCache.sessionsCollectionJobCount: 跟蹤刷新進程在config.system.sessions集合上運行的次數的數目。
參閱:logicalSessionRefreshMinutes
logicalSessionRecordCache.lastSessionsCollectionJobDurationMillis: 上次刷新的長度(以毫秒爲單位)。
logicalSessionRecordCache.lastSessionsCollectionJobTimestamp: 上次刷新的時間。
logicalSessionRecordCache.lastSessionsCollectionJobEntriesRefreshed: 上次刷新期間刷新的會話數。
logicalSessionRecordCache.lastSessionsCollectionJobEntriesEnded:上次刷新期間結束的會話數。
logicalSessionRecordCache.lastSessionsCollectionJobCursorsClosed:上次config.system.sessions集合刷新期間關閉的遊標數 。
logicalSessionRecordCache.transactionReaperJobCount
跟蹤事務記錄清理進程在config.transactions 集合上運行的次數的數目。
logicalSessionRecordCache.lastTransactionReaperJobDurationMillis:上次事務記錄清理的長度(以毫秒爲單位)。
logicalSessionRecordCache.lastTransactionReaperJobTimestamp:最後一次事務記錄清理的時間。
logicalSessionRecordCache.lastTransactionReaperJobEntriesCleanedUp:
在上次事務記錄清理期間刪除的config.transactions集合中的條目數。
locks
"locks" : {
<type> : {
"acquireCount" : {
<mode> : NumberLong(<num>),
...
},
"acquireWaitCount" : {
<mode> : NumberLong(<num>),
...
},
"timeAcquiringMicros" : {
<mode> : NumberLong(<num>),
...
},
"deadlockCount" : {
<mode> : NumberLong(<num>),
...
}
},
…
locks
在3.0版中更改。
報告每個鎖<type>和鎖<modes>數據的文檔。
鎖<types>如下:
鎖類型 |
描述 |
Global |
表示全局鎖。 |
MMAPV1Journal |
表示MMAPv1存儲引擎專用鎖,用於同步日誌寫; 對於非MMAPv1存儲引擎, MMAPV1Journal的mode空。 |
Database |
表示數據庫鎖。 |
Collection |
表示集合鎖。 |
Metadata |
表示元數據鎖。 |
oplog |
表示對oplog的鎖。 |
<modes>如下:
鎖定模式 |
描述 |
R |
表示共享(S)鎖。 |
W |
表示獨佔(X)鎖定。 |
r |
表示意向共享(IS)鎖。 |
w |
表示意向排他(IX)鎖。 |
所有值均爲NumberLong()類型。
locks.<type>.acquireCount:在特定模式下獲取鎖的次數。
locks.<type>.acquireWaitCount: 因鎖衝突,引起locks.acquireCount鎖等待的次數。
locks.<type>.timeAcquiringMicros: 獲取鎖的等待時間和(以微秒爲單位)。
locks.timeAcquiringMicros除以 locks.acquireWaitCount給出特定鎖定模式的近似平均等待時間。
locks.<type>.deadlockCount: 獲取鎖時遇到死鎖的次數。
network
"network" : {
"bytesIn" : <num>,
"bytesOut" : <num>,
"numRequests" : <num>
},
network:報告MongoDB網絡使用情況的文檔。
network.bytesIn: 數據庫接收的網絡流量字節數。使用此值可確保發送到mongod進程的網絡流量與預期和整個應用程序間流量一致。
network.bytesOut: 數據庫發送的網絡流量的字節數 。使用此值可確保mongod進程發送的網絡流量與預期和整體應用程序間流量一致。
network.numRequests: 服務器已收到的不同請求的總數。使用此值爲network.bytesIn和network.bytesOut 值提供上下文, 以確保MongoDB的網絡使用率與期望和應用程序使用一致。
opLatencies
僅適用於``mongod``實例
"opLatencies" : {
"reads" : <document>,
"writes" : <document>,
"commands" : <document>
},
opLatencies: 包含整個數據庫操作延遲的文檔。參閱latencyStats文檔查看詳細說明。只有mongod實例報告 opLatencies。
opLatencies.reads: 讀請求的延遲統計信息。
opLatencies.writes: 寫操作的延遲統計信息。
opLatencies.commands: 數據庫命令的延遲統計信息。
opReadConcernCounters
4.0.6版中的新功能,僅適用於mongod實例
"opReadConcernCounters" : {
"available" : NumberLong(<num>),
"linearizable" : NumberLong(<num>),
"local" : NumberLong(<num>),
"majority" : NumberLong(<num>),
"snapshot" : NumberLong(<num>),
"none" : NumberLong(<num>)
}
opReadConcernCounters
4.0.6版中的新功能。
報告自上次啓動以來對mongod實例查詢操作指定 的讀取關注級別的文檔。
規定 w |
描述 |
"available" |
指定讀取關注級別"available"的查詢操作數 。 |
"linearizable" |
指定讀取關注級別"linearizable"的查詢操作數 。 |
"local" |
指定讀取關注級別"local"的查詢操作數。 |
"majority" |
指定讀取關注級別"majority"的查詢操作數。 |
"snapshot" |
指定讀取關注級別"snapshot"的查詢操作數。 |
"none" |
未指定讀取關注級別的查詢操作數,而是使用默認讀取關注級別。 |
opReadConcernCounters之和等於 opcounters.query。
opWriteConcernCounters
4.0.6版中的新功能,僅適用於mongod實例
"opWriteConcernCounters" : {
"insert" : {
"wmajority" : NumberLong(<num>),
"wnum" : {
"<num>" : NumberLong(<num>),
...
},
"wtag" : {
"<tag1>" : NumberLong(<num>),
...
},
"none" : NumberLong(<num>)
},
"update" : {
"wmajority" : NumberLong(<num>),
"wnum" : {
"<num>" : NumberLong(<num>),
},
"wtag" : {
"<tag1>" : NumberLong(<num>),
...
},
"none" : NumberLong(<num>)
},
"delete" : {
"wmajority" : NumberLong(<num>)
"wnum" : {
"<num>" : NumberLong(<num>),
...
},
"wtag" : {
"<tag1>" : NumberLong(<num>),
...
},
"none" : NumberLong(<num>)
}
}
opWriteConcernCounters:報告自上次啓動以來特定write concerns 下mongod實例的寫入操作的文檔。
更具體地說,opWriteConcernCounters 報告指定的w:<value>的寫入操作。日誌標誌選項(j)和write concerns的超時選項(wtimeout)不會影響計數。即使操作超時,計數也會增加。
注意:僅在reportOpWriteConcernCountersInServerStatus參數設置爲true(false默認情況下)時可用 。
opWriteConcernCounters.insert
4.0.6版中的新功能。報告在特定的w:<value>下,自上次啓動以來對mongod實例執行的插入操作的文檔:
注意:僅在reportOpWriteConcernCountersInServerStatus參數設置爲true(false默認情況下)時可用 。
“insert” : {
“wmajority” : NumberLong (< num > ),
“wnum” : {
“<num>” : NumberLong (< num > ),
...
},
“wtag” : {
“<tag1>” : NumberLong (< num > ),
...
},
“none” : NumberLong (< num > )
},
|
描述 |
"wmajority" |
指定w: "majority"的插入操作數。 |
"wnum" |
指定w: <num>的插入操作數。計數按<num>具體分組 。 |
"wtag" |
指定w: <tag>的插入操作數。計數按<tag>具體分組。 |
"none" |
未指定w值的插入操作數。這些操作使用w默認值1。 |
opWriteConcernCounters.insert總和等於 opcounters.insert。
opWriteConcernCounters.update
4.0.6版中的新功能。報告在指定的w:<value>下,自上次啓動以來對實例的更新操作的文檔:
注意:僅在reportOpWriteConcernCountersInServerStatus參數設置爲true(false默認情況下)時可用 。
“update” : {
“wmajority” : NumberLong (< num > ),
“wnum” : {
“<num>” : NumberLong (< num > ),
},
“wtag” : {
“<tag1>” : NumberLong (< num > ),
...
},
“none” : NumberLong (< num > )
},
|
描述 |
"wmajority" |
指定w: "majority"的更新操作數。 |
"wnum" |
指定w: <num>的更新操作數。計數按<num>具體分組。 |
"wtag" |
指定w: <tag>的更新操作數。計數按<tag>具體分組 。 |
"none" |
未指定w值的更新操作數。這些操作使用w默認值1。 |
opWriteConcernCounters.update總和等於opcounters.update。
opWriteConcernCounters.delete
4.0.6版中的新功能。報告指定的w:<value>,自上次啓動以來對mongod實例執行的刪除操作的文檔:
注意:僅在reportOpWriteConcernCountersInServerStatus參數設置爲true(false默認情況下)時可用
"delete" : {
"wmajority" : NumberLong(<num>)
"wnum" : {
"<num>" : NumberLong(<num>),
...
},
"wtag" : {
"<tag1>" : NumberLong(<num>),
...
},
"none" : NumberLong(<num>)
}
描述 |
|
"wmajority" |
指定w: "majority"的刪除操作數。 |
"wnum" |
指定w: <num>的刪除操作數。計數按<num>具體分組 。 |
"wtag" |
指定w: <tag>的刪除操作數。計數按<tag>具體分組。 |
"none" |
未指定w值的刪除操作數。這些操作使用w默認值1。 |
opWriteConcernCounters.delete的總和等於opcounters.delete。
opcounters
“opcounters” : {
“insert” : < num > ,
“query” : < num > ,
“update” : < num > ,
“delete” : < num > ,
“getmore” : < num > ,
“command” : < num >
},
opcounters
自mongod上次啓動實例以來, 按數據庫操作類型報告的文檔 。
這些數字將隨着時間的推移而增長,直 到下次重啓,隨着時間的推移分析這些值以跟蹤數據庫使用率。
注意:opcounters操作中的數據數據受多文檔影響,例如批量插入或多次更新操作,將作爲單個操作處理。有關更詳細的文檔級操作跟蹤,請參閱metrics.document 。
此外,這些值反映了接收的操作,即使操作不成功也會增加。
opcounters.insert:自上次啓動mongod實例以來收到的插入操作總數 。
opcounters.query:自 上次啓動mongod實例以來收到的查詢總數。
opcounters.update:自上次啓動mongod實例以來收到的更新操作總數 。
opcounters.delete:自上次啓動mongod實例以來的刪除操作總數。
opcounters.getmore:自上次啓動mongod實例以來“getmore”操作的總數。即使查詢數目較低,此計數器也可能很高。作爲複製進程的一部分,Secondary節點將發送 getMore操作
opcounters.command:自mongod上次啓動實例以來向數據庫發出的命令總數 。
opcounters.command計數所有的命令 ,除了寫命令: insert,update,和delete。
opcountersRepl
“opcountersRepl” : {
“insert” : < num > ,
“query” : < num > ,
“update” : < num > ,
“delete” : < num > ,
“getmore” : < num > ,
“command” : < num >
},
opcountersRepl:自上次啓動mongod實例以來按類型報告數據庫複製操作的文檔。當前主機是副本集的成員時纔會顯示這些值。
MongoDB在複製期間序列化操作,因此這些值將與opcounters值不同。更多信息請參閱複製。
這些數字將隨着時間的推移而增長,以響應數據庫使用,直到下次重啓。隨着時間的推移分析這些值以跟蹤數據庫利用率。
opcountersRepl.insert:自上次啓動mongod實例以來複制插入操作的總數 。
opcountersRepl.query:自 上次啓動mongod實例以來複制查詢的總數。
opcountersRepl.update:自上次啓動mongod實例以來複制更新操作總數 。
opcountersRepl.delete:自上次啓動mongod實例以來複制的刪除操作總數 。
opcountersRepl.getmore:自上次啓動mongod實例以來“getmore”操作的總數。即使查詢數目較低,此計數器也可能很高。作爲複製進程的一部分,secondary節點發送getMore操作。
opcountersRepl.command:自上次啓動mongod實例以來發送到數據庫的複製命令總數。
repl
"repl" : {
"hosts" : [
<string>,
<string>,
<string>
],
"setName" : <string>,
"setVersion" : <num>,
"ismaster" : <boolean>,
"secondary" : <boolean>,
"primary" : <hostname>,
"me" : <hostname>,
"electionId" : ObjectId(""),
"rbid" : <num>,
"replicationProgress" : [
{
"rid" : <ObjectId>,
"optime" : { ts: <timestamp>, term: <num> },
"host" : <hostname>,
"memberId" : <num>
},
...
]
}
repl:報告副本集配置的文檔。 repl僅在當前主機是副本集時存在。更多信息請參見複製。
repl.hosts:當前副本集成員的主機名和端口信息(”host:port")的數組。
repl.setName:當前副本集名稱的字符串。此值反映--replSet命令行參數或配置文件中replSetName的值。
repl.ismaster:一個布爾值,指示當前節點是否是副本集的primary節點 。
repl.secondary:一個布爾值,指示當前節點是否是副本集的 secondary成員。
repl.primary:3.0版中的新功能。
副本集的當前primary成員的主機名和端口信息("host:port") 。
repl.me:3.0版中的新增功能:副本集當前成員的主機名和端口信息("host:port")。
repl.rbid:3.0版中的新功能。回滾標識符。用於確定此mongod實例是否發生了回滾。
repl.replicationProgress:在3.2版中更改:以前名稱serverStatus.repl.slaves。
3.0版中的新功能。
一個數組,副本集的每個成員報告複製進程給這個成員的一個數組文檔。通常,這個成員是primary或者使用鏈式複製的secondary。
要輸出repl,必須將repl選項傳遞給 serverStatus,如下所示:
db.serverStatus({ "repl": 1 })
db.runCommand({ "serverStatus": 1, "repl": 1 })
repl.replicationProgress部分的內容取決於每個成員複製的源。支持內部操作,僅供內部和診斷使用。
repl.replicationProgress[n].rid:ObjectId用作副本集成員的ID。僅限內部使用。
repl.replicationProgress[n].optime:從這個成員報告的,成員應用的oplog最後一個操作信息。
repl.replicationProgress[n].host:主機的名稱[hostname]:[port]格式爲副本集的成員。
repl.replicationProgress[n].memberID:此成員的副本集的整數標識符。
security
"security" : {
"SSLServerSubjectName": <string>,
"SSLServerHasCertificateAuthority": <boolean>,
"SSLServerCertificateExpirationDate": <date>
},
security:3.0版中的新功能。報告安全配置和詳細信息的文檔。僅在針對TLS / SSL編譯的mongod實例中出現。
security.SSLServerSubjectName: net.ssl.PEMKeyFile指定的TLS / SSL證書關聯的主題名稱 。
security.SSLServerHasCertificateAuthority:布爾值true表示net.ssl.PEMKeyFile 指定的TLS / SSL證書與證書頒發機構關聯時。false表示TLS / SSL證書是自簽名的。
security.SSLServerCertificateExpirationDate:
一個日期對象,表示由net.ssl.PEMKeyFile指定的TLS / SSL證書到期的日期 。
sharing
版本3.2中的新功能:運行時mongos,該命令返回分片信息。
在版本3.6中更改:從MongoDB 3.6開始,分片成員返回分片信息。
{
"configsvrConnectionString" : "csRS/cfg1.example.net:27019,cfg2.example.net:27019,cfg2.example.net:27019",
"lastSeenConfigServerOpTime" : {
"ts" : Timestamp(1517462189, 1),
"t" : NumberLong(1)
},
"maxChunkSizeInBytes" : NumberLong(67108864)
}
sharding:包含分片集羣數據的文檔。lastSeenConfigServerOpTime僅存在在mongos或分片成員,而配置節點不存在。
sharding.configsvrConnectionString:配置服務器的連接字符串。
sharding.lastSeenConfigServerOpTime:
mongos或shard成員可見,CSRS primary的最新 optime。optime文檔包括:
lastSeenConfigServerOpTime僅存在在使用CSRS(副本集)的分片集羣中。
sharding.maxChunkSizeInBytes:版本3.6中的新功能。塊的最大大小限制。如果最近在配置服務器上更新了塊大小,則maxChunkSizeInBytes可能無法反映最新值。
shardingStatistics
4.0版中的新功能。
"shardingStatistics" : {
"countStaleConfigErrors" : NumberLong(<num>),
"countDonorMoveChunkStarted" : NumberLong(<num>),
"totalDonorChunkCloneTimeMillis" : NumberLong(<num>),
"totalCriticalSectionCommitTimeMillis" : NumberLong(<num>),
"totalCriticalSectionTimeMillis" : NumberLong(<num>),
"catalogCache" : {
"numDatabaseEntries" : NumberLong(<num>),
"numCollectionEntries" : NumberLong(<num>),
"countStaleConfigErrors" : NumberLong(<num>),
"totalRefreshWaitTimeMicros" : NumberLong(<num>),
"numActiveIncrementalRefreshes" : NumberLong(<num>),
"countIncrementalRefreshesStarted" : NumberLong(<num>),
"numActiveFullRefreshes" : NumberLong(<num>),
"countFullRefreshesStarted" : NumberLong(<num>),
"countFailedRefreshes" : NumberLong(<num>)
}
},
shardingStatistics:分片集羣上元數據刷新的指標的文檔。
shardingStatistics.countStaleConfigErrors:線程命中陳舊配置異常的總次數。由於陳舊的配置異常觸發元數據的刷新,因此該數字大致與元數據刷新的數量成比例。僅存在在正在運行的分片上。
shardingStatistics.countDonorMoveChunkStarted:作爲塊遷移過程的一部分, moveChunk 命令在分片上啓動的總次數(此節點是其成員)。這個數字都會增加不論遷移是否成功。僅存在在運行分片上。
shardingStatistics.totalDonorChunkCloneTimeMillis:從當前shard塊遷移的克隆階段所佔用的累積時間(以毫秒爲單位),此節點是該節點的成員。具體而言,對於從此分片的每次遷移,跟蹤時間從發起moveChunk命令開始, 結束於目標分片進入追趕階段之前,應用在塊遷移期間發生的更改 。僅存在在運行的分片上。
shardingStatistics.totalCriticalSectionCommitTimeMillis:從此分片塊遷移過程中的更新元數據階段所花費的累積時間(以毫秒爲單位)。在更新元數據階段,將阻止集合上的所有操作。僅存在在運行的分片上。
shardingStatistics.totalCriticalSectionTimeMillis:從此分片塊遷移的追趕階段和更新元數據階段所佔用的累積時間(以毫秒爲單位),此節點是該節點的成員。
要計算追趕階段的持續時間爲
totalCriticalSectionTimeMillis - totalCriticalSectionCommitTimeMillis
僅存在於在運行分片上運行時出現。
shardingStatistics.catalogCache:集羣路由信息緩存的統計信息的文檔。
shardingStatistics.catalogCache.numDatabaseEntries:
當前在編目緩存中的數據庫條目總數。
shardingStatistics.catalogCache.numCollectionEntries:當前位於編目緩存中的集合條目總數(跨所有數據庫)。
shardingStatistics.catalogCache.countStaleConfigErrors:線程命中過時配置異常的總次數。過時的配置異常會觸發元數據的刷新。
shardingStatistics.catalogCache.totalRefreshWaitTimeMicros:線程必須等待刷新元數據的累積時間(以微秒爲單位)。
shardingStatistics.catalogCache.numActiveIncrementalRefreshes:當前正在等待的增量編目緩存刷新的數量。
shardingStatistics.countIncrementalRefreshesStarted:已啓動的累計增量刷新次數。
shardingStatistics.catalogCache.numActiveFullRefreshes:正在等待的全量編目緩存刷新的數量。
shardingStatistics.catalogCache.countFullRefreshesStarted:已啓動的累計全量刷新數。
shardingStatistics.catalogCache.countFailedRefreshes:已失敗的全量或增量刷新的累計數量。
storageEngine
3.0版中的新功能。
"storageEngine" : {
"name" : <string>,
"supportsCommittedReads" : <boolean>,
"persistent" : <boolean>
},
storageEngine:包含當前存儲引擎數據的文檔。
storageEngine.name:當前存儲引擎的名稱。
storageEngine.supportsCommittedReads:版本3.2中的新功能。
一個布爾值,表示存儲引擎是否支持"majority" read concern。
storageEngine.persistent:版本3.2.6中的新功能。一個布爾值,表示存儲引擎是否將數據持久化到磁盤。
transactions
版本3.6.3中的新功能。
"transactions" : {
"retriedCommandsCount" : <NumberLong>,
"retriedStatementsCount" : <NumberLong>,
"transactionsCollectionWriteCount" : <NumberLong>,
"currentActive" : <NumberLong>,
"currentInactive" : <NumberLong>,
"currentOpen" : <NumberLong>,
"totalAborted" : <NumberLong>,
"totalCommitted" : <NumberLong>,
"totalStarted" : <NumberLong>
}
transactions:包含有關可重試寫入和 多文檔事務的數據的文檔。
transactions.retriedCommandsCount:相應的可重試寫入命令已經提交之後收到的重試總數。也就是說,即使寫入已成功並且在config.transactions 集合中存在的事務和會話的關聯記錄,可重試寫入繼續嘗試,例如客戶端的初始寫入響應丟失。
注意:MongoDB不會重新執行已提交的寫入。
總數包括所有會話。總數不包括在內部塊遷移時的發生的可重試寫入。
版本3.6.3中的新功能。
transactions.retriedStatementsCount:與重試命令 transactions.retriedCommandsCount關聯的寫語句總數。
注意:MongoDB不會重新執行已提交的寫入。
總數不包括在內部塊遷移時的發生的可重試寫入。
版本3.6.3中的新功能。
transactions.transactionsCollectionWriteCount:提交新的可重試寫入語句時觸發的對config.transactions 集合的寫入總數。
對於更新和刪除命令,由於只有單個文檔操作可以重試,因此每個語句都有一個寫入。
對於插入操作,插入的每批文檔有一次寫入,除非失敗導致每個文檔單獨插入。
總數包括遷移發生時部分寫入服務器config.transactions 集合的寫入。
版本3.6.3中的新功能。
transactions.currentActive:當前正在執行命令的打開事務的總數。版本4.0.2中的新功能。
transactions.currentInactive:當前未執行命令的打開事務的總數。版本4.0.2中的新功能。
transactions.currentOpen:開放事務總數。當第一個命令作爲該事務的一部分運行時,將打開一個事務,並在事務提交或中止之前保持打開狀態。
版本4.0.2中的新功能。
transactions.totalAborted:自mongod進程上次啓動以來在此服務器上中止的事務總數 。版本4.0.2中的新功能。
transactions.totalCommitted:自mongod進程上次啓動以來在此服務器上提交的事務總數 。版本4.0.2中的新功能。
transactions.totalStarted:自mongod進程上次啓動以來在此服務器上啓動的事務總數 。版本4.0.2中的新功能。
transportSecurity ¶
在4.0.2版本新增功能:(3.6.7+和3.4.17+也有)
"transportSecurity" : {
"1.0" : <NumberLong>,
"1.1" : <NumberLong>,
"1.2" : <NumberLong>,
"1.3" : <NumberLong>,
"unknown" :<NumberLong>
},
transportSecurity.<version>在4.0.2版本新增功能:(3.6.7+和3.4.17+也有)
mongod實例或mongos實例的累計TLS <version>連接數。重啓後重置該值。
wiredTiger
wiredTiger僅在使用WiredTiger存儲引擎時纔會顯示信息。一些統計信息,例如 wiredTiger.LSM,服務器roll up。
"wiredTiger" : {
"uri" : "statistics:",
"LSM" : {
"sleep for LSM checkpoint throttle" : <num>,
"sleep for LSM merge throttle" : <num>,
"rows merged in an LSM tree" : <num>,
"application work units currently queued" : <num>,
"merge work units currently queued" : <num>,
"tree queue hit maximum" : <num>,
"switch work units currently queued" : <num>,
"tree maintenance operations scheduled" : <num>,
"tree maintenance operations discarded" : <num>,
"tree maintenance operations executed" : <num>
},
"async" : {
"number of allocation state races" : <num>,
"number of operation slots viewed for allocation" : <num>,
"current work queue length" : <num>,
"number of flush calls" : <num>,
"number of times operation allocation failed" : <num>,
"maximum work queue length" : <num>,
"number of times worker found no work" : <num>,
"total allocations" : <num>,
"total compact calls" : <num>,
"total insert calls" : <num>,
"total remove calls" : <num>,
"total search calls" : <num>,
"total update calls" : <num>
},
"block-manager" : {
"mapped bytes read" : <num>,
"bytes read" : <num>,
"bytes written" : <num>,
"mapped blocks read" : <num>,
"blocks pre-loaded" : <num>,
"blocks read" : <num>,
"blocks written" : <num>
},
"cache" : {
"tracked dirty bytes in the cache" : <num>,
"tracked bytes belonging to internal pages in the cache" : <num>,
"bytes currently in the cache" : <num>,
"tracked bytes belonging to leaf pages in the cache" : <num>,
"maximum bytes configured" : <num>,
"tracked bytes belonging to overflow pages in the cache" : <num>,
"bytes read into cache" : <num>,
"bytes written from cache" : <num>,
"pages evicted by application threads" : <num>,
"checkpoint blocked page eviction" : <num>,
"unmodified pages evicted" : <num>,
"page split during eviction deepened the tree" : <num>,
"modified pages evicted" : <num>,
"pages selected for eviction unable to be evicted" : <num>,
"pages evicted because they exceeded the in-memory maximum" : <num>,
"pages evicted because they had chains of deleted items" : <num>,
"failed eviction of pages that exceeded the in-memory maximum" : <num>,
"hazard pointer blocked page eviction" : <num>,
"internal pages evicted" : <num>,
"maximum page size at eviction" : <num>,
"eviction server candidate queue empty when topping up" : <num>,
"eviction server candidate queue not empty when topping up" : <num>,
"eviction server evicting pages" : <num>,
"eviction server populating queue, but not evicting pages" : <num>,
"eviction server unable to reach eviction goal" : <num>,
"internal pages split during eviction" : <num>,
"leaf pages split during eviction" : <num>,
"pages walked for eviction" : <num>,
"eviction worker thread evicting pages" : <num>,
"in-memory page splits" : <num>,
"in-memory page passed criteria to be split" : <num>,
"lookaside table insert calls" : <num>,
"lookaside table remove calls" : <num>,
"percentage overhead" : <num>,
"tracked dirty pages in the cache" : <num>,
"pages currently held in the cache" : <num>,
"pages read into cache" : <num>,
"pages read into cache requiring lookaside entries" : <num>,
"pages written from cache" : <num>,
"page written requiring lookaside records" : <num>,
"pages written requiring in-memory restoration" : <num>
},
"connection" : {
"pthread mutex condition wait calls" : <num>,
"files currently open" : <num>,
"memory allocations" : <num>,
"memory frees" : <num>,
"memory re-allocations" : <num>,
"total read I/Os" : <num>,
"pthread mutex shared lock read-lock calls" : <num>,
"pthread mutex shared lock write-lock calls" : <num>,
"total write I/Os" : <num>
},
"cursor" : {
"cursor create calls" : <num>,
"cursor insert calls" : <num>,
"cursor next calls" : <num>,
"cursor prev calls" : <num>,
"cursor remove calls" : <num>,
"cursor reset calls" : <num>,
"cursor restarted searches" : <num>,
"cursor search calls" : <num>,
"cursor search near calls" : <num>,
"truncate calls" : <num>,
"cursor update calls" : <num>
},
"data-handle" : {
"connection data handles currently active" : <num>,
"session dhandles swept" : <num>,
"session sweep attempts" : <num>,
"connection sweep dhandles closed" : <num>,
"connection sweep candidate became referenced" : <num>,
"connection sweep dhandles removed from hash list" : <num>,
"connection sweep time-of-death sets" : <num>,
"connection sweeps" : <num>
},
"log" : {
"total log buffer size" : <num>,
"log bytes of payload data" : <num>,
"log bytes written" : <num>,
"yields waiting for previous log file close" : <num>,
"total size of compressed records" : <num>,
"total in-memory size of compressed records" : <num>,
"log records too small to compress" : <num>,
"log records not compressed" : <num>,
"log records compressed" : <num>,
"log flush operations" : <num>,
"maximum log file size" : <num>,
"pre-allocated log files prepared" : <num>,
"number of pre-allocated log files to create" : <num>,
"pre-allocated log files not ready and missed" : <num>,
"pre-allocated log files used" : <num>,
"log release advances write LSN" : <num>,
"records processed by log scan" : <num>,
"log scan records requiring two reads" : <num>,
"log scan operations" : <num>,
"consolidated slot closures" : <num>,
"written slots coalesced" : <num>,
"logging bytes consolidated" : <num>,
"consolidated slot joins" : <num>,
"consolidated slot join races" : <num>,
"busy returns attempting to switch slots" : <num>,
"consolidated slot join transitions" : <num>,
"consolidated slot unbuffered writes" : <num>,
"log sync operations" : <num>,
"log sync_dir operations" : <num>,
"log server thread advances write LSN" : <num>,
"log write operations" : <num>,
"log files manually zero-filled" : <num>
},
"reconciliation" : {
"pages deleted" : <num>,
"fast-path pages deleted" : <num>,
"page reconciliation calls" : <num>,
"page reconciliation calls for eviction" : <num>,
"split bytes currently awaiting free" : <num>,
"split objects currently awaiting free" : <num>
},
"session" : {
"open cursor count" : <num>,
"open session count" : <num>
},
"thread-yield" : {
"page acquire busy blocked" : <num>,
"page acquire eviction blocked" : <num>,
"page acquire locked blocked" : <num>,
"page acquire read blocked" : <num>,
"page acquire time sleeping (usecs)" : <num>
},
"transaction" : {
"transaction begins" : <num>,
"transaction checkpoints" : <num>,
"transaction checkpoint generation" : <num>,
"transaction checkpoint currently running" : <num>,
"transaction checkpoint max time (msecs)" : <num>,
"transaction checkpoint min time (msecs)" : <num>,
"transaction checkpoint most recent time (msecs)" : <num>,
"transaction checkpoint total time (msecs)" : <num>,
"transactions committed" : <num>,
"transaction failures due to cache overflow" : <num>,
"transaction range of IDs currently pinned by a checkpoint" : <num>,
"transaction range of IDs currently pinned" : <num>,
"transaction range of IDs currently pinned by named snapshots" : <num>,
"transactions rolled back" : <num>,
"number of named snapshots created" : <num>,
"number of named snapshots dropped" : <num>,
"transaction sync calls" : <num>
},
"concurrentTransactions" : {
"write" : {
"out" : <num>,
"available" : <num>,
"totalTickets" : <num>
},
"read" : {
"out" : <num>,
"available" : <num>,
"totalTickets" : <num>
}
}
},
wiredTiger.uri:3.0版中的新功能。一個字符串。供MongoDB內部使用一個字符。
wiredTiger.LSM:3.0版中的新功能。返回LSM(Log-Structured Merge)樹的統計信息的文檔。這些值反映了此服務器中使用的所有LSM樹的統計信息。
wiredTiger.async:3.0版中的新功能。返回與異步操作API相關的統計信息的文檔。MongoDB沒有使用它。
wiredTiger.block-manager:3.0版中的新功能。返回塊管理器操作統計信息的文檔。
wiredTiger.cache:3.0版中的新功能:返回緩存和緩存中頁面移除的統計信息的文檔。
以下描述了一些 wiredTiger.cache的key統計數據:
wiredTiger.cache.maximum bytes configured:最大緩存大小。
wiredTiger.cache.bytes currently in the cache:當前在緩存中的數據的字節大小。該值不應大於maximum bytesconfigured。
wiredTiger.cache.unmodified pages evicted:頁面移除的主要統計數據。
wiredTiger.cache.tracked dirty bytes in the cache:緩存中髒數據的大小(以字節爲單位)。該值應小於bytes currently in the cache。
wiredTiger.cache.pages read into cache:讀入緩存的頁數。 wiredTiger.cache.pages read intocache和wiredTiger.cache.pages written from cache可以提供I / O 信息。
wiredTiger.cache.pages written from cache:從緩存寫入的頁數。 wiredTiger.cache.pages written fromcache和wiredTiger.cache.pages read into cache可以提供I / O的信息。
要調整WiredTiger內部緩存的大小,請參閱storage.wiredTiger.engineConfig.cacheSizeGB和 --wiredTigerCacheSizeGB。避免將WiredTiger內部緩存大小增加到其默認值以上。
wiredTiger.connection:3.0版中的新功能。返回與WiredTiger連接相關的統計信息的文檔。
wiredTiger.cursor:3.0版中的新功能。返回WiredTiger遊標統計信息的文檔。
wiredTiger.data-handle:3.0版中的新功能。返回有關數據句柄和掃描的統計信息的文檔。
wiredTiger.log:3.0版中的新功能。返回WiredTiger的預寫日誌的統計信息的文檔。
wiredTiger.reconciliation:3.0版中的新功能。返回協調進程統計信息的文檔。
wiredTiger.session:3.0版中的新功能。返回會話的打開遊標計數和打開會話計數的文檔。
wiredTiger.thread-yield:3.0版中的新功能。頁面請求量的統計信息的文檔。
wiredTiger.transaction:3.0版中的新功能。返回有關事務檢查點和操作的統計信息的文檔。
wiredTiger.transaction.transaction checkpoint most recent time:創建最新檢查點的時間量(以毫秒爲單位)。在固定寫入負載下該值增加可能表示I / O系統飽和。
wiredTiger.concurrentTransactions:3.0版中的新功能。返回允許進入WiredTiger存儲引擎的讀寫事務併發數的信息文檔。這些設置是特定於MongoDB的。
要更改併發讀取和寫入事務的設置,請參閱wiredTigerConcurrentReadTransactions和wiredTigerConcurrentWriteTransactions。
writeBacksQueued :
“writeBacksQueued” : < boolean > ,
writeBacksQueued:
一個布爾值,指示是否有來自mongos實例排隊等待重試的的操作 。通常,此值爲false。另請參見writeBacks。
MEM
“mem” : {
“bits” : < int > ,
“resident” : < int > ,
“virtual” : < int > ,
“supported” : < boolean > ,
“mapped” : < int > ,
“mappedWithJournal” : < int >
},
mem:報告mongod的系統架構和當前內存使用的文檔 。
mem.bits:可選數字64或32,表示已編譯的mongodb實例是32位還是64位體系結構。
mem.resident:該值mem.resident大致相當於數據庫進程當前使用的RAM量(以兆字節(MB)爲單位)。在正常使用期間,該值趨於增長。在專用數據庫服務器中,此數字接近系統內存總量。
mem.virtual:mem.virtual顯示mongod進程使用的虛擬內存的總量(以兆字節(MB)爲單位)。
日誌啓用並且使用MMAPv1存儲引擎,mem.virtual值至少兩倍的mem.mapped。如果 mem.virtual值顯着大於 mem.mapped(例如3倍或更多倍),則這可能表示內存泄漏。
mem.supported:一個布爾值,指示底層系統是否支持擴展內存信息。如果爲false,表示系統不支持擴展內存信息,則數據庫服務器可能無法訪問其他 mem值。
mem.mapped:僅適用於MMAPv1存儲引擎。數據庫的映射內存量(以兆字節(MB)爲單位)。由於MongoDB使用內存映射文件,因此該值可能大致等於數據庫或數據庫的總大小。
mem.mappedWithJournal:僅適用於MMAPv1存儲引擎。映射內存量,以兆字節(MB)爲單位,包括用於journaling的內存。該值始終是值的兩倍 mem.mapped。僅在啓用 journaling 功能時才包含此字段。
mem.note:mem.note如果mem.supported爲false,則顯示 該字段。
該mem.note字段顯示文本:"not all mem info support on thisplatform”
metrics
"metrics" : {
"commands": {
"<command>": {
"failed": <num>,
"total": <num>
}
},
"cursor" : {
"timedOut" : NumberLong(<num>),
"open" : {
"noTimeout" : NumberLong(<num>),
"pinned" : NumberLong(<num>),
"multiTarget" : NumberLong(<num>),
"singleTarget" : NumberLong(<num>),
"total" : NumberLong(<num>),
}
},
"document" : {
"deleted" : NumberLong(<num>),
"inserted" : NumberLong(<num>),
"returned" : NumberLong(<num>),
"updated" : NumberLong(<num>)
},
"getLastError" : {
"wtime" : {
"num" : <num>,
"totalMillis" : <num>
},
"wtimeouts" : NumberLong(<num>)
},
"operation" : {
"scanAndOrder" : NumberLong(<num>),
"writeConflicts" : NumberLong(<num>)
},
"queryExecutor": {
"scanned" : NumberLong(<num>),
"scannedObjects" : NumberLong(<num>)
},
"record" : {
"moves" : NumberLong(<num>)
},
"repl" : {
"executor" : {
"pool" : {
"inProgressCount" : <num>
},
"queues" : {
"networkInProgress" : <num>,
"sleepers" : <num>
},
"unsignaledEvents" : <num>,
"shuttingDown" : <boolean>,
"networkInterface" : <string>
},
"apply" : {
"attemptsToBecomeSecondary" : <NumberLong>,
"batches" : {
"num" : <num>,
"totalMillis" : <num>
},
"ops" : <NumberLong>
},
"buffer" : {
"count" : <NumberLong>,
"maxSizeBytes" : <NumberLong>,
"sizeBytes" : <NumberLong>
},
"initialSync" : {
"completed" : <NumberLong>,
"failedAttempts" : <NumberLong>,
"failures" : <NumberLong>,
},
"network" : {
"bytes" : <NumberLong>,
"getmores" : {
"num" : <num>,
"totalMillis" : <num>
},
"ops" : <NumberLong>,
"readersCreated" : <NumberLong>
},
"preload" : {
"docs" : {
"num" : <num>,
"totalMillis" : <num>
},
"indexes" : {
"num" : <num>,
"totalMillis" : <num>
}
}
},
"storage" : {
"freelist" : {
"search" : {
"bucketExhausted" : <num>,
"requests" : <num>,
"scanned" : <num>
}
}
},
"ttl" : {
"deletedDocuments" : NumberLong(<num>),
"passes" : NumberLong(<num>)
}
},
metrics:返回反映當前使用情況和正在運行的mongod實例狀態的各種統計信息的文檔。
metrics.commands:3.0版中的新功能。報告數據庫命令使用情況的文檔。這些字段metrics.commands是數據庫命令的名稱,每個值都是一個文檔,用於報告執行的命令總數以及失敗的執行次數。
metrics.commands.<command>.failed:mongod中 <command>失敗 的次數。
metrics.commands.<command>.total:mongod 中<command>執行 的次數。
metrics.document:反映文檔訪問和修改模式的文檔。將這些值與opcounters 文檔中的數據進行比較,該數據跟蹤總操作數。
metrics.document.deleted:刪除的文檔總數。
metrics.document.inserted:插入的文檔總數。
metrics.document.returned:查詢返回的文檔總數。
metrics.document.updated:更新的文件總數。
metrics.executor:版本3.2中的新功能。報告複製執行器的各種統計信息的文檔。
metrics.getLastError:報告getLastError使用的文件。
metrics.getLastError.wtime:報告getLastError操作計數的文檔,其w參數大於1。
metrics.getLastError.wtime.num:指定write concern(即w)的getLastError 操作總數,即等待副本集的一個或多個成員確認寫入操作(即w大於1)。
metrics.getLastError.wtime.totalMillis:指定write concern(即w)mongod寫操作操作所花費的總時間(以毫秒爲單位w),即等待副本集的一個或多個成員確認寫操作(即w大於1)。
metrics.getLastError.wtimeouts:write concern操作由於wtimeout閾值而 超時到中getLastError的次數。
metrics.operation:用於保存MongoDB使用特定操作類型處理的幾種類型的更新和查詢操作的計數器文檔。
metrics.operation.fastmod:在3.4中刪除。如果使用MMAPv1存儲引擎,那麼更新操作數既不會導致文檔增長也不需要更新索引。例如,此計數器將記錄更新操作,使用$inc 操作使用運算符來遞增未被索引的字段的值。
metrics.operation.idhack:在3.4中刪除。包含該_id字段的查詢數。對於這些查詢,MongoDB將在該_id字段上使用默認索引並跳過所有查詢執行計劃。
metrics.operation.scanAndOrder:返回無法使用索引的排序操作的已排序數目的查詢總數。
metrics.operation.writeConflicts:遇到寫入衝突的查詢總數。
metrics.queryExecutor:報告來自查詢執行系統數據的文檔。
metrics.queryExecutor.scanned:在查詢和查詢計劃評估期間索引掃描的總數。此計數器totalKeysExamined與輸出中的 計數器相同 explain()。
metrics.queryExecutor.scannedObjects:查詢和查詢計劃評估期間掃描的文檔總數。此計數器totalDocsExamined與explain()輸出中的 計數器相同 。
metrics.record:報告與磁盤存儲文件中的記錄分配相關的數據的文檔。
metrics.record.moves:對於MMAPv1存儲引擎,metrics.record.moves 報告文檔在MongoDB數據集的磁盤表示內移動的總次數。文檔移動是因爲操作會增加文檔大小超出其分配的記錄大小。
metrics.repl:報告與複製過程相關的指標的文檔。 metrics.repl文檔出現在所有mongod實例上,包括副本集成員的實例 。
metrics.repl.apply:從複製oplog應用到應用程序的文檔。
metrics.repl.apply.batchSize:版本4.0.6中的新功能:(也可在3.6.11+中使用)
應用的oplog操作總數。該 metrics.repl.apply.batchSize在批量操作邊界時的操作數目遞增,而不是每次操作後遞增。
要獲得更精細的粒度,請參閱metrics.repl.apply.ops。
metrics.repl.apply.batches:metrics.repl.apply.batches報告在副本集的secondary成員上的oplog應用進程。有關oplog應用程序進程的更多信息,請參見 多線程複製
metrics.repl.apply.batches.num:所有數據庫中應用的批次總數。
metrics.repl.apply.batches.totalMillis
mongod從oplog應用操作所花費的總時間(以毫秒爲單位)。
metrics.repl.apply.ops:應用的oplog操作總數。 metrics.repl.apply.ops每次操作後遞增。參閱:metrics.repl.apply.batchSize
metrics.repl.buffer:
在批量應用oplog條目之前,MongoDB會從複製源緩衝區中緩衝oplog操作。metrics.repl.buffer提供了一種跟蹤oplog緩衝區的方法。有關oplog應用程序進程的更多信息,請參見 多線程複製。
metrics.repl.buffer.count:oplog緩衝區中的當前操作數。
metrics.repl.buffer.maxSizeBytes:緩衝區的最大大小。此值是mongod的常量設置,不可配置。
metrics.repl.buffer.sizeBytes:oplog緩衝區內容的當前大小。
metrics.repl.network:metrics.repl.network 報告複製過程的網絡信息。
metrics.repl.network.bytes:metrics.repl.network.bytes 報告從複製同步源讀取的數據總量。
metrics.repl.network.getmores:metrics.repl.network.getmores報告 getmore操作,oplog複製進程中oplog 遊標的額外請求結果。
metrics.repl.network.getmores.num:metrics.repl.network.getmores.num報告getmore操作總數,從複製同步源請求其他操作的操作。
metrics.repl.network.getmores.totalMillis: 報告從getmore操作中收集數據所需的總時間 。
注意
這個數字可能非常大,因爲即使getmore操作沒有初始返回數據,MongoDB也會等待更多數據。
metrics.repl.network.ops:metrics.repl.network.ops 報告從複製源讀取的操作總數。
metrics.repl.network.readersCreated:metrics.repl.network.readersCreated報告創建的oplog查詢進程的總數。將在連接中發生錯誤(包括超時或網絡操作)時,MongoDB將創建新的oplog查詢。此外,metrics.repl.network.readersCreated每次MongoDB選擇新的複製源時, 都會遞增。
metrics.repl.preload: metrics.repl.preload 報告“預讀”階段,其中MongoDB將文檔和索引加載到RAM中以提高複製吞吐量。有關複製過程的預讀階段的詳細信息,請參閱多線程複製。
metrics.repl.preload.docs:報告在預讀階段加載到內存中的文檔的文檔。
metrics.repl.preload.docs.num:在複製的預讀階段加載的文檔總數。
metrics.repl.preload.docs.totalMillis:複製預取階段加載文檔所花費的總時間。
metrics.repl.preload.indexes:在複製預讀階段報告加載到內存中的索引項的文檔。有關預取複製階段的詳細信息,請參閱多線程複製。
metrics.repl.preload.indexes.num:作爲複製預取階段的一部分,在更新文檔之前由成員加載的索引條目總數。
metrics.repl.preload.indexes.totalMillis:作爲複製預讀階段的一部分,加載索引條目所花費的總時間(以毫秒爲單位)。
metrics.storage.freelist.search.bucketExhausted:mongod已檢查空閒列表中沒有找到合適的大記錄分配的次數。
metrics.storage.freelist.search.requests:mongod搜索可用記錄分配的次數。
metrics.storage.freelist.search.scanned:mongod搜索可用記錄分配的數量。
metrics.ttl:報告ttl索引進程的資源使用的文檔 。
metrics.ttl.deletedDocuments:使用ttl索引從集合中刪除的文檔總數 。
metrics.ttl.passes:後臺進程使用ttl索引從集合中刪除文檔的次數。
metrics.cursor:2.6版中的新功能。有關遊標狀態和使用的數據的文檔。
metrics.cursor.timedOut:2.6版中的新功能。自服務器進程啓動以來已超時的遊標總數。如果此數字很大或以常規速率增長,則可能表示應用程序錯誤。
metrics.cursor.open:2.6版中的新功能。有關打開遊標的數據的文檔。
metrics.cursor.open.noTimeout:2.6版中的新功能。打開遊標的數量,選項 DBQuery.Option.noTimeout設置爲在一段時間不活動後防止超時。
metrics.cursor.open.pinned:2.6版中的新功能。“固定”打開遊標的數量。
metrics.cursor.open.total:2.6版中的新功能。MongoDB爲客戶端維護的遊標數量。因爲MongoDB耗盡了未使用的遊標,通常這個值很小或爲零。但是,如果存在隊列,過時的tailable遊標或大量操作,則此值可能會上升。
metrics.cursor.open.singleTarget:3.0版中的新功能。僅針對單個分片的遊標總數。僅 mongos實例報告metrics.cursor.open.singleTarget值。
metrics.cursor.open.multiTarget:3.0版中的新功能。僅針對多個分片的遊標總數。僅mongos實例報告metrics.cursor.open.multiTarget值。
watchdog
版本3.6中的新功能。
複製
複製
“watchdog” : {
“checkGeneration” : NumberLong (< num > ),
“monitorGeneration” : NumberLong (< num > ),
“monitorPeriod” : < num >
}
注意
watchdog僅當啓用了存儲節點監視程序時,該部分纔會出現。
watchdog:報告存儲節點監視程序狀態的文檔 。
watchdog.checkGeneration:自啓動以來檢查目錄的次數。每個monitoringPeriod目錄都會被多次檢查。
watchdog.monitorGeneration:mongod 檢查文件系統狀態的次數。每個monitoringPeriod增加一次。
watchdog.monitorPeriod:watchdogPeriodSeconds設置的值。這表示狀態檢查之間的時間段。