serverStatus詳解

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的版本,底層的操作系統平臺,存儲引擎,和節點類型(包括mongosmongod或 副本集成員)。

serverStatus在不同MongoDB版本的輸出字段,請參閱相應版本的MongoDB手冊。

 

實例信息:

 

"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>

   }

},

 

注意

durjournaling)信息僅出現在 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: 自上次刷新週期以來mongodmongos實例在內存中緩存的所有活躍本地會話的數目 。

參閱:

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.bytesInnetwork.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計數所有的命令 ,除了寫命令: insertupdate,和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文檔包括:

  • ts,操作的時間戳
  • t,term表示操作在primary上最初生成的時間。

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存儲引擎

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的。

要更改併發讀取和寫入事務的設置,請參閱wiredTigerConcurrentReadTransactionswiredTigerConcurrentWriteTransactions

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:查詢和查詢計劃評估期間掃描的文檔總數。此計數器totalDocsExaminedexplain()輸出中的 計數器相同 。

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設置的值。這表示狀態檢查之間的時間段。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章