serverStatus
項目一覧
- 定義
- 互換性
- 構文
- 動作
- 初期化
- 次を含みます:
mirroredReads
- 次を含みます:
latchAnalysis
- 次を含みます:
latchAnalysis
tcmalloc
冗長度を変更する- 出力
- 主張する
- バケットカタログ
- catalogStats
- 接続
- デフォルト RWConcern
- electionMetrics(選挙メトリクス)
- extra_info
- フロー制御
- グローバルロック
- ヘッジメトリクス
- インデックスバルクビルダー
- indexStats
- インスタンス情報
- latchAnalysis
- ロック
- logicalSessionRecordCache
- mem
- メトリクス
- ミラー読み取り
- ネットワーク
- opLatencies
- opReadConcernCounters
- opWriteConcernCounters
- opcounters
- opcountersRepl
- oplogTruncation
- queryStats
- readConcernCounters
- readPreferenceCounters (英語)
- レプラー
- セキュリティ
- シャーディング
- シャーディング統計
- shardedIndexConsistency
- ストレージエンジン用
- トランザクション
- 輸送セキュリティ
- ウォッチドッグ
- WiredTiger
- writeBacksQueued
定義
serverStatus
serverStatus
コマンドは、データベースの状態の概要を示すドキュメントを返します。監視アプリケーションションがこのコマンドを定期的に実行して、インスタンスに関する統計を収集します。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
このコマンドの構文は、次のとおりです。
db.runCommand( { serverStatus: 1 } )
値(つまり1
上記)は、コマンドの操作に影響を与えません。db.serverStatus()
コマンドは大量のデータを返します。出力から特定のオブジェクトまたはフィールドを返すには、コマンドにオブジェクト名またはフィールド名を追加します。
以下に例を挙げます。
db.runCommand({ serverStatus: 1}).metrics db.runCommand({ serverStatus: 1}).metrics.commands db.runCommand({ serverStatus: 1}).metrics.commands.update
mongosh
は、serverStatus
コマンドの db.serverStatus()
ラッパーを提供します。
動作
デフォルトでは、serverStatus
出力から以下が除外されます:
repl ドキュメント内の一部のコンテンツ
mirroredReads ドキュメント
デフォルトで除外されるフィールドを含めるには、最上位フィールドを指定し、コマンドで 1
に設定します。デフォルトで含まれるフィールドを除外するには、フィールドを指定して 0 に設定します。最上位フィールドまたは埋め込みフィールドのいずれかを指定できます。
たとえば、次の操作では、出力の repl
、 metrics
、 locks
の情報が除外されます。
db.runCommand( { serverStatus: 1, repl: 0, metrics: 0, locks: 0 } )
たとえば、次の操作では、出力に埋め込まれたhistogram
フィールドが除外されます。
db.runCommand( { serverStatus: 1, metrics: { query: { multiPlanner: { histograms: false } } } } )
次の例では、出力にすべての repl 情報が含まれています。
db.runCommand( { serverStatus: 1, repl: 1 } )
初期化
serverStatus
によって報告された統計は、mongod
サーバーを再起動するとリセットされます。
このコマンドは、新しいデータベースでも常に値を返します。関連コマンド db.serverStatus()
は、特定のメトリクスでカウンターが増加し始めてからでない限り、常に値を返すとは限りません。
アップデートクエリを実行すると、 db.serverStatus()
とdb.runCommand({ serverStatus: 1})
の両方が同じ値を返します。
{ arrayFilters : Long("0"), failed : Long("0"), pipeline : Long("0"), total : Long("1") }
次を含みます: mirroredReads
デフォルトでは、mirroredReads
情報は出力に含まれていません。mirroredReads
情報を返すには、包含を明示的に指定する必要があります。
db.runCommand( { serverStatus: 1, mirroredReads: 1 } )
次を含みます: latchAnalysis
デフォルトでは、 latchAnalysis
情報(バージョン4.4以降で利用可能 )は出力に含まれません。 latchAnalysis
情報を返すには、包含を明示的に指定する必要があります。
db.runCommand( { serverStatus: 1, latchAnalysis: 1 } )
次を含みます: latchAnalysis
デフォルトでは、latchAnalysis
情報は出力に含まれていません。latchAnalysis
情報を返すには、包含を明示的に指定する必要があります。
db.runCommand( { serverStatus: 1, latchAnalysis: 1 } )
tcmalloc
の冗長度を変更します
デフォルトでは、 tcmalloc
情報が出力に含まれます。このセクションでは、データベースのメモリ割り当て統計を提供します。tcmalloc
セクションの冗長度を変更するには、0
から 2
(両端を含む)までの整数を指定します。
db.runCommand( { serverStatus: 1, tcmalloc: <int> } )
このコマンドの動作は次のとおりです。
デフォルトでは、
tcmalloc
は1
に設定されています。より大きな整数値を渡すと、冗長性が増します。
0
またはfalse
を渡すと、出力からtcmalloc
セクションが省略されます。他の入力を渡すと、デフォルト設定になります。
MongoDB がメモリを割り当てる方法の詳細については、TCMalloc を参照してください。
出力
注意
出力フィールドは、MongoDB のバージョン、基礎のオペレーティングシステムプラットフォーム、storage engine、およびノードの種類(mongos
、 mongod
、レプリカセットノードなど)によって異なります。
MongoDB のバージョンに固有の serverStatus
出力については、適切なバージョンの MongoDB マニュアルを参照してください。
主張する
asserts : { regular : <num>, warning : <num>, msg : <num>, user : <num>, rollovers : <num> },
asserts
MongoDB プロセスの開始以降に発生したアサーションの数を報告するドキュメント。アサーションは、データベースの稼働中に発生するエラーを内部でチェックするもので、MongoDB サーバーの問題の診断に役立ちます。アサート値がゼロでない場合はアサーションエラーとなりますが、これはまれであり、すぐに問題になるわけではありません。アサートを生成するエラーは、ログファイルに記録できるほか、クライアントのアプリケーションに直接返して詳細を確認することができます。
asserts.user
MongoDB プロセスが最後に開始されて以降に発生した "ユーザー アサート" の数。 ディスク容量不足や重複キーなど、ユーザーによって生成される可能性のあるエラーです。 アプリケーションまたは配置で問題を修正することで、これらのアサートを防ぐことができます。 これらのメッセージの詳細については、ログファイルを調べてください。
asserts.rollovers
MongoDB プロセスが最後に開始されてからアサート カウンターがロールオーバーされた回数。カウンターは、2 30 アサーション後にゼロに戻ります。この値を使用して、
asserts
データ構造内の他の値にコンテキストを提供します。
バケットカタログ
bucketCatalog : { numBuckets : <num>, numOpenBuckets : <num>, numIdleBuckets : <num>, memoryUsage : <num> }
バージョン 5.0 で追加
時系列コレクションの内部ストレージに関連するメトリクスをレポートするドキュメント。
bucketCatalog
は次のメトリクスを返します。
メトリクス | 説明 |
---|---|
| 時系列データを内部的にストアするバケットの数。 |
| バケットへのコミットされていないアクティブな書込み (write) の数。 |
| 満杯ではなく、受信した時系列データをストアできるバケットの数。 |
| 内部バケットデータ構造によって使用されるバイト数。 |
catalogStats
バージョン 5.1 で追加。
catalogStats: { collections: <num>, capped: <num>, views: <num>, timeseries: <num>, internalCollections: <num>, internalViews: <num> }
接続
connections : { current : <num>, available : <num>, totalCreated : <num>, active : <num>, threaded : <num>, exhaustIsMaster : <num>, exhaustHello : <num>, awaitingTopologyChanges : <num>, loadBalanced : <num> },
connections.current
クライアントからデータベース サーバへの着信接続の数。この数には、現在の shell セッションが含まれます。このデータにさらにコンテキストを追加するには、
connections.available
の値を考慮します。この値には、shell 接続やレプリカセットノード、
mongos
インスタンスなどの他のサーバーからの接続を含むすべての着信接続が含まれます。
connections.available
利用可能な未使用の着信接続の数。データベースの接続負荷を理解するには、この値を
connections.current
の値と組み合わせて検討します。また、利用可能な接続のシステムしきい値の詳細については「自己管理型配置の UNIXulimit
設定」ドキュメントを参照してください。
connections.exhaustIsMaster
最後のリクエストが exhaustAllowed の
isMaster
リクエストであった接続の数。注意
MongoDB 5.0 以降を実行している場合は、
isMaster
コマンドを使用しないでください。代わりに、hello
を使用してください。
connections.awaitingTopologyChanges
現在、トポロジー変更の
hello
またはisMaster
リクエストを待機しているクライアントの数。注意
MongoDB 5.0 以降を実行している場合は、
isMaster
コマンドを使用しないでください。代わりに、hello
を使用してください。
デフォルト RWConcern
defaultRWConcern
セクションには、グローバルデフォルトの読み取りまたは書込み保証 (write concern) に関する設定のローカルコピーに関する情報が記載されています。データが古くなっているか、期限切れになっている可能性があります。詳細についてはgetDefaultRWConcern
を参照してください。
defaultRWConcern : { defaultReadConcern : { level : <string> }, defaultWriteConcern : { w : <string> | <int>, wtimeout : <int>, j : <bool> }, defaultWriteConcernSource: <string>, defaultReadConcernSource: <string>, updateOpTime : Timestamp, updateWallClockTime : Date, localUpdateWallClockTime : Date }
defaultRWConcern.defaultReadConcern
最後に確認されたグローバルデフォルトの読み取り保証 (read concern) 設定です。
serverStatus
がこのフィールドを返さない場合、グローバルなデフォルトの読み取り保証(read concern)が設定されていないか、またはインスタンスにまだ反映されていません。
defaultRWConcern.defaultReadConcern.level
最後に確認されたグローバルデフォルトの読み取り保証 (read concern) レベル設定です。
serverStatus
がこのフィールドを返さない場合、この設定のグローバルなデフォルトが設定されていないか、またはインスタンスにまだ反映されていません。
defaultRWConcern.defaultWriteConcern
最後に確認されたグローバルデフォルトの書込み保証 (write concern) 設定です。
serverStatus
がこのフィールドを返さない場合、グローバルなデフォルト書き込み保証(write concern)が設定されていないか、またはインスタンスにまだ反映されていません。
defaultRWConcern.defaultWriteConcern.w
最後に確認されたグローバルデフォルトw設定。
serverStatus
がこのフィールドを返さない場合、この設定のグローバルなデフォルトが設定されていないか、またはインスタンスにまだ反映されていません。
defaultRWConcern.defaultWriteConcern.wtimeout
最後に確認されたグローバルデフォルトwtimeout設定。
serverStatus
がこのフィールドを返さない場合、この設定のグローバルなデフォルトが設定されていないか、またはインスタンスにまだ反映されていません。
defaultRWConcern.defaultWriteConcernSource
デフォルトの書込み保証 (write concern) のソース。デフォルトでは、値は
"implicit"
です。デフォルトの書込み保証 (write concern) をsetDefaultRWConcern
に設定すると、値は"global"
になります。バージョン 5.0 で追加
defaultRWConcern.defaultReadConcernSource
デフォルトの読み取り保証 (read concern) のソース。デフォルトでは、値は
"implicit"
です。デフォルトの読み取り保証 (read concern) をsetDefaultRWConcern
に設定すると、値は"global"
になります。バージョン 5.0 で追加
defaultRWConcern.updateOpTime
インスタンスがグローバルな読み取り保証(read concern)または書き込み保証(write concern)設定のコピーを最後にアップデートしたときのタイムスタンプ。
defaultRWConcern.defaultReadConcern
フィールドとdefaultRWConcern.defaultWriteConcern
フィールドが存在しない場合、このフィールドはデフォルトが最後に設定解除されたときのタイムスタンプを示します。
defaultRWConcern.updateWallClockTime
インスタンスがグローバルな読み取り保証(read concern)または書き込み保証(write concern)設定のコピーを最後に更新したウォール クロックの時間。
defaultRWConcern.defaultReadConcern
フィールドとdefaultRWConcern.defaultWriteConcern
フィールドが存在しない場合、このフィールドはデフォルトが最後に設定解除された時間を示します。
defaultRWConcern.localUpdateWallClockTime
インスタンスがグローバルな読み取り保証(read concern)または書き込み保証(write concern)設定のコピーを最後に更新したローカル システムのウォール クロックの時間。このフィールドが
defaultRWConcern
の下の唯一のフィールドである場合、インスタンスはグローバルなデフォルトの読み取り保証または書き込み保証を認識していません。
electionMetrics(選挙メトリクス)
electionMetrics
セクションには、この mongod
インスタンスがプライマリになるために呼び出した選挙に関する情報が記載されています。
electionMetrics : { stepUpCmd : { called : Long("<num>"), successful : Long("<num>") }, priorityTakeover : { called : Long("<num>"), successful : Long("<num>") }, catchUpTakeover : { called : Long("<num>"), successful : Long("<num>") }, electionTimeout : { called : Long("<num>"), successful : Long("<num>") }, freezeTimeout : { called : Long("<num>"), successful : Long("<num>") }, numStepDownsCausedByHigherTerm : Long("<num>"), numCatchUps : Long("<num>"), numCatchUpsSucceeded : Long("<num>"), numCatchUpsAlreadyCaughtUp : Long("<num>"), numCatchUpsSkipped : Long("<num>"), numCatchUpsTimedOut : Long("<num>"), numCatchUpsFailedWithError : Long("<num>"), numCatchUpsFailedWithNewTerm : Long("<num>"), numCatchUpsFailedWithReplSetAbortPrimaryCatchUpCmd : Long("<num>"), averageCatchUpOps : <double> }
electionMetrics.stepUpCmd
プライマリの辞任時に選挙の引き継ぎの一環として
mongod
インスタンスによって呼び出された選挙に関するメトリクス。stepUpCmd
には、呼び出された選挙の数と成功した選挙の数の両方が含まれます。
electionMetrics.priorityTakeover
mongod
priority
がプライマリよりも高いため、インスタンスによって呼び出された選挙のメトリクス。electionMetrics.priorityTakeover
には、呼び出された選挙の数と成功した選挙の数の両方が含まれます。
electionMetrics.catchUpTakeover
mongod
インスタンスがプライマリよりも最新であるため、選挙に関するメトリクスが呼び出されます。catchUpTakeover
には、呼び出された選挙の数と成功した選挙の数の両方が含まれます。
electionMetrics.electionTimeout
以内にプライマリに到達できなかったため、
mongod
settings.electionTimeoutMillis
インスタンスによって呼び出された選挙に関するメトリクス。electionTimeout
には、呼び出された選挙の数と成功した選挙の数の両方が含まれます。
electionMetrics.freezeTimeout
mongod
freeze period
(ノードが選出を求めることができない期間)の有効期限が切れた後に、インスタンスによって呼び出される選挙に関するメトリクス。electionMetrics.freezeTimeout
には、呼び出された選挙の数と成功した選挙の数の両方が含まれます。
electionMetrics.numStepDownsCausedByHigherTerm
mongod
インスタンスが、タームが長くなったために辞任した回数(具体的には、他のノードが追加の選挙に参加した)。
electionMetrics.numCatchUps
新たに選出されたプライマリとしての
mongod
インスタンスが、最も高い既知の oplog エントリに追いつく必要があった選挙の数。
electionMetrics.numCatchUpsSucceeded
新たに選出されたプライマリの
mongod
インスタンスが、既知の最高の oplog エントリに正常に追いついた回数。
electionMetrics.numCatchUpsAlreadyCaughtUp
新たに選出された予備選挙の
mongod
インスタンスが、選出時にすでに追いついていたためにキャッチアッププロセスを終了した回数。
electionMetrics.numCatchUpsSkipped
新たに選出されたプライマリの
mongod
インスタンスがキャッチアッププロセスをスキップした回数。
electionMetrics.numCatchUpsTimedOut
新たに選出されたプライマリとしての
mongod
インスタンスが、settings.catchUpTimeoutMillis
制限のためにキャッチアッププロセスを終了した回数。
electionMetrics.numCatchUpsFailedWithNewTerm
他のノードのタームが長かったため(具体的には、他のノードが追加選挙に参加したため)、新たに選出されたプライマリの追い上げプロセスが終了した回数。
electionMetrics.numCatchUpsFailedWithReplSetAbortPrimaryCatchUpCmd
mongod
がreplSetAbortPrimaryCatchUp
コマンドを受信したため、新たに選出されたプライマリのキャッチアッププロセスが終了した回数。
extra_info
extra_info : { note : 'fields vary by platform', page_faults : <num> },
extra_info.page_faults
ページ フォールトの合計数。
extra_info.page_faults
カウンターは、パフォーマンスが低下しているときに大幅に増加する可能性があり、メモリが制限された環境や大規模なデータセットと相関する可能性があります。限定的かつ散発的なページ フォールトは必ずしも問題を示すものではありません。Windows では、ディスク I/O に関係する "ハード" ページフォールトと、メモリ内のページ移動のみを必要とする "ソフト" ページフォールトとを区別しています。MongoDB はこの統計でハードページフォールトとソフトページフォールトの両方をカウントします。
フロー制御
flowControl : { enabled : <boolean>, targetRateLimit : <int>, timeAcquiringMicros : Long("<num>"), locksPerKiloOp : <double>, sustainerRate : <int>, isLagged : <boolean>, isLaggedCount : <int>, isLaggedTimeMicros : Long("<num>") },
flowControl
フロー制御に関する統計を返すドキュメント。フロー制御を有効にすると、
majority commit
点の遅延がflowControlTargetLagSeconds
に近づくにつれて、プライマリへの書込み (write)はロックを取得する前にチケットを取得する必要があります。そのため、返されるメトリクスはプライマリで実行する場合に意味を持ちます。
flowControl.enabled
フロー制御が有効 (
true
) か無効 (false
) かを示すブール値。
flowControl.timeAcquiringMicros
プライマリで実行する場合、書込み (write) 操作がチケットを取得するために待機した合計時間。
セカンダリで実行する場合、返される数値はプレースホルダーになります。
flowControl.sustainerRate
プライマリで実行する場合、コミットする点を維持しているセカンダリが 1 秒あたりに適用する操作の近似値。
セカンダリで実行する場合、返される数値はプレースホルダーになります。
flowControl.isLagged
プライマリで実行される場合、フロー制御が有効になっているかどうかを示すブール値。フロー制御は、コミットされたラグの過半数が設定された
flowControlTargetLagSeconds
のパーセンテージよりも大きい場合に実行されます。フロー制御を行わないと、レプリケーションラグが発生する可能性があります。応答しないセカンダリでは、レプリカセットがフロー制御を実行するのに十分な負荷を受け取らずに遅延が発生する可能性があり、
flowControl.isLagged
値はfalse
のままになります。詳細については、 「フロー制御」を参照してください。
flowControl.isLaggedCount
プライマリで実行された場合、最後の再起動以降にフロー制御が実行された回数。フロー制御は、コミットされた大多数のラグが
flowControlTargetLagSeconds
の特定のパーセンテージを超えると有効になります。セカンダリで実行する場合、返される数値はプレースホルダーになります。
flowControl.isLaggedTimeMicros
プライマリで実行された場合、最後の再起動以降にフロー制御が実行された時間の長さ。フロー制御は、コミットされた大多数のラグが
flowControlTargetLagSeconds
の特定のパーセンテージを超えると有効になります。セカンダリで実行する場合、返される数値はプレースホルダーになります。
グローバルロック
globalLock : { totalTime : Long("<num>"), currentQueue : { total : <num>, readers : <num>, writers : <num> }, activeClients : { total : <num>, readers : <num>, writers : <num> } },
globalLock
データベースのロック状態についてレポートするドキュメント。
一般的に、ロックのドキュメントでは、ロックの使用に関するより詳細なデータが提供されています。
globalLock.totalTime
データベースが最後に起動され
globalLock
を作成してから経過した時間(マイクロ秒単位)。これはサーバーの合計アップタイムとほぼ同じです。
globalLock.currentQueue.total
ロックを待機しているキューに入れられた操作の合計数(つまり
globalLock.currentQueue.readers
とglobalLock.currentQueue.writers
の合計)。特に短い操作の場合、キューが一貫して小さいと、問題が発生することはありません。
globalLock.activeClients
リーダーとライターの情報は、このデータのコンテキストを提供します。
globalLock.currentQueue.readers
現在キューに入れられ、読み取りロック(read lock)を待機している操作の数。特に短い操作の読み取りキューが一貫して小さい場合は、問題にはなりません。
globalLock.currentQueue.writers
現在、キューにあり、書込みロック(write lock)を待機している操作の数。特に短い操作の書込み(write)キューが一貫して小さい場合は、心配する必要はありません。
globalLock.activeClients
接続されたクライアント数と、これらのクライアントが実行した読み取りおよび書込み(write)操作に関する情報を提供するドキュメント。
このデータを使用して、
globalLock.currentQueue
データのコンテキストを提供します。
ヘッジメトリクス
mongos
インスタンスのみ。
hedgingMetrics : { numTotalOperations : <num>, numTotalHedgedOperations : <num>, numAdvantageouslyHedgedOperations : <num> },
hedgingMetrics
mongos
インスタンスについてヘッジされた読み取りに関するメトリクスを提供します。mongos
インスタンスのみ。
hedgingMetrics.numTotalOperations
この
mongos
インスタンスに対するヘッジされた読み取りオプションを有効にして発行された操作の合計数。mongos
インスタンスのみ。
hedgingMetrics.numTotalHedgedOperations
クエリされた各シャードの追加ノードに操作を送信するなど、
mongos
インスタンスが読み取り操作をヘッジしたすべての操作の数。mongos
インスタンスのみ。
hedgingMetrics.numAdvantageouslyHedgedOperations
読み取り操作をヘッジするために送信された追加の読み取りによって、クライアントのリクエストが満たされた操作の合計数。
mongos
インスタンスのみ。
インデックスバルクビルダー
indexBulkBuilder: { count: <long>, resumed: <long>, filesOpenedForExternalSort: <long>, filesClosedForExternalSort: <long>, spilledRanges: <long>, bytesSpilledUncompressed: <long>, bytesSpilled: <long> }
indexBulkBuilder
インデックス バルク ビルダ操作のメトリクスを提供します。これらのメトリクスを使用して、
createIndexes
によるインデックス構築の問題、最初の同期中のコレクション クローニング、スタートアップで再開されるインデックス構築、外部ソーターによるディスク使用量の統計を診断できます。
indexBulkBuilder.filesClosedForExternalSort
外部ソーターがファイル処理を閉じてディスクにデータを流出させた回数。この値を
filesOpenedForExternalSort
と組み合わせて、外部ソーターが使用している開いたファイル処理の数を判断します。
indexBulkBuilder.filesOpenedForExternalSort
外部ソーターがファイル処理を開いてディスクにデータを流出させた回数。この値を
filesClosedForExternalSort
と組み合わせて、外部ソーターが使用している開いたファイル処理の数を判断します。
indexStats
indexStats: { count: Long("<num>"), features: { '2d': { count: Long("<num>"), accesses: Long("<num>") }, '2dsphere': { count: Long("<num>"), accesses: Long("<num>") }, '2dsphere_bucket': { count: Long("<num>"), accesses: Long("<num>") }, collation: { count: Long("<num>"), accesses: Long("<num>") }, compound: { count: Long("<num>"), accesses: Long("<num>") }, hashed: { count: Long("<num>"), accesses: Long("<num>") }, id: { count: Long("<num>"), accesses: Long("<num>") }, normal: { count: Long("<num>"), accesses: Long("<num>") }, partial: { count: Long("<num>"), accesses: Long("<num>") }, single: { count: Long("<num>"), accesses: Long("<num>") }, sparse: { count: Long("<num>"), accesses: Long("<num>") }, text: { count: Long("<num>"), accesses: Long("<num>") }, ttl: { count: Long("<num>"), accesses: Long("<num>") }, unique: { count: Long("<num>"), accesses: Long("<num>") }, wildcard: { count: Long("<num>"), accesses: Long("<num>") } } }
インスタンス情報
host : <string>, advisoryHostFQDNs : <array>, version : <string>, process : <'mongod'|'mongos'>, pid : Long("<num>"), uptime : <num>, uptimeMillis : Long("<num>"), uptimeEstimate : Long("<num>"), localTime : ISODate("<Date>"),
process
現在の MongoDB プロセス。可能な値は
mongos
またはmongod
です。
latchAnalysis
バージョン 4.4 で追加。
latchAnalysis : { <latch name> : { created : <num>, destroyed : <num>, acquired : <num>, released : <num>, contended : <num>, hierarchicalAcquisitionLevelViolations : { onAcquire : <num>, onRelease : <num> } }, ...
latchAnalysis
内部のロック プリミティブ(ラッチとも呼ばれる)に関するメトリクスを報告するドキュメント。
latchAnalysis
情報を返すには、包含を明示的に指定する必要があります。db.runCommand( { serverStatus: 1, latchAnalysis: 1 } ) latchAnalysis
は、各ラッチに対して<latch name>
と以下の関連メトリクスを返します:メトリクス説明created
ラッチが作成された回数。
destroyed
ラッチが破壊された回数。
acquired
ラッチが取得された回数。
released
ラッチがリリースされた回数。
contended
ラッチが競合した回数。
hierarchicalAcquisitionLevelViolations
違反が存在する場合にのみ返されます
次のフィールドが含まれます:
onAcquire
ラッチの取得中にラッチ階層(ラッチ レベルの順序)が違反された回数。
onRelease
ラッチのリリース中にラッチ階層(ラッチ レベルの順序)が違反された回数。
バージョン 4.4 で追加。
ロック
locks : { <type> : { acquireCount : { <mode> : Long("<num>"), ... }, acquireWaitCount : { <mode> : Long("<num>"), ... }, timeAcquiringMicros : { <mode> : Long("<num>"), ... }, deadlockCount : { <mode> : Long("<num>"), ... } }, ...
locks
各ロック
<type>
について、ロック<modes>
のデータを報告するドキュメントです。可能なロック
<types>
は、次のとおりです。ロック タイプ説明ParallelBatchWriterMode
並列バッチ書込みモードのロックを表します。
以前のバージョンでは、PBWM 情報は
Global
ロック情報の一部として報告されていました。ReplicationStateTransition
レプリカセットの状態遷移に対して取得されたロックを表します。
Global
グローバル ロックを表します。
Database
データベース ロックを表します。
Collection
コレクション ロックを表します。
Mutex
ミューテックスを表します。
Metadata
メタデータ ロックを表します。
oplog
oplog のロックを表します。
可能な
<modes>
は、次のとおりです。ロックモード説明R
共有ロック(S)を表します。
W
排他ロック(X)を表します。
r
インテント共有ロック(IS)を表します。
w
インテント排他ロック(IX)を表します。
すべての値は
Long()
タイプです。
locks.<type>.acquireWaitCount
locks.<type>.acquireCount
ロックの取得が競合モードで保持されていたために待機した回数。
locks.<type>.timeAcquiringMicros
ロック取得の累積待機時間(マイクロ秒単位)。
locks.<type>.timeAcquiringMicros
をlocks.<type>.acquireWaitCount
で割ると、特定のロック モードのおおよその平均待機時間が得られます。
logicalSessionRecordCache
logicalSessionRecordCache : { activeSessionsCount : <num>, sessionsCollectionJobCount : <num>, lastSessionsCollectionJobDurationMillis : <num>, lastSessionsCollectionJobTimestamp : <Date>, lastSessionsCollectionJobEntriesRefreshed : <num>, lastSessionsCollectionJobEntriesEnded : <num>, lastSessionsCollectionJobCursorsClosed : <num>, transactionReaperJobCount : <num>, lastTransactionReaperJobDurationMillis : <num>, lastTransactionReaperJobTimestamp : <Date>, lastTransactionReaperJobEntriesCleanedUp : <num>, sessionCatalogSize : <num> },
logicalSessionRecordCache
サーバー セッションのキャッシュに関するメトリクスを提供します。
logicalSessionRecordCache.activeSessionsCount
前回の更新期間以降に
mongod
またはmongos
インスタンスによってメモリにキャッシュされた、すべてのアクティブなローカル セッションの数。
logicalSessionRecordCache.sessionsCollectionJobCount
config.system.sessions
コレクションで更新プロセスが実行された回数を追跡する数値。
logicalSessionRecordCache.lastSessionsCollectionJobCursorsClosed
前回の
config.system.sessions
コレクションの更新中に閉じられたカーソルの数。
logicalSessionRecordCache.transactionReaperJobCount
config.transactions
コレクションでトランザクション レコードのクリーンアップ プロセスが実行された回数を追跡する数。
logicalSessionRecordCache.lastTransactionReaperJobEntriesCleanedUp
前回のトランザクション レコードのクリーンアップ中に削除された
config.transactions
コレクション内のエントリの数。
logicalSessionRecordCache.sessionCatalogSize
mongod
インスタンスの場合は、config.transactions
エントリのメモリ内キャッシュのサイズ。これは、再試行可能な書き込み、またはlocalLogicalSessionTimeoutMinutes
内でセッションが期限切れになっていないトランザクションに対応します。
mongos
インスタンスの場合は、- 最新の
localLogicalSessionTimeoutMinutes
の間隔内にトランザクションが行われた、セッションのメモリ内キャッシュの数。
mem
mem : { bits : <int>, resident : <int>, virtual : <int>, supported : <boolean> },
mem
mongod
のシステム アーキテクチャと現在のメモリ使用量を報告するドキュメント。
mem.resident
mem.resident
の値は、データベース プロセスによって現在使用されている RAM の量とほぼ同等で、単位はメビバイト(MiB)です。通常の使用では、この値は大きくなる傾向があります。専用データベース サーバーでは、この数値はシステム メモリの合計量に近づく傾向があります。
mem.virtual
mem.virtual
は、mongod
プロセスによって使用される仮想メモリの量をメビバイト(MiB)の単位で表示します。
mem.supported
基礎となるシステムが拡張メモリ情報をサポートしているかどうかを示すブール値。この値が false で、システムが拡張メモリ情報をサポートしていない場合、他の
mem
値はデータベース サーバーにアクセスできない可能性があります。
mem.note
mem.supported
が false の場合は、mem.note
フィールドが表示されます。mem.note
フィールドには、テキスト'not all mem info support on this platform'
が含まれています。
メトリクス
metrics : { abortExpiredTransactions: { passes: <integer> }, apiVersions: { <appName1>: <string>, <appName2>: <string>, <appName3>: <string> }, aggStageCounters : { <aggregation stage> : Long("<num>") }, changeStreams: { largeEventsFailed: Long("<num>"), largeEventsSplit: Long("<num>") }, commands: { <command>: { failed: Long("<num>"), validator: { total: Long("<num>"), failed: Long("<num>"), jsonSchema: Long("<num>") }, total: Long("<num>") } }, cursor : { moreThanOneBatch : Long("<num>"), timedOut : Long("<num>"), totalOpened : Long("<num>"), lifespan : { greaterThanOrEqual10Minutes : Long("<num>"), lessThan10Minutes : Long("<num>"), lessThan15Seconds : Long("<num>"), lessThan1Minute : Long("<num>"), lessThan1Second : Long("<num>"), lessThan30Seconds : Long("<num>"), lessThan5Seconds : Long("<num>") }, open : { noTimeout : Long("<num>"), pinned : Long("<num>"), multiTarget : Long("<num>"), singleTarget : Long("<num>"), total : Long("<num>") } }, document : { deleted : Long("<num>"), inserted : Long("<num>"), returned : Long("<num>"), updated : Long("<num>") }, dotsAndDollarsFields : { inserts : Long("<num>"), updates : Long("<num>") }, getLastError : { wtime : { num : <num>, totalMillis : <num> }, wtimeouts : Long("<num>"), default : { unsatisfiable : Long("<num>"), wtimeouts : Long("<num>") } }, mongos : { cursor : { moreThanOneBatch : Long("<num>"), totalOpened : Long("<num>") } }, operation : { scanAndOrder : Long("<num>"), writeConflicts : Long("<num>") }, operatorCounters : { expressions : { <command> : Long("<num>") }, match : { <command> : Long("<num>") } }, query: { allowDiskUseFalse: Long("<num>"), planCacheTotalSizeEstimateBytes: Long("<num>"), updateOneOpStyleBroadcastWithExactIDCount: Long("<num>"), lookup: { pipelineTotalCount: Long("<num>"), slotBasedExecutionCounters: { hashLookup: Long("<num>"), hashLookupSpillToDisk: Long("<num>"), indexedLoopJoin: Long("<num>"), nestedLoopJoin: Long("<num>") } }, multiPlanner: { classicCount: Long("<num>"), classicMicros: Long("<num>"), classicWorks: Long("<num>"), sbeCount: Long("<num>"), sbeMicros: Long("<num>"), sbeNumReads: Long("<num>"), histograms: { classicMicros: [ { lowerBound: Long("0"), count: Long("<num>") }, { < Additional histogram groups not shown. > }, { lowerBound: Long("1073741824"), count: Long("<num>")> }> ], classicNumPlans: [ { lowerBound: Long("0"), count: Long("<num>") }, { < Additional histogram groups not shown. > }, { lowerBound: Long("32"), count: Long("<num>") } ], classicWorks: [ { lowerBound: Long("0"), count: Long("<num>") }, { < Additional histogram groups not shown. > }, { lowerBound: Long("32768"), count: Long("<num>") } ], sbeMicros: [ { lowerBound: Long("0"), count: Long("<num>") }, { < Additional histogram groups not shown. > }, { lowerBound: Long("1073741824"), count: Long("<num>") } ], sbeNumPlans: [ { lowerBound: Long("0"), count: Long("<num>") }, { < Additional histogram groups not shown. > }, { lowerBound: Long("32"), count: Long("<num>") } ], sbeNumReads: [ { lowerBound: Long("0"), count: Long("<num>") }, { < Additional histogram groups not shown. > }, { lowerBound: Long("32768"), count: Long("<num>") } ] } }, queryFramework: { aggregate: { classicHybrid: Long("<num>"), classicOnly: Long("<num>"), cqf: Long("<num>"), sbeHybrid: Long("<num>"), sbeOnly: Long("<num>") }, find: { classic: Long("<num>"), cqf: Long("<num>"), sbe: Long("<num>") } } }, queryExecutor: { scanned : Long("<num>"), scannedObjects : Long("<num>"), collectionScans : { nonTailable : Long("<num>"), total : Long("<num>") } }, record : { moves : Long("<num>") }, repl : { executor : { pool : { inProgressCount : <num> }, queues : { networkInProgress : <num>, sleepers : <num> }, unsignaledEvents : <num>, shuttingDown : <boolean>, networkInterface : <string> }, apply : { attemptsToBecomeSecondary : Long("<num>"), batches : { num : <num>, totalMillis : <num> }, ops : Long("<num>") }, buffer : { count : Long("<num>"), maxSizeBytes : Long("<num>"), sizeBytes : Long("<num>") }, initialSync : { completed : Long("<num>"), failedAttempts : Long("<num>"), failures : Long("<num>") }, network : { bytes : Long("<num>"), getmores : { num : <num>, totalMillis : <num> }, notPrimaryLegacyUnacknowledgedWrites : Long("<num>"), notPrimaryUnacknowledgedWrites : Long("<num>"), oplogGetMoresProcessed : { num : <num>, totalMillis : <num> }, ops : Long("<num>"), readersCreated : Long("<num>"), replSetUpdatePosition : { num : Long("<num>") } }, reconfig : { numAutoReconfigsForRemovalOfNewlyAddedFields : Long("<num>") }, stateTransition : { lastStateTransition : <string>, userOperationsKilled : Long("<num>"), userOperationsRunning : Long("<num>") }, syncSource : { numSelections : Long("<num>"), numTimesChoseSame : Long("<num>"), numTimesChoseDifferent : Long("<num>"), numTimesCouldNotFind : Long("<num>") }, waiters : { opTime : Long("<num>"), replication : Long("<num>") } }, storage : { freelist : { search : { bucketExhausted : <num>, requests : <num>, scanned : <num> } } }, ttl : { deletedDocuments : Long("<num>"), passes : Long("<num>") } },
metrics
実行中の
mongod
インスタンスの現在の使用状況と状態を反映するさまざまな統計を返すドキュメント。
metrics.abortExpiredTransactions.passes
transactionLifetimeLimitSeconds
パラメータよりも古いトランザクションを中止する成功したパスの数を示します。passes
値の増加が停止する場合、abortExpiredTransactions
スレッドが停止している可能性があることを示します。
metrics.aggStageCounters
集計パイプライン ステージの使用について報告するドキュメント。
metrics.aggStageCounters
のフィールドは、集計パイプライン ステージの名前です。serverStatus
は、各パイプライン ステージごとに、そのステージが実行された回数を報告します。バージョン 5.2(および 5.0.6)でアップデートされました。
metrics.apiVersions
ドキュメントには、次の内容が含まれます。
各クライアント・アプリケーションの名前
各アプリケーションが過去 24 時間以内に設定された Stable API バージョン
metrics.apiVersions
を表示するときは、次の点を考慮します。各
appname
に対して可能性のある戻り値は以下の通りです。default
: Stable API バージョンを指定せずにコマンドが発行されました。1
: コマンドは Stable API バージョン 1 で発行されました。
注意
コマンド レベルで Stable API バージョンを指定できるため、
appname
の両方の戻り値が表示される場合があります。コマンドの中には、Stable API バージョンなしで発行されたコマンドもあれば、バージョン 1 で発行されたコマンドもあります。API バージョンのメトリクスは 24 時間保持されます。過去 24 時間以内にアプリケーションから特定の API バージョンでコマンドが発行されなかった場合、その
appname
と API バージョンはメトリクスから削除されます。これは、default
API バージョン メトリクスにも適用されます。接続 URI で
appname
を指定して MongoDB インスタンスに接続するときに、appname
を設定します。?appName=ZZZ
は、appname
をZZZZ
に設定します。Stable API にアクセスするドライバーは、デフォルトの
appname
を設定できます。appname
が設定されていない場合は、製品に基づいてデフォルト値が自動的に入力されます。たとえば、URI にappname
がない MongoDB Compass 接続の場合、メトリクスは'MongoDB Compass': [ 'default' ]
を返します。
バージョン 5.0 の新機能。
metrics.operatorCounters
集計パイプラインの演算子と式の使用について報告するドキュメント。
metrics.operatorCounters.expressions
式演算子の実行頻度を示す番号付きのドキュメント。
大なり演算子(
$gt
)などの特定の演算子のメトリクスを取得するには、その特定の演算子をコマンドに追加します。db.runCommand( { serverStatus: 1 } ).metrics.operatorCounters.expressions.$gt バージョン 5.0 で追加
metrics.operatorCounters.match
マッチ式が実行された頻度を示す番号付きのドキュメント。
マッチ式演算子も、集計パイプライン
$match
ステージの一部として増分されます。$match
ステージで$expr
演算子が使用される場合、$expr
のカウンターは増加しますが、コンポーネント カウンターは増加しません。次のクエリを考えてみましょう。
db.matchCount.aggregate( [ { $match: { $expr: { $gt: [ "$_id", 0 ] } } } ] ) $expr
のカウンターは、クエリが実行されると増分されます。$gt
のカウンターはありません。
metrics.changeStreams
16 MB を超える変更ストリーム イベントに関する情報を報告するドキュメント。
バージョン 6.0.9 の新機能。
metrics.changeStreams.largeEventsFailed
イベントが 16 MB より大きいことが原因で
BSONObjectTooLarge
の例外を引き起こした変更ストリーム イベントの数。例外を防ぐには、$changeStreamSplitLargeEvent
を参照してください。バージョン6.0.9の新機能: ( 5.0.19でも利用可能)
metrics.changeStreams.largeEventsSplit
小さなフラグメントに分割された、16 MB を超える変更ストリーム イベントの数。イベントは、
$changeStreamSplitLargeEvent
パイプライン ステージを使用する場合にのみ分裂されます。バージョン 6.0.9 の新機能。
metrics.commands
データベースコマンドの使用について報告するドキュメント。
metrics.commands
のフィールドは、データベースコマンドの名前です。serverStatus
は、各コマンドごとに、実行の合計回数と失敗した実行回数を報告します。metrics.commands
には、全体のreplSetStepDown
だけでなく、replSetStepDownWithForce
(つまりforce: true
を含むreplSetStepDown
コマンド)も含まれます。以前のバージョンでは、コマンドは全体的なreplSetStepDown
メトリクスのみを報告していました。
metrics.commands.<command>.failed
この
mongod
で<command>
が失敗した回数。
metrics.commands.<create or collMod>.validator
create
コマンドとcollMod
コマンドの場合は、コレクションの検証ルールまたは式を指定するためにコマンドに渡され、空でないvalidator
オブジェクトについて報告するドキュメント。
metrics.commands.<create or collMod>.validator.total
空でない
validator
オブジェクトがこのmongod
のコマンドにオプションとして渡された回数。
metrics.commands.<create or collMod>.validator.failed
空でない
validator
オブジェクトを持つこのmongod
のコマンドに対する呼び出しが、スキーマ検証エラーによって失敗した回数。
metrics.commands.<create or collMod>.validator.jsonSchema
$jsonSchema
を持つvalidator
オブジェクトがこのmongod
のコマンドにオプションとして渡された回数。
metrics.commands.<command>.total
この
mongod
で<command>
が実行された回数。
metrics.commands.update.pipeline
この
mongod
のドキュメントを更新するために集計パイプラインが使用された回数。更新の総数からこの値を引くと、ドキュメントの構文で行われた更新の数を得られます。pipeline
カウンターは、update
とfindAndModify
の操作でのみ使用可能です。
metrics.commands.findAndModify.pipeline
この
mongod
のドキュメントをアップデートするために集計パイプラインでfindAndModify()
が使用された回数。pipeline
カウンターは、update
とfindAndModify
の操作でのみ使用可能です。
metrics.commands.update.arrayFilters
この
mongod
のドキュメントをアップデートするために、arrayFilter が使用された回数。arrayFilters
カウンターは、update
とfindAndModify
の操作でのみ使用可能です。
metrics.commands.findAndModify.arrayFilters
この
mongod
のドキュメントを更新するために、findAndModify()
で arrayFilterが使用された回数。arrayFilters
カウンターは、update
とfindAndModify
の操作でのみ使用可能です。
metrics.document
ドキュメントのアクセスと変更のパターンを反映するドキュメント。これらの値を、操作の合計数を追跡する
opcounters
ドキュメントのデータと比較します。
metrics.dotsAndDollarsFields
ドル(
$
)のプレフィックスが付いた名前を使用して、挿入またはアップデート操作が実行された頻度を示す数値を含むドキュメント。この値は、操作の正確な数を報告するものではありません。アップサート操作によって新しいドキュメントが作成される場合、そのドキュメントは
update
ではなくinsert
と見なされます。バージョン 5.0 で追加
metrics.getLastError
書込み保証(write concern)の使用について報告するドキュメント。
metrics.getLastError.wtime
w
の引数が1
より大きい書込み保証(write concern)操作の回数を報告するドキュメント。
metrics.getLastError.wtime.num
指定された書込み保証(write concern)操作の合計数(つまり、
w
)は、レプリカセットの 1 つまたは複数のノードが書込み(write)操作を確認するまで待機します(たとえば、w
の値が1
より大きい場合)。
metrics.getLastError.wtime.totalMillis
mongod
が書込み保証(write concern)を使用して書込み保証(write concern)操作の実行に費やした合計時間(ミリ秒単位)(つまり、w
)は、レプリカセットの 1 つまたは複数のノードが書込み(write)操作(たとえば、1
より大きいw
値)を確認するのを待機します。
metrics.getLastError.wtimeouts
wtimeout
しきい値の結果、書込み保証(write concern)操作がタイムアウトした回数。この数値は、デフォルトおよびデフォルト以外の書込み保証(write concern)の指定において、両方で増加します。
metrics.getLastError.default
デフォルトの書込み保証(write concern)がいつ使用されたかを報告するドキュメント(つまり
clientSupplied
以外の書込み保証(write concern))。デフォルトの書込み保証(write concern)の原因として考えられるものは次のとおりです。implicitDefault
customDefault
getLastErrorDefaults
それぞれの書込み保証(write concern)の原因、または
provenance
に関する情報については、次の表を参照します。出所説明clientSupplied
書き込み保証(write concern)がアプリケーションで指定されました。
customDefault
書込み保証 (write concern) は、カスタム定義されたデフォルト値に基づきます。
setDefaultRWConcern
を参照してください。getLastErrorDefaults
書込み保証 (write concern) は、レプリカセットの
settings.getLastErrorDefaults
のフィールドに基づきます。implicitDefault
他の書き込み保証(write concern)が一切指定されていない状態で、サーバーから発生した書き込み保証。
metrics.getLastError.default.unsatisfiable
clientSupplied
以外の書込み保証(write concern)がUnsatisfiableWriteConcern
エラー コードを返した回数。
metrics.mongos
mongos
に関するメトリクスを含むドキュメント。
metrics.mongos.cursor
mongos
で使用されるカーソルのメトリクスを含むドキュメント。
metrics.mongos.cursor.moreThanOneBatch
mongos
が開始されてから、複数のバッチを返したカーソルの合計数。追加のバッチは、getMore
コマンドを使用して取得されます。バージョン 5.0 で追加
metrics.mongos.cursor.totalOpened
現在開いているカーソルを含む、
mongos
の開始以降に開かれたカーソルの合計数。現在開いているカーソルの数のみを示すmetrics.cursor.open.total
とは異なります。バージョン 5.0 で追加
metrics.query.multiPlanner
スロットベースのクエリ実行エンジンとクラシック クエリ エンジンの詳細なクエリ プラン データを提供します。スロットベースのクエリ実行エンジンの詳細については、「スロットベースのクエリ実行エンジンのパイプライン最適化」を参照してください。
これらのメトリクスは主に MongoDB による内部使用を目的としています。
バージョン 6.0.0、5.0.9、4.4.15 の新機能
query.queryFramework.aggregate
各クエリフレームワークで実行された集計操作の数を報告するドキュメント。
query.queryFramework.aggregate
のサブフィールドは、各フレームワークが集計操作の実行に使用された回数を示します。
query.queryFramework.find
各クエリフレームワークで実行された検索操作の数を報告するドキュメント。
query.queryFramework.find
のサブフィールドは、各フレームワークが検索操作を実行するために使用された回数を示します。
metrics.queryExecutor.scanned
クエリおよびクエリプランの評価中にスキャンされたインデックスアイテムの合計数。このカウンターは
explain()
の出力のtotalKeysExamined
と同じです。
metrics.queryExecutor.scannedObjects
クエリおよびクエリプランの評価中にスキャンされたドキュメントの合計数。このカウンターは
explain()
の出力のtotalDocsExamined
と同じです。
metrics.queryExecutor.collectionScans.nonTailable
追尾可能 (tailable) カーソルを使用しなかったコレクションスキャンを実行したクエリの数。
metrics.queryExecutor.collectionScans.total
コレクションスキャンを実行したクエリの総数。合計は、追尾可能 (tailable) カーソルを使用したクエリと使用しなかったクエリで構成されています。
metrics.repl
レプリケーション プロセスに関連するメトリクスを報告するドキュメント。
metrics.repl
ドキュメントは、レプリカセットのノードではないインスタンスも含め、すべてのmongod
インスタンスに表示されます。
metrics.repl.apply
レプリケーション oplog からの操作の適用について報告するドキュメント。
metrics.repl.apply.batchSize
適用された oplog 操作の合計数。
metrics.repl.apply.batchSize
は、各操作の後に 1 つずつ増加するのではなく、バッチ境界でバッチ内の操作の数に応じて増加します。より詳細な情報については、「
metrics.repl.apply.ops
」を参照してください。
metrics.repl.apply.batches
metrics.repl.apply.batches
は、レプリカセットのセカンダリ ノード上の oplog アプリケーション プロセスを報告します。oplog アプリケーション プロセスの詳細については、「マルチスレッド レプリケーション」を参照してください。
metrics.repl.apply.batches.totalMillis
mongod
が oplog から操作を適用するのに費やした合計時間(ミリ秒単位)。
metrics.repl.apply.ops
適用された oplog 操作の合計数。
metrics.repl.apply.ops
は、各操作の後に増加します。
metrics.repl.buffer
MongoDB は、バッチで oplog エントリを適用する前に、レプリケーション同期ソース バッファから oplog 操作をバッファします。
metrics.repl.buffer
は、oplog バッファを追跡する方法を提供します。oplog アプリケーション プロセスの詳細については、「マルチスレッド レプリケーション」を参照してください。
metrics.repl.buffer.maxSizeBytes
バッファの最大サイズ。この値は
mongod
内の定数設定であり、構成できません。
metrics.repl.network
metrics.repl.network
レプリケーション プロセスによるネットワークの使用を報告します。
metrics.repl.network.bytes
metrics.repl.network.bytes
レプリケーション同期ソースから読み取られたデータの総量を報告します。
metrics.repl.network.getmores
metrics.repl.network.getmores
は、oplog レプリケーション プロセスの一部として oplog カーソルから追加の結果を要求するgetmore
操作について報告します。
metrics.repl.network.getmores.num
metrics.repl.network.getmores.num
では、レプリケーション同期ソースから追加の操作セットをリクエストする操作であるgetmore
操作の合計数が報告されます。
metrics.repl.network.getmores.totalMillis
metrics.repl.network.getmores.totalMillis
は、getmore
操作からデータを収集するのに必要な合計時間を報告します。注意
getmore
操作が最初にデータを返さない場合でも MongoDB はさらに多くのデータを待機するため、この数値はかなり大きくなる可能性があります。
metrics.repl.network.getmores.numEmptyBatches
セカンダリが同期元から受け取る、空の
oplog
バッチの数。セカンダリは、ソースと完全に同期されており、次のいずれかの場合に空のバッチを受け取ります。getmore
が追加のデータを待機中にタイムアウトした場合、または同期ソースのマジョリティ コミット ポイントは、このセカンダリに最後にバッチが送信された以降に進んでいます。
プライマリの場合で、インスタンスが以前はセカンダリだった場合、セカンダリであったときに受信した空のバッチの数が報告されます。それ以外の場合で、プライマリの場合、この数値は
0
になります。
metrics.repl.network.notPrimaryLegacyUnacknowledgedWrites
現在の
mongod
がPRIMARY
の状態でないために失敗した、確認応答されていない(w: 0
)レガシー書込み (write)操作(オペコード を参照)の数。
metrics.repl.network.notPrimaryUnacknowledgedWrites
現在の
mongod
がPRIMARY
状態でないために失敗した、確認応答されていない(w: 0
)書込み(write)操作の数。
metrics.repl.network.oplogGetMoresProcessed.totalMillis
metrics.repl.network.oplogGetMoresProcessed.num
でカウントされた、getMore
コマンドの処理にノードが費やした時間(ミリ秒単位)。
metrics.repl.network.readersCreated
作成された oplog クエリ プロセスの合計数。MongoDB では、タイムアウトやネットワーク操作など、接続でエラーが発生するたびに新しい oplog クエリが作成されます。さらに、MongoDB でレプリケーションの新しいソースが選択されるたびに
metrics.repl.network.readersCreated
が増加します。
metrics.repl.network.replSetUpdatePosition.num
ノードが同期ソースに送信した
replSetUpdatePosition
コマンドの数。replSetUpdatePosition
コマンドは、ノードから同期ソースにレプリケーションの進行状況を伝える内部レプリケーション コマンドです。注意
STARTUP2
状態のレプリカセット ノードは、同期ソースにreplSetUpdatePosition
コマンドを送信しません。
metrics.repl.reconfig
ノード
newlyAdded
フィールドがプライマリによって自動的に削除された回数を含むドキュメント。ノードがレプリカセットに初めて追加されると、ノードのnewlyAdded
フィールドはtrue
に設定されます。バージョン 5.0 で追加
metrics.repl.reconfig.numAutoReconfigsForRemovalOfNewlyAddedFields
newlyAdded
ノード フィールドがプライマリによって自動的に削除された回数です。ノードがレプリカセットに初めて追加されると、ノードのnewlyAdded
フィールドはtrue
に設定されます。プライマリは、ノードの状態がSECONDARY
、RECOVERING
、またはROLLBACK
であることを示すノードのハートビート応答を受信すると、ノードのnewlyAdded
フィールドを自動的に削除します。newlyAdded
フィールドはlocal.system.replset
コレクションに保存されます。バージョン 5.0 で追加
metrics.repl.stateTransition
以下のいずれかのトランザクションをノードが実行するとユーザー操作が中断される可能性があり、その場合のユーザー操作に関する情報は次のとおりです。
ノードがプライマリに昇格するトランザクション。
ノードがセカンダリに降格するトランザクション。
ノードがロールバックを実行しているトランザクション。
metrics.repl.stateTransition.lastStateTransition
以下のトランザクションが報告されています。
状態の変更説明"stepUp"
ノードがプライマリに昇格するトランザクション。
"stepDown"
ノードがセカンダリに降格するトランザクション。
"rollback"
ノードがロールバックを実行しているトランザクション。
""
ノードの状態は変更されていません。
metrics.repl.stateTransition.userOperationsKilled
mongod
インスタンスの状態変更中に停止された操作の数。注意
このメトリクスは、操作がユーザーまたはサーバーによって開始されたかどうかにかかわらず、強制終了された操作の総数を反映しています。
metrics.repl.stateTransition.userOperationsRunning
mongod
インスタンスの状態変更中に実行中のままだった操作の数。注意
このメトリクスは、操作がユーザーまたはサーバーによって開始されたかどうかにかかわらず、実行中の操作の総数を反映しています。
metrics.repl.syncSource
レプリカセット ノードの同期ソースの選択プロセスに関する情報です。
metrics.repl.syncSource.numSelections
利用可能な同期ソース オプションの中から、同期するノードを選択しようとした回数です。たとえば、同期ソースが再評価されたり、ノードが現在の同期ソースからエラーを受け取ったりすると、ノードは同期元のノードを選択しようとします。
metrics.repl.waiters.replication
書き込み確認(書き込み保証)の確認応答の複製またはジャーナル処理を待っているスレッドの数。
バージョン6.0.16の新機能: ( 5.0.27でも利用可能 )
metrics.repl.waiters.opTime
ローカルレプリケーションの optime 割り当てのためにキューに入れられたスレッドの数。
バージョン6.0.16の新機能: ( 5.0.27でも利用可能 )
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.moreThanOneBatch
サーバー プロセスの開始以降に複数のバッチを返したカーソルの合計数です。追加のバッチは、
getMore
コマンドを使用して取得されます。バージョン 5.0 で追加
metrics.cursor.timedOut
サーバー プロセスの開始以降にタイムアウトしたカーソルの合計数です。この数値が大きい場合、または一定の割合で増加している場合、アプリケーション エラーが発生している可能性があります。
metrics.cursor.totalOpened
現在開いているカーソルを含む、サーバー プロセスの開始以降に開かれたカーソルの合計数。現在開いているカーソルの数のみを示す
metrics.cursor.open.total
とは異なります。バージョン 5.0 で追加
metrics.cursor.lifespan
指定された期間中、有効期限内のカーソルの数を報告するドキュメントです。カーソルの有効期限は、カーソルが作成されてから、
killCursors
コマンドによってカーソルが強制終了されるか、カーソルのバッチ内にオブジェクトが残っていない状態になるまでの時間です。有効期限は次のとおりです。
1 秒未満
1 秒以上 5 秒未満
5 秒以上 15 秒未満
15 秒以上 30 秒未満
30 秒以上 1 分未満
1 分以上 10 分未満
10 分以上
バージョン 5.0 で追加
metrics.cursor.open.noTimeout
非アクティブな期間が一定期間続いてもタイムアウトをしないよう
DBQuery.Option.noTimeout
オプションで設定されたオープン カーソルの数です。
metrics.cursor.open.total
MongoDB がクライアント用に保持しているカーソルの数です。MongoDB は未使用のカーソルを使い切るため、通常この値は小さい値またはゼロになります。ただし、キューや古くなった追尾可能 (tailable) カーソル、あるいは多数の操作がある場合、この値が増加することがあります。
metrics.cursor.open.singleTarget
単一のシャードのみを対象とするカーソルの総数。
mongos
インスタンスのみがmetrics.cursor.open.singleTarget
値を報告します。
metrics.cursor.open.multiTarget
複数のシャードのみを対象とするカーソルの総数。
mongos
インスタンスのみがmetrics.cursor.open.multiTarget
値を報告します。
ミラー読み取り
mongod でのみ利用可能です。
"mirroredReads" : { "seen" : <num>, "sent" : <num> },
mirroredReads
mongod でのみ利用可能です。
ミラーリングされた読み取りについて報告するドキュメント。
mirroredReads
情報を返すには、包含を明示的に指定する必要があります。db.runCommand( { serverStatus: 1, mirroredReads: 1 } ) mirroredReads.seen
ノードが受信したミラーリングをサポートする操作の数です。
ネットワーク
network : { bytesIn : Long("<num>"), bytesOut : Long("<num>"), physicalBytesIn : Long("<num>"), physicalBytesOut : Long("<num>"), numSlowDNSOperations : Long("<num>"), numSlowSSLOperations : Long("<num>"), numRequests : Long("<num>"), tcpFastOpen : { kernelSetting : Long("<num>"), serverSupported : <bool>, clientSupported : <bool>, accepted : Long("<num>") }, compression : { snappy : { compressor : { bytesIn : Long("<num>"), bytesOut : Long("<num>") }, decompressor : { bytesIn : Long("<num>"), bytesOut : Long("<num>") } }, zstd : { compressor : { bytesIn : Long("<num>"), bytesOut : Long("<num>") }, decompressor : { bytesIn : Long("<num>"), bytesOut : Long("<num>") } }, zlib : { compressor : { bytesIn : Long("<num>"), bytesOut : Long("<num>") }, decompressor : { bytesIn : Long("<num>"), bytesOut : Long("<num>") } } }, serviceExecutors : { passthrough : { threadsRunning : <num>, clientsInTotal : <num>, clientsRunning : <num>, clientsWaitingForData : <num> }, fixed : { threadsRunning : <num>, clientsInTotal : <num>, clientsRunning : <num>, clientsWaitingForData : <num> } }, listenerProcessingTime : { durationMicros : <num> } // Added in MongoDB 6.3 }
network
MongoDB のネットワーク使用に関するデータを報告するドキュメントです。これらの統計は、Ingress 接続 のみを測定します。具体的には、クライアントまたは他の
mongod
やmongos
のインスタンスによって開始されたネットワーク接続を介してmongod
またはmongos
が認識したトラフィックです。このmongod
またはmongos
インスタンスによって開始されたネットワーク接続からのトラフィック(具体的には Egress 接続)は、これらの統計では測定されません。
network.bytesIn
クライアントまたは他の
mongod
やmongos
インスタンスによって開始されたネットワーク接続を介してサーバーが受信した論理バイトの合計数です。論理バイトは特定のファイルに含まれる正確なバイト数です。
network.bytesOut
クライアントまたは他の
mongod
やmongos
インスタンスによって開始されたネットワーク接続を介してサーバーが送信した論理バイトの合計数です。論理バイトは特定のファイルに含まれるバイト数に相当します。
network.physicalBytesIn
クライアントまたは他の
mongod
やmongos
インスタンスによって開始されたネットワーク接続を介してサーバーが受信した物理バイトの合計数です。物理バイトはディスク上に実際に存在するバイト数です。
network.physicalBytesOut
クライアントまたは他の
mongod
やmongos
インスタンスによって開始されたネットワーク接続を介してサーバーが送信した物理バイトの合計数です。物理バイトはディスク上に実際に存在するバイト数です。
network.numRequests
サーバーが受信した個別のリクエストの合計数。この値を使用して、
network.bytesIn
値とnetwork.bytesOut
値のコンテキストを提供し、MongoDB のネットワーク利用がアプリケーションの使用と期待とに合致していることを確認します。
network.tcpFastOpen.kernelSetting
Linux のみ
/proc/sys/net/ipv4/tcp_fastopen
の値を返します。0
- システム上で TCP Fast Open が無効になっています。1
- 送信接続に対して TCP Fast Open が有効になっています。2
- 着信接続に対して TCP Fast Open が有効になっています。3
- 着信接続と発信接続で TCP Fast Open が有効になっています。
network.tcpFastOpen.serverSupported
ホスト オペレーティング システムがインバウンド TCP Fast Open (TFO)接続をサポートしている場合、
true
を返します。ホスト オペレーティング システムがインバウンド TCP Fast Open(TFO)接続をサポートしていない場合、
false
を返します。
network.tcpFastOpen.clientSupported
ホスト オペレーティング システムがアウトバウンド TCP Fast Open(TFO)接続をサポートしている場合、
true
を返します。ホスト オペレーティング システムがアウトバウンド TCP Fast Open(TFO)接続をサポートしていない場合、
false
を返します。
network.tcpFastOpen.accepted
mongod
またはmongos
が最後に起動してからmongod
またはmongos
が受け入れた着信 TCP Fast Ope(TFO)接続の合計数です。
network.compression.snappy
Snappy ライブラリを使用して圧縮および解凍されたバイト数に関する統計を返すドキュメントです。
network.compression.zstd
zstd ライブラリを使用して圧縮および解凍されたバイト数に関する統計を返すドキュメントです。
network.compression.zlib
zlib ライブラリを使用して圧縮および解凍されたバイト数に関する統計を返すドキュメントです。
network.serviceExecutors.passthrough
バージョン 5.0 で追加
passthrough
サービス実行プログラムのスレッドとクライアントに関するデータを報告するドキュメントです。passthrough
サービス実行プログラムは、クライアントごとに新しいスレッドを作成し、クライアントの終了後にそのスレッドを破棄します。
network.serviceExecutors.passthrough.threadsRunning
バージョン 5.0 で追加
passthrough
サービス実行プログラムで実行されているスレッド数です。
network.serviceExecutors.passthrough.clientsInTotal
バージョン 5.0 で追加
passthrough
サービス実行プログラムに割り当てられたクライアントの合計数です。現在実行中のリクエスト以外でも、クライアントをpassthrough
サービス実行プログラムに割り当てることができます。
network.serviceExecutors.passthrough.clientsRunning
バージョン 5.0 で追加
現在
passthrough
サービス実行プログラムを使用してリクエストを実行しているクライアントの数です。
network.serviceExecutors.passthrough.clientsWaitingForData
バージョン 5.0 で追加
passthrough
サービス実行プログラムを使用してネットワークからの受信データを待機しているクライアントの数です。
network.serviceExecutors.fixed
バージョン 5.0 で追加
fixed
サービス実行プログラムのスレッドとクライアントに関するデータを報告するドキュメントです。fixed
サービス実行プログラムには決められた数のスレッドがあります。スレッドはクライアントに一時的に割り当てられ、クライアントが終了した後もスレッドは保持されます。
network.serviceExecutors.fixed.clientsInTotal
バージョン 5.0 で追加
fixed
サービス実行プログラムに割り当てられたクライアントの合計数です。現在実行中のリクエスト以外でも、クライアントをfixed
サービス実行プログラムに割り当てることができます。
network.serviceExecutors.fixed.clientsRunning
バージョン 5.0 で追加
現在
fixed
サービス実行プログラムを使用してリクエストを実行しているクライアントの数です。
network.serviceExecutors.fixed.clientsWaitingForData
バージョン 5.0 で追加
fixed
サービス実行プログラムを使用してネットワークからの受信データを待機しているクライアントの数です。
opLatencies
``mongod`` インスタンスのみ
opLatencies : { reads : <document>, writes : <document>, commands : <document> },
opLatencies
インスタンス全体での操作レイテンシを含むドキュメントです。このドキュメントの説明については、
latencyStats
ドキュメントを参照してください。mongod
インスタンスのみが {opLatencies
を報告します。
opReadConcernCounters
mongod インスタンスのみ
opReadConcernCounters : { available : Long("<num>"), linearizable : Long("<num>"), local : Long("<num>"), majority : Long("<num>"), snapshot : Long("<num>"), none : Long("<num>") }
opReadConcernCounters
バージョン 5.0 で削除。
readConcernCounters
に置き換えられました。前回の起動以降
mongod
インスタンスに対してクエリ操作によって指定された読み取り保証 (read concern) レベルを報告するドキュメントです。指定済みw
説明"available"
読み取り保証 (read concern) レベル
"available"
を指定したクエリ操作の数です。"linearizable"
読み取り保証 (read concern) レベル
"linearizable"
を指定したクエリ操作の数です。"local"
読み取り保証 (read concern) レベル
"local"
を指定したクエリ操作の数です。"majority"
読み取り保証 (read concern) レベル
"majority"
を指定したクエリ操作の数です。"snapshot"
読み取り保証 (read concern) レベル
"snapshot"
を指定したクエリ操作の数です。"none"
読み取り保証 (read concern) レベルを指定せず、デフォルトの読み取り保証 (read concern) レベルを使用したクエリ操作の数です。
opReadConcernCounters
の合計はopcounters.query
と等しくなります。
opWriteConcernCounters
mongod インスタンスのみ
opWriteConcernCounters : { insert : { wmajority : Long("<num>"), wnum : { <num> : Long("<num>"), ... }, wtag : { <tag1> : Long("<num>"), ... }, none : Long("<num>"), noneInfo : { CWWC : { wmajority : Long("<num>"), wnum : { <num> : Long("<num>"), ... }, wtag : { <tag1> : Long("<num>"), ... } }, implicitDefault : { wmajority : Long("<num>") wnum : { <num> : Long("<num>"), ... } } } }, update : { wmajority : Long("<num>"), wnum : { <num> : Long("<num>"), ... }, wtag : { <tag1> : Long("<num>"), ... }, none : Long("<num>"), noneInfo : { CWWC : { wmajority : Long("<num>"), wnum : { <num> : Long("<num>"), ... } wtag : { <tag1> : Long("<num>"), ... } }, implicitDefault : { wmajority : Long("<num>") wnum : { <num> : Long("<num>"), ... } } } }, delete : { wmajority : Long("<num>") wnum : { <num> : Long("<num>"), ... }, wtag : { <tag1> : Long("<num>"), ... }, none : Long("<num>"), noneInfo : { CWWC : { wmajority : Long("<num>"), wnum : { <num> : Long("<num>"), ... }, wtag : { <tag1> : Long("<num>"), ... } }, implicitDefault : { wmajority : Long("<num>") wnum : { <num> : Long("<num>"), ... } } } } }
opWriteConcernCounters
前回の起動以降
mongod
インスタンスに対して書込み (write) 操作によって指定された書込み保証 (write concern) を報告するドキュメントです。具体的には、
opWriteConcernCounters
は、書き込み操作によって指定された w: <value> について報告します。書き込み保証に関するジャーナル フラグ オプション(j
)とタイムアウト オプション(wtimeout
)はカウントに影響しません。操作がタイムアウトした場合でも、カウントは増加します。注意
reportOpWriteConcernCountersInServerStatus
パラメータがtrue
(デフォルトではfalse
)に設定されている場合にのみ使用できます。
opWriteConcernCounters.insert
前回の起動以降
mongod
インスタンスに対して挿入操作によって指定された w: <value> を報告するドキュメントです。注意
reportOpWriteConcernCountersInServerStatus
パラメータがtrue
(デフォルトではfalse
)に設定されている場合にのみ使用できます。insert : { wmajority : Long("<num>"), wnum : { <num> : Long("<num>"), ... }, wtag : { <tag1> : Long("<num>"), ... }, none : Long("<num>"), noneInfo : { CWWC : { wmajority : Long("<num>"), wnum : {}, wtag : {} }, implicitDefault : { wmajority : Long("<num>") wnum : {} } } }, 指定済みw
説明"wmajority"
w: "majority"
を指定した挿入操作の数。"wnum"
w: <num>
を指定した挿入操作の数。カウントは特定の「<num>」ごとにグループ化されます。"wtag"
w: <tag>
を指定した挿入操作の数。カウントは特定の<tag>
ごとにグループ化されます。"none"
w
値が指定されていない挿入操作の数です。これらの操作では、デフォルトのw
値「majority」が使用されます。"noneInfo"
デフォルトの書込み保証 (write concern) を使用する非トランザクション クエリ操作の数です。メトリクスは
cluster wide write concern
(グローバルデフォルトの書込み保証 (write concern))と暗黙のデフォルトの書込み保証 (write concern) の使用状況を追跡します。opWriteConcernCounters.noneInfo
の値の合計はopWriteConcernCounters.none
の値と等しくなっている必要があります。opWriteConcernCounters.insert
の合計はopcounters.insert
と等しくなります。
opWriteConcernCounters.update
前回の起動以降
mongod
インスタンスに対するアップデート操作によって指定された w: <value> を報告するドキュメントです。注意
reportOpWriteConcernCountersInServerStatus
パラメータがtrue
(デフォルトではfalse
)に設定されている場合にのみ使用できます。update : { wmajority : Long("<num>"), wnum : { <num> : Long("<num>"), ... }, wtag : { <tag1> : Long("<num>"), ... }, none : Long("<num>"), noneInfo : { CWWC : { wmajority : Long("<num>"), wnum : {}, wtag : {} }, implicitDefault : { wmajority : Long("<num>") wnum : {} } } }, 指定済みw
説明"wmajority"
w: "majority"
を指定したアップデート操作の数です。"wnum"
w: <num>
を指定したアップデート操作の数です。カウントは特定の<num>
ごとにグループ化されます。"wtag"
w: <tag>
を指定したアップデート操作の数です。カウントは特定の<tag>
ごとにグループ化されます。"none"
w
値が指定されていないアップデート操作の数です。これらの操作では、デフォルトのw
値である1
が使用されます。"noneInfo"
デフォルトの書込み保証 (write concern) を使用する非トランザクション クエリ操作の数です。メトリクスは
cluster wide write concern
(グローバルデフォルトの書込み保証 (write concern))と暗黙のデフォルトの書込み保証 (write concern) の使用状況を追跡します。opWriteConcernCounters.noneInfo
の値の合計はopWriteConcernCounters.none
の値と等しくなっている必要があります。opWriteConcernCounters.update
の合計はopcounters.update
と等しくなります。
opWriteConcernCounters.delete
前回の起動以降
mongod
インスタンスに対する削除操作によって指定された w: <value> を報告するドキュメントです。注意
reportOpWriteConcernCountersInServerStatus
パラメータがtrue
(デフォルトではfalse
)に設定されている場合にのみ使用できます。delete : { wmajority : Long("<num>"), wnum : { <num> : Long("<num>"), ... }, wtag : { <tag1> : Long("<num>"), ... }, none : Long("<num>"), noneInfo : { CWWC : { wmajority : Long("<num>"), wnum : {}, wtag : {} }, implicitDefault : { wmajority : Long("<num>") wnum : {} } } } 指定済みw
説明"wmajority"
w: "majority"
を指定した削除操作の数。"wnum"
w: <num>
を指定した削除操作の数。カウントは特定の<num>
ごとにグループ化されます。"wtag"
w: <tag>
を指定した削除操作の数。カウントは特定の<tag>
ごとにグループ化されます。"none"
w
値が指定されていない削除操作の数。これらの操作では、デフォルトのw
値である1
が使用されます。"noneInfo"
デフォルトの書込み保証 (write concern) を使用する非トランザクション クエリ操作の数です。メトリクスは
cluster wide write concern
(グローバルデフォルトの書込み保証 (write concern))と暗黙のデフォルトの書込み保証 (write concern) の使用状況を追跡します。opWriteConcernCounters.noneInfo
の値の合計はopWriteConcernCounters.none
の値と等しくなっている必要があります。opWriteConcernCounters.delete
の合計はopcounters.delete
と等しくなります。
opcounters
返された opcounters。* 値は NumberLong 型です。
opcounters : { insert : Long("<num>"), query : Long("<num>"), update : Long("<num>"), delete : Long("<num>"), getmore : Long("<num>"), command : Long("<num>"), },
opcounters
mongod
インスタンスが最後に起動されて以降のデータベース操作をタイプ別に報告するドキュメント。これらの数値は、次回の再起動まで時間の経過とともに増加します。これらの値を一定の期間分析し、データベースの使用状況を追跡します。
注意
opcounters
のデータは、一括挿入や複数のアップデート操作など、複数のドキュメントに影響する操作を単一の操作として扱います。より詳細なドキュメント レベルの操作追跡については、metrics.document
を参照してください。さらに、以下の値は受け付けた操作を反映するため、操作が成功しなくとも増加します。
opcounters.insert
mongod
インスタンスが最後に起動されて以降に受け取った挿入操作の合計数。返された opcounters。* 値は NumberLong 型です。
opcounters.query
mongod
インスタンスが最後に起動されて以降に受け取ったクエリの合計数。返された opcounters。* 値は NumberLong 型です。
opcounters.update
mongod
インスタンスが最後に起動されて以降に受け取った更新操作の合計数。返された opcounters。* 値は NumberLong 型です。
opcounters.delete
mongod
インスタンスが最後に起動されて以降の削除操作の合計数。返された opcounters。* 値は NumberLong 型です。
opcounters.getmore
mongod
インスタンスが最後に起動されて以降のgetMore
操作の合計数。クエリ数が少ない場合でも、このカウンターは高くなることがあります。セカンダリノードは、レプリケーション プロセスの一部としてgetMore
操作を送信します。返された opcounters。* 値は NumberLong 型です。
opcounters.command
mongod
インスタンスが最後に起動されて以降のデータベースに対して発行されたコマンドの合計数。opcounters.command
は書込みコマンド を除く すべての コマンド をカウントします: 、insert
、update
delete
。返された opcounters。* 値は NumberLong 型です。
opcounters.deprecated
このセクションは、次のいずれかの非推奨のオペコードが使用されている場合にのみ、
db.serverStatus()
出力に表示されます。deprecated: { opQuery: Long("<num>") } これらの命令コードは MongoDB 5.0 で非推奨となり、MongoDB 5.1 ではこれらの命令コードのサポートが削除されました。 MongoDB 5.1 以降、
mongod
は非推奨の命令コードを使用するリクエストを拒否し、対応する カウンターを増加させます。OP_QUERY
は、一般ルールの例外です。mongod
は、OP_QUERY
を使用するhello
およびisMaster
リクエストを引き続きサポートします。mongod
は他のOP_QUERY
リクエストを拒否します。mongod
が起動するとカウンターはリセットされます。
opcountersRepl
返された opcountersRepl.*値は NumberLong 型です。
opcountersRepl : { insert : Long("<num>"), query : Long("<num>"), update : Long("<num>"), delete : Long("<num>"), getmore : Long("<num>"), command : Long("<num>"), },
opcountersRepl
mongod
インスタンスが最後に起動されて以降のデータベース レプリケーション操作をタイプ別に報告するドキュメントです。これらの値は、現在のホストがレプリカセットのノードである場合にのみ表示されます。
これらの値が
opcounters
値と異なるのは、MongoDB がレプリケーション中に操作を直列化する方法が原因です。レプリケーションの詳細については、「レプリケーション」を参照してください。これらの数値は、次回の再起動まで、データベースの使用状況に応じて時間の経過とともに増加します。これらの値を一定の期間分析し、データベースの使用状況を追跡します。
返された opcountersRepl.*値は NumberLong 型です。
opcountersRepl.insert
mongod
インスタンスが最後に起動されて以降に複製された挿入操作の総数。返された opcountersRepl.*値は NumberLong 型です。
opcountersRepl.query
mongod
インスタンスが最後に起動されて以降に複製されたクエリの合計数。返された opcountersRepl.*値は NumberLong 型です。
opcountersRepl.update
mongod
インスタンスが最後に起動されて以降に複製されたアップデートの合計数。返された opcountersRepl.*値は NumberLong 型です。
opcountersRepl.delete
mongod
インスタンスが最後に起動されて以降に複製された削除操作の合計数。返された opcountersRepl.*値は NumberLong 型です。
opcountersRepl.getmore
mongod
インスタンスが最後に起動されて以降のgetMore
操作の合計数。クエリ数が少ない場合でも、このカウンターは高くなることがあります。セカンダリノードは、レプリケーション プロセスの一部としてgetMore
操作を送信します。返された opcountersRepl.*値は NumberLong 型です。
opcountersRepl.command
mongod
インスタンスが最後に起動されて以降にデータベースに発行された複製コマンドの合計数。返された opcountersRepl.*値は NumberLong 型です。
oplogTruncation
oplogTruncation : { totalTimeProcessingMicros : Long("<num>"), processingMethod : <string>, oplogMinRetentionHours : <double> totalTimeTruncatingMicros : Long("<num>"), truncateCount : Long("<num>") },
oplogTruncation
Oplog の切り捨てについて報告するドキュメント
このフィールドは、現在のインスタンスがレプリカセットのノードであり 、 自己管理型配置用 に WiredTiger storage engine または インメモリ storage engine のいずれかを使用している場合にのみ表示されます。
oplogTruncation.totalTimeProcessingMicros
oplog を切り捨てる時点を決定するために oplog をスキャンまたはサンプルするのにかかった合計時間(マイクロ秒単位)。
totalTimeProcessingMicros
は、mongod
インスタンスが既存のデータファイルで起動された場合にのみ意味があります(つまり 自己管理型配置用の インメモリ ストレージ エンジン では意味がありません)。詳細は、次を参照してください:
oplogTruncation.processingMethod
oplogTruncation.processingMethod
起動時に oplog を切り捨てる時点を決定するために使用される方法。値は
"sampling"
または"scanning"
のいずれかです。processingMethod
は、mongod
インスタンスが既存のデータファイルで起動された場合にのみ意味があります(つまり 自己管理型配置用の インメモリ ストレージ エンジン では意味がありません)。
oplogTruncation.oplogMinRetentionHours
oplog の最小保持期間(単位は時間)。oplog が oplog サイズを超えた場合、
mongod
は、設定された保持値よりも古い oplog エントリのみを切り捨てます。mongod
がレプリカセットのノードであり、次の場合にのみ表示されます。mongod
は--oplogMinRetentionHours
コマンドライン オプションまたはstorage.oplogMinRetentionHours
構成ファイル オプションで開始され、or
最小保持期間は、起動後に
replSetResizeOplog
を使用して構成されました。
queryStats
バージョン 6.0.7 の新機能。
queryStats: { numEvicted: Long("<num>"), numRateLimitedRequests: Long("<num>"), queryStatsStoreSizeEstimateBytes: Long("<num>"), numQueryStatsStoreWriteErrors: Long("<num>"), numHmacApplicationErrors: Long("<num>") },
queryStats
$queryStats
集計ステージのメトリクスを含むドキュメント。
readConcernCounters
バージョン 5.0 で追加
readConcernCounters : { nonTransactionOps : { none : Long("<num>"), noneInfo : { CWRC : { local : Long("<num>"), available : Long("<num>"), majority : Long("<num>") }, implicitDefault : { local : Long("<num>"), available : Long("<num>") } }, local : Long("<num>"), available : Long("<num>"), majority : Long("<num>"), snapshot : { withClusterTime : Long("<num>"), withoutClusterTime : Long("<num>") }, linearizable : Long("<num>") }, transactionOps : { none : Long("<num>"), noneInfo : { CWRC : { local : Long("<num>"), available : Long("<num>"), majority : Long("<num>") }, implicitDefault : { local : Long("<num>"), available : Long("<num>") } }, local : Long("<num>"), majority : Long("<num>"), snapshot : { withClusterTime : Long("<num>"), withoutClusterTime : Long("<num>") } } },
readConcernCounters
クエリ操作で指定された読み取り保証(read concern)レベルについて報告するドキュメント。このドキュメントには、
readConcernCounters.nonTransactionOps
およびreadConcernCounters.transactionOps
ドキュメントが含まれています。
readConcernCounters.nonTransactionOps
データベース サーバーが最後に起動して以降に実行された非トランザクション クエリ操作によって指定された、読み取り保証 (read concern) レベルについて報告するドキュメント。
readConcernCounters.nonTransactionOps.none
読み取り保証 (read concern) レベルを指定せず、次のいずれかを使用した非トランザクション クエリ操作の数。
デフォルトの読み取り保証 (read concern) レベル、または
setDefaultRWConcern
コマンドによって設定された場合のグローバル デフォルトの読み取り保証 (read concern) の設定。
readConcernCounters.nonTransactionOps.noneInfo
グローバル デフォルトの読み取り保証 (read concern) と暗黙のデフォルト読み取り保証 (read concern) を使用する非トランザクション クエリ操作の数。
readConcernCounters.nonTransactionOps.noneInfo
の値の合計はreadConcernCounters.nonTransactionOps.none
の値と等しくなっている必要があります。
readConcernCounters.nonTransactionOps.local
"local"
読み取り保証 (read concern) を指定した非トランザクション クエリ操作の数。
readConcernCounters.nonTransactionOps.available
"available"
読み取り保証 (read concern) を指定した非トランザクション クエリ操作の数。
readConcernCounters.nonTransactionOps.majority
"majority"
読み取り保証 (read concern) を指定した非トランザクション クエリ操作の数。
readConcernCounters.nonTransactionOps.snapshot
"snapshot"
読み取り保証 (read concern) レベルを指定した非トランザクション クエリ操作を含むドキュメントです。
readConcernCounters.nonTransactionOps.snapshot.withClusterTime
"snapshot"
読み取り保証 (read concern) レベルと特定の時点のクラスター時間を指定した非トランザクション クエリ操作の数です。
readConcernCounters.nonTransactionOps.snapshot.withoutClusterTime
クラスター時間を除いて
"snapshot"
読み取り保証 (read concern) レベルを指定した非トランザクション クエリ操作の数。つまり、ポイント イン タイムは除かれ、サーバーはノードで使用可能な、最新のコミット済みのスナップショットを読み取ります。
readConcernCounters.nonTransactionOps.linearizable
"linearizable"
読み取り保証 (read concern) を指定した非トランザクション クエリ操作の数。
readConcernCounters.transactionOps
データベース サーバーが最後に起動して以降に実行されたトランザクション クエリ操作によって指定された、読み取り保証 (read concern) について報告するドキュメントです。
readConcernCounters.transactionOps.none
読み取り保証 (read concern) レベルを指定せず、デフォルトの読み取り保証 (read concern) レベル、または
setDefaultRWConcern
コマンドで追加された、グローバル デフォルトの読み取り保証 (read concern) または書込み保証 (write concern) 構成を使用したトランザクション クエリ操作の数です。
readConcernCounters.transactionOps.noneInfo
トランザクション クエリ操作で使用される、グローバル デフォルト読み取り保証 (read concern) と暗黙のデフォルト読み取り保証 (read concern) に関する情報
readConcernCounters.transactionOps.local
"local"
読み取り保証 (read concern) レベルを指定したトランザクション クエリ操作の数
readConcernCounters.transactionOps.available
"available"
読み取り保証 (read concern) レベルを指定したトランザクション クエリ操作の数
readConcernCounters.transactionOps.majority
"majority"
読み取り保証 (read concern) レベルを指定したトランザクション クエリ操作の数
readConcernCounters.transactionOps.snapshot
"snapshot"
読み取り保証 (read concern) レベルを指定したトランザクションクエリ操作を含むドキュメントです。
readConcernCounters.transactionOps.snapshot.withClusterTime
"snapshot"
読み取り保証 (read concern) レベルと特定の時点のクラスター時間を指定したトランザクション クエリ操作の数
readConcernCounters.transactionOps.snapshot.withoutClusterTime
クラスター時間を除いて
"snapshot"
読み取り保証 (read concern) レベルを指定したトランザクション クエリ操作の数。つまり、ポイント イン タイムは除かれ、サーバーはノードで使用可能な、最新のコミット済みのスナップショットを読み取ります。
readPreferenceCounters (英語)
MongoDB 6.0.11 以降で使用可能。
mongod でのみ利用可能です。
readPreferenceCounters : { executedOnPrimary : { primary : { internal : Long("<num>"), external : Long("<num>") }, primaryPreferred : { internal : Long("<num>"), external : Long("<num>") }, secondary : { internal : Long("<num>"), external : Long("<num>") }, secondaryPreferred : { internal : Long("<num>"), external : Long("<num>") }, nearest : { internal : Long("<num>"), external : Long("<num>") }, tagged : { internal : Long("<num>"), external : Long("<num>") } }, executedOnSecondary : { primary : { internal : Long("<num>"), external : Long("<num>") }, primaryPreferred : { internal : Long("<num>"), external : Long("<num>") }, secondary : { internal : Long("<num>"), external : Long("<num>") }, secondaryPreferred : { internal : Long("<num>"), external : Long("<num>") }, nearest : { internal : Long("<num>"), external : Long("<num>") }, tagged : { internal : Long("<num>"), external : Long("<num>") } } }
readPreferenceCounters
mongod でのみ利用可能です。
指定された読み込み設定 (read preference) を備えたこの
mongod
ノードによって受信した操作の数を報告するドキュメント。tagged
サブフィールドは、タグとともに渡される任意の読み込み設定 (read preference) を参照します。
レプラー
repl : { hosts : [ <string>, <string>, <string> ], setName : <string>, setVersion : <num>, isWritablePrimary : <boolean>, secondary : <boolean>, primary : <hostname>, me : <hostname>, electionId : ObjectId(""), primaryOnlyServices: { ReshardingRecipientService: { state: <string>, numInstances: <num> }, RenameCollectionParticipantService: { state: <string>, numInstances: <num> }, ShardingDDLCoordinator: { state: <string>, numInstances: <num> }, ReshardingDonorService: { state: <string>, numInstances: <num> } }, rbid : <num>, replicationProgress : [ { rid : <ObjectId>, optime : { ts: <timestamp>, term: <num> }, host : <hostname>, memberId : <num> }, ... ] }
repl.setName
現在のレプリカセットの名前を含む文字列。この値は、
--replSet
コマンドライン引数、または構成ファイル内のreplSetName
の値を反映します。
repl.isWritablePrimary
現在のノードがレプリカセットのプライマリかどうかを示すブール値。
repl.secondary
現在のノードがレプリカセットのセカンダリかどうかを示すブール値。
repl.primary
レプリカセットの現在のプライマリノードのホスト名とポート情報(
"host:port"
)。
repl.primaryOnlyServices
サーバー上でアクティブな各プライマリ サービスのインスタンス数とインスタンスのステータスを含むドキュメントです。プライマリサービスは、サーバーがプライマリの場合にのみ開始できますが、サーバーの状態が変化した後も実行を継続し、完了することができます。
バージョン 5.0 で追加
repl.primaryOnlyServices.ReshardingRecipientService
ReshardingRecipientService
のインスタンスの状態と数を含むドキュメント受信者は、新しいシャードキーとゾーンに従って、再シャーディング操作の結果としてチャンクを所有するシャードです。
リシャーディング コーディネーターは、各ドナー シャード プライマリと受信者シャード プライマリに対して、一時的にシャーディングされたコレクションの名前を変更するよう指示します。一時的なコレクションは、新しいリシャーディングされたコレクションになります。
バージョン 5.0 で追加
repl.primaryOnlyServices.RenameCollectionParticipantService
RenameCollectionParticipantService
のインスタンスの状態と数を含むドキュメントRenameCollectionParticipantService
は、シャードが renameCollection リクエストを受信した後、システム障害が発生した場合にシャードがローカルの名前変更を再開できるようにするものです。バージョン 5.0 で追加
repl.primaryOnlyServices.ShardingDDLCoordinator
ShardingDDLCoordinator
のインスタンスの状態と数を含むドキュメントShardingDDLCoordinator
サービスは、データベースの作成、データベースの削除、コレクションの名前変更など、プライマリ データベースの DDL 操作を管理します。ShardingDDLCoordinator
は、シャーディングされたクラスター内の特定の時点で、各データベースに対して 1 つの DDL 操作が実行されるようにします。バージョン 5.0 で追加
repl.primaryOnlyServices.ReshardingDonorService
ReshardingDonorService
のインスタンスの状態と数を含むドキュメントドナーは、リネーム操作が完了する前にシャーディングされたコレクションのチャンクを所有するシャードです。
リシャーディング コーディネーターは、各ドナー シャード プライマリと受信者シャード プライマリに対して、一時的にシャーディングされたコレクションの名前を変更するよう指示します。一時的なコレクションは、新しいリシャーディングされたコレクションになります。
バージョン 5.0 で追加
repl.replicationProgress
レプリカセットの各ノードに対して 1 つのドキュメントを持つ配列で、このノードにレプリケーション プロセスを報告します。通常はプライマリか、連結したレプリケーションを使用している場合はセカンダリです。
この出力を含めるには、次のように
repl
オプションをserverStatus
に渡す必要があります。db.serverStatus({ "repl": 1 }) db.runCommand({ "serverStatus": 1, "repl": 1 }) repl.replicationProgress
セクションの内容は、各ノードのレプリケーションのソースによって異なります。このセクションは内部操作をサポートしており、内部および診断のみを目的としています。
repl.replicationProgress[n].optime
このノードから報告された、ノードが適用した oplog からの最後の操作に関する情報。
セキュリティ
security : { authentication : { saslSupportedMechsReceived : <num>, mechanisms : { MONGODB-X509 : { speculativeAuthenticate : { received : Long("<num>"), successful : Long("<num>") }, authenticate : { received : Long("<num>"), successful : Long("<num>") } }, SCRAM-SHA-1 : { speculativeAuthenticate : { received : Long("<num>"), successful : Long("<num>") }, authenticate : { received : Long("<num>"), successful : Long("<num>") } }, SCRAM-SHA-256 : { speculativeAuthenticate : { received : Long("<num>"), successful : Long("<num>") }, authenticate : { received : Long("<num>"), successful : Long("<num>") } } } }, SSLServerSubjectName: <string>, SSLServerHasCertificateAuthority: <boolean>, SSLServerCertificateExpirationDate: <date> },
security
次のアイテムについて報告するドキュメント。
security.authentication.saslSupportedMechsReceived
バージョン 5.0 で追加
hello
リクエストが有効なhello.saslSupportedMechs
フィールドを含む回数
security.authentication.mechanisms
mongod
またはmongos
インスタンスの認証に特定の認証メカニズムが使用された回数を報告するドキュメントです。このドキュメントの値は、標準の認証と推測的認証を区別します。[1]注意
mechanisms
ドキュメント内のフィールドは、authenticationMechanisms
パラメータの構成によって異なります。mechanisms
ドキュメントには、mongod
またはmongos
インスタンスでサポートされている各認証メカニズムのフィールドが含まれています。次の例は、x.509 認証のみをサポートする配置に対する
mechanisms
ドキュメントの形状を示しています。
security.authentication.mechanisms.MONGODB-X509
mongod
またはmongos
インスタンスに対する認証に x.509 が使用された回数を報告するドキュメントです。x.509
認証の試行とその試行のうち推測的認証だったサブセットの総数を含みます。[1]
security.authentication.mechanisms.MONGODB-X509.speculativeAuthenticate.successful
x.509 による推測的認証のうち成功した試行回数。[1]
security.authentication.mechanisms.MONGODB-X509.authenticate.received
x.509 による認証の成功した試行回数と失敗した試行回数。この値には、x.509 による推測的認証の試行が含まれます。
security.authentication.mechanisms.MONGODB-X509.authenticate.successful
x.508 による成功した認証の試行回数。この値には、x.509 を使用して成功した推測的認証の試行が含まれます。
[1] (1、2、3、4) 推測的認証は認証プロセスにおけるネットワーク ラウンド トリップの回数を最小限に抑え、パフォーマンスを最適化します。
シャーディング
{ configsvrConnectionString : 'csRS/cfg1.example.net:27019,cfg2.example.net:27019,cfg2.example.net:27019', lastSeenConfigServerOpTime : { ts : <timestamp>, t : Long("<num>") }, maxChunkSizeInBytes : Long("<num>") }
sharding
シャーディングされたクラスターに関するデータを含むドキュメント。
lastSeenConfigServerOpTime
は、mongos
またはシャード ノードにのみ存在し、コンフィギュレーションサーバーには存在しません。
sharding.lastSeenConfigServerOpTime
mongos
またはシャード ノードが確認した CSRS プライマリの最新の optimeです。optime ドキュメントには、次のものが含まれます。lastSeenConfigServerOpTime
は、シャーディングされたクラスターが CSRS を使用する場合にのみ存在します。
sharding.maxChunkSizeInBytes
移行する範囲の最大サイズ制限。この値がコンフィギュレーションサーバー上で最近アップデートされた場合、
maxChunkSizeInBytes
は最新の値を反映していない可能性があります。
シャーディング統計
シャードのノードに対して実行した場合:
shardingStatistics : { countStaleConfigErrors : Long("<num>"), countDonorMoveChunkStarted : Long("<num>"), countDonorMoveChunkCommitted : Long("<num>"), countDonorMoveChunkAborted : Long("<num>"), totalDonorMoveChunkTimeMillis : Long("<num>"), totalDonorChunkCloneTimeMillis : Long("<num>"), totalCriticalSectionCommitTimeMillis : Long("<num>"), totalCriticalSectionTimeMillis : Long("<num>"), countDocsClonedOnRecipient : Long("<num>"), countBytesClonedOnRecipient : Long("<num>"), countDocsClonedOnCatchUpOnRecipient : Long("<num>"), countBytesClonedOnCatchUpOnRecipient : Long("<num>"), countDocsClonedOnDonor : Long("<num>"), countRecipientMoveChunkStarted : Long("<num>"), countDocsDeletedByRangeDeleter : Long("<num>"), countDonorMoveChunkLockTimeout : Long("<num>"), unfinishedMigrationFromPreviousPrimary : Long("<num>"), chunkMigrationConcurrency : Long("<num>"), catalogCache : { numDatabaseEntries : Long("<num>"), numCollectionEntries : Long("<num>"), countStaleConfigErrors : Long("<num>"), totalRefreshWaitTimeMicros : Long("<num>"), numActiveIncrementalRefreshes : Long("<num>"), countIncrementalRefreshesStarted : Long("<num>"), numActiveFullRefreshes : Long("<num>"), countFullRefreshesStarted : Long("<num>"), countFailedRefreshes : Long("<num>") }, rangeDeleterTasks : <num>, resharding : { countReshardingOperations : Long("<num>"), countReshardingSuccessful : Long("<num>"), countReshardingFailures : Long("<num>"), countReshardingCanceled : Long("<num>"), totalOperationTimeElapsedMillis : Long("<num>"), remainingOperationTimeEstimatedMillis : Long("<num>"), approxDocumentsToCopy : Long("<num>"), documentsCopied : Long("<num>"), approxBytesToCopy : Long("<num>"), bytesCopied : Long("<num>"), totalCopyTimeElapsedMillis : Long("<num>"), oplogEntriesFetched : Long("<num>"), oplogEntriesApplied : Long("<num>"), totalApplyTimeElapsedMillis : Long("<num>"), countWritesDuringCriticalSection : Long("<num>"), totalCriticalSectionTimeElapsedMillis : Long("<num>"), donorState : <num>, recipientState : <num>, coordinatorState : <num>, opStatus : <num>, lastOpEndingChunkImbalance: Long("<num>") } },
shardingStatistics : { numHostsTargeted: { find : { allShards: Long("<num>"), manyShards: Long("<num>"), oneShard: Long("<num>"), unsharded: Long("<num>") }, insert: { allShards: Long("<num>"), manyShards: Long("<num>"), oneShard: Long("<num>"), unsharded: Long("<num>") }, update: { allShards: Long("<num>"), manyShards: Long("<num>"), oneShard: Long("<num>"), unsharded: Long("<num>") }, delete: { allShards: Long("<num>"), manyShards: Long("<num>"), oneShard: Long("<num>"), unsharded: Long("<num>") }, aggregate: { allShards: Long("<num>"), manyShards: Long("<num>"), oneShard: Long("<num>"), unsharded: Long("<num>") } } }, catalogCache : { numDatabaseEntries : Long("<num>"), numCollectionEntries : Long("<num>"), countStaleConfigErrors : Long("<num>"), totalRefreshWaitTimeMicros : Long("<num>"), numActiveIncrementalRefreshes : Long("<num>"), countIncrementalRefreshesStarted : Long("<num>"), numActiveFullRefreshes : Long("<num>"), countFullRefreshesStarted : Long("<num>"), countFailedRefreshes : Long("<num>") } }
コンフィギュレーションサーバー上で実行した場合
"shardingStatistics" : { "numShardedCollections" : Long(<num>) }
shardingStatistics.countStaleConfigErrors
スレッドが古い構成の例外にヒットした合計回数。古い構成の例外によってメタデータの更新がトリガーされるため、この数はメタデータの更新回数にほぼ比例します。
シャードで実行した場合にのみ存在します。
shardingStatistics.countDonorMoveChunkStarted
範囲移行手順 の一環として、MongoDB が
moveChunk
コマンドまたはmoveRange
をシャードのプライマリ ノードで開始した合計回数。この増加する数値はチャンクの移行が成功したかどうかを考慮していません。シャードで実行した場合にのみ存在します。
shardingStatistics.countDonorMoveChunkCommitted
シャードのプライマリ ノードで MongoDB がコミットしたチャンク移行の合計数。
チャンク移行は、範囲移行手順において
moveChunk
コマンドとmoveRange
コマンドによって実行されます。シャード上でのみ利用可能です。
MongoDB 6.0.6(および 5.0.18)以降で利用可能。
shardingStatistics.countDonorMoveChunkAborted
シャードのプライマリ ノードで MongoDB が中止したチャンク移行の合計数。
チャンク移行は、範囲移行手順において
moveChunk
コマンドとmoveRange
コマンドによって実行されます。シャード上でのみ利用可能です。
MongoDB 6.0.6(および 5.0.18)以降で利用可能。
shardingStatistics.totalDonorMoveChunkTimeMillis
現在のシャードから別のシャードにチャンクを移動するのにかかる累計時間(ミリ秒単位)。範囲移行手順において、各チャンクの移行について
moveRange
またはmoveChunk
コマンドが開始した時点から時間の計測が始まり、チャンクが別のシャードに移動した時点で計測が終了します。シャード上でのみ利用可能です。
MongoDB 6.0.6(および 5.0.18)以降で利用可能。
shardingStatistics.totalDonorChunkCloneTimeMillis
シャードのプライマリ ノードで範囲移行手順のクローン フェーズにかかる累計時間(ミリ秒単位)。具体的には、このシャードの移行ごとに、
moveRange
コマンドとmoveChunk
コマンドで時間の記録が開始され、範囲移行手順中に発生した変更を適用するために移行先シャードがcatchup
フェーズに入る前に終了します。シャードで実行した場合にのみ存在します。
shardingStatistics.totalCriticalSectionCommitTimeMillis
シャードのプライマリ ノードで範囲移行手順のメタデータの更新フェーズにかかる累計時間(ミリ秒単位)。メタデータの更新フェーズ中、MongoDB はコレクションに対するすべての操作をブロックします。
シャードで実行した場合にのみ存在します。
shardingStatistics.totalCriticalSectionTimeMillis
シャードのプライマリ ノードで範囲移行手順のキャッチアップフェーズとメタデータのアップデートフェーズにかかる累計時間(ミリ秒単位)。
キャッチアップ フェーズの期間を計算するには、
totalCriticalSectionTimeMillis
からtotalCriticalSectionCommitTimeMillis
を減算します。totalCriticalSectionTimeMillis - totalCriticalSectionCommitTimeMillis シャードで実行した場合にのみ存在します。
shardingStatistics.countDocsClonedOnRecipient
受信者シャードのプライマリ ノードにおいて MongoDB がクローニングするドキュメントの増加し続ける累計数。
シャードで実行した場合にのみ存在します。
shardingStatistics.countBytesClonedOnRecipient
受信シャードのプライマリ ノードにおいて、範囲移行手順中に MongoDB がクローニングするバイトの累計数。
データ同期の詳細については、「レプリカセット データの同期」を参照してください。
シャード上でのみ利用可能です。
MongoDB 6.0.6(および 5.0.18)以降で利用可能。
shardingStatistics.countDocsClonedOnCatchUpOnRecipient
受信シャードのプライマリ ノードにおいて、 範囲移行手順のキャッチアップ フェーズ中に MongoDB がクローニングするドキュメントの累計数。
データ同期の詳細については、「レプリカセット データの同期」を参照してください。
シャード上でのみ利用可能です。
MongoDB 6.0.6(および 5.0.18)以降で利用可能。
shardingStatistics.countBytesClonedOnCatchUpOnRecipient
受信シャードのプライマリ ノードにおいて範囲移行手順のキャッチアップ フェーズ中に MongoDB がクローニングするバイトの、累計数。
データ同期の詳細については、「レプリカセット データの同期」を参照してください。
シャード上でのみ利用可能です。
MongoDB 6.0.6(および 5.0.18)以降で利用可能。
shardingStatistics.countDocsClonedOnDonor
MongoDB がドナー シャードのプライマリ ノードでクローニングするドキュメントの、増加し続ける累計数。
シャードで実行した場合にのみ存在します。
shardingStatistics.countRecipientMoveChunkStarted
受信者シャードのプライマリとして機能しているこのノードが(移動の成否にかかわらず)受信を開始したチャンクの、増加し続ける累計数。
シャードで実行した場合にのみ存在します。
shardingStatistics.countDocsDeletedByRangeDeleter
ドナー シャードのプライマリ ノードにおいてチャンクの移行中に MongoDB が削除したドキュメントの、増加し続ける累計数。
シャードで実行した場合にのみ存在します。
バージョン 7.1 で変更。
shardingStatistics.countDonorMoveChunkLockTimeout
ドナー シャードのプライマリ ノードにおいてロック取得のタイムアウトにより MongoDB が中止したチャンク移行の、増加し続ける累計数。
シャードで実行した場合にのみ存在します。
shardingStatistics.unfinishedMigrationFromPreviousPrimary
選挙後、以前のプライマリが完了しないままとなった移行の数。この値は、新たに選出された
mongod
がプライマリへの移行を完了した後にのみアップデートされます。シャードで実行した場合にのみ存在します。
shardingStatistics.chunkMigrationConcurrency
チャンク移行操作を実行するためのソースシャードと受信シャードのスレッド数。
シャードで実行した場合にのみ存在します。
MongoDB 6.3 以降で使用可能(そして 6.0.5 および 5.0.15)
shardingStatistics.catalogCache.countStaleConfigErrors
スレッドが古い構成の例外にヒットした合計回数。古い設定の例外によってメタデータの更新がトリガーされます。
shardingStatistics.rangeDeleterTasks
すぐに実行可能な、または範囲移行手順の一部として実行中の、キューにあるチャンクの範囲削除タスクの現在の合計数。
config.rangeDeletions
コレクションのドキュメントを調査し、チャンク移行後にシャードからの削除が保留になっているチャンク範囲に関する情報を確認してください。シャード ノードで実行される場合にのみ存在します。
shardingStatistics.resharding
リシャーディング操作に関する統計を含むドキュメント。
各シャードは、そのシャードにおける再シャーディング操作の統計を返します。シャードがリシャーディング操作に関与していない場合、そのシャードにはリシャーディング操作に関する統計が含まれません。
シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。
バージョン 5.0 で追加
shardingStatistics.resharding.countReshardingOperations
countReshardingSuccessful
、countReshardingFailures
、countReshardingCanceled
の合計。再シャーディング操作が開始されたがまだ完了していない場合、合計はさらに1
増加します。mongod
が起動または再起動されると、合計は 0 に設定されます。シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。
バージョン 5.0 で追加
shardingStatistics.resharding.countReshardingSuccessful
成功したリシャーディング操作の数。
mongod
を起動または再起動すると、番号は 0 に設定されます。シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。
バージョン 5.0 で追加
shardingStatistics.resharding.countReshardingFailures
失敗したリシャーディング操作の数です。
mongod
を起動または再起動すると、番号は 0 に設定されます。シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。
バージョン 5.0 で追加
shardingStatistics.resharding.countReshardingCanceled
キャンセルされたリシャーディング操作の数です。
mongod
を起動または再起動すると、番号は 0 に設定されます。シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。
バージョン 5.0 で追加
shardingStatistics.resharding.totalOperationTimeElapsedMillis
現在のリシャーディング操作の合計経過時間(ミリ秒単位)です。新たにリシャーディング操作を開始すると、時間は 0 に設定されます。
シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。コンフィギュレーションサーバー上で 0 を返します。
バージョン 5.0 で追加
shardingStatistics.resharding.remainingOperationTimeEstimatedMillis
現在のリシャーディング操作で推定される残り時間(ミリ秒単位)。 新たにリシャーディング操作を開始すると、時間は 0 に設定されます。
シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。コンフィギュレーションサーバー上で 0 を返します。
バージョン 5.0 で追加
shardingStatistics.resharding.approxDocumentsToCopy
現在のリシャーディング操作でドナー シャードから受信者シャードにコピーするドキュメントのおおよその数。 数値は再シャーディング操作の開始時に設定される推定値であり、操作の進行状況で更新されることはありません。 新たにリシャーディング操作を開始すると、数値は 0 に設定されます。
シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。コンフィギュレーションサーバー上で 0 を返します。
バージョン 5.0 で追加
shardingStatistics.resharding.documentsCopied
現在のリシャーディング操作でドナー シャードから受信者シャードにコピーされたドキュメントの数です。新たにリシャーディング操作を開始すると、数値は 0 に設定されます。
シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。コンフィギュレーションサーバー上で 0 を返します。
バージョン 5.0 で追加
shardingStatistics.resharding.approxBytesToCopy
現在のリシャーディング操作でドナー シャードから受信者シャードにコピーされるおおよそのバイト数。 数値は再シャーディング操作の開始時に設定される推定値であり、操作の進行状況で更新されることはありません。 新たにリシャーディング操作を開始すると、数値は 0 に設定されます。
シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。コンフィギュレーションサーバー上で 0 を返します。
バージョン 5.0 で追加
shardingStatistics.resharding.bytesCopied
現在のリシャーディング操作でドナー シャードから受信者シャードにコピーされたバイト数。新たにリシャーディング操作を開始すると、数値は 0 に設定されます。
シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。コンフィギュレーションサーバー上で 0 を返します。
バージョン 5.0 で追加
shardingStatistics.resharding.totalCopyTimeElapsedMillis
現在のリシャーディング操作におけるドナー シャードから受信者シャードへの進行中のデータ コピー タスクの合計経過時間(ミリ秒単位)です。 新たにリシャーディング操作を開始すると、時間は 0 に設定されます。
シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。コンフィギュレーションサーバー上で 0 を返します。
バージョン 5.0 で追加
shardingStatistics.resharding.oplogEntriesFetched
現在の リシャーディング操作で oplog から取得されたエントリの数です。新たにリシャーディング操作を開始すると、数値は 0 に設定されます。
シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。コンフィギュレーションサーバー上で 0 を返します。
shardingStatistics.resharding.oplogEntriesApplied
現在のリシャーディング操作で oplog に適用されたエントリの数。新たにリシャーディング操作を開始すると、数値は 0 に設定されます。
シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。コンフィギュレーションサーバー上で 0 を返します。
バージョン 5.0 で追加
shardingStatistics.resharding.totalApplyTimeElapsedMillis
現在のリシャーディング操作における適用ステップの合計経過時間(ミリ秒単位)です。適用ステップでは、受信者シャードは、ドナー シャードから新たに受信した書込み (write) に基づいてデータを変更します。新たにリシャーディング操作を開始すると、時間は 0 に設定されます。
シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。コンフィギュレーションサーバー上で 0 を返します。
バージョン 5.0 で追加
shardingStatistics.resharding.countWritesDuringCriticalSection
現在のリシャーディング操作でクリティカル セクションにおいて実行された書込み (write) 回数。クリティカル セクションは、リシャーディング中のコレクションへの新規の受信書込み (write) を防止します。新たにリシャーディング操作を開始すると、数値は 0 に設定されます。
シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。コンフィギュレーションサーバー上で 0 を返します。
バージョン 5.0 で追加
shardingStatistics.resharding.totalCriticalSectionTimeElapsedMillis
現在のリシャーディング操作におけるクリティカル セクションの合計経過時間(ミリ秒単位)です。クリティカル セクションは、リシャーディング中のコレクションへの新規の受信書込み (write) を防止します。新たにリシャーディング操作を開始すると、時間は 0 に設定されます。
シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。コンフィギュレーションサーバー上で 0 を返します。
バージョン 5.0 で追加
shardingStatistics.resharding.donorState
現在のリシャーディング操作におけるドナー シャードの状態です。新たにリシャーディング操作を開始すると、数値は 0 に設定されます。
返された数値意味説明0
unused
現在のリシャーディング操作においてシャードがドナーではない場合
1
preparing-to-donate
ドナー シャードは、受信者シャードにデータを提供する準備をしています。
2
donating-initial-data
ドナー シャードは受信者シャードにデータを提供します。
3
donating-oplog-entries
ドナー シャードは、受信者シャードに oplog エントリを提供しています。
4
preparing-to-block-writes
ドナー シャードは、リシャーディング中のコレクションへの新規の受信書込み (write) 操作を阻止しようとしています。
5
error
リシャーディング操作中にエラーが発生しました
6
blocking-writes
ドナー シャードは新規の受信書込み (write) 操作を防ぎ、新規の受信書込み (write) が禁止されていることをすべての受信者シャードに通知しました。
7
done
ドナー シャードは古いシャーディングされたコレクションを削除し、リシャーディング操作は完了しました。
シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。コンフィギュレーションサーバー上で 0 を返します。
バージョン 5.0 で追加
shardingStatistics.resharding.recipientState
現在のリシャーディング操作における受信者シャードの状態です。新たにリシャーディング操作を開始すると、数値は 0 に設定されます。
返された数値意味説明0
unused
シャードは、現在のリシャーディング操作の受信者ではありません。
1
awaiting-fetch-timestamp
受信シャードは、ドナー シャードがデータを提供する準備ができるのを待っています。
2
creating-collection
受信者シャードは新しいシャーディングされたコレクションを作成しています。
3
cloning
受信者シャードはドナー シャードからデータを受信しています。
4
applying
受信者シャードは、ドナー シャードからの新規受信書込み (write) に基づいてデータのコピーを変更するために、oplog エントリを適用しています。
5
error
リシャーディング操作中にエラーが発生しました
6
strict-consistency
受信者シャードでは、すべてのデータ変更は一時的なコレクションに保存されます。
7
done
リシャーディング操作が完了しました。
シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。コンフィギュレーションサーバー上で 0 を返します。
バージョン 5.0 で追加
shardingStatistics.numHostsTargeted
CRUD
操作および集計コマンドの対象となるシャードの数を示します。CRUD
操作または集計コマンドが実行されると、次のメトリクスが増加します。名前説明allShards
すべてのシャードを対象とするコマンド
manyShards
複数のシャードを対象としているコマンド
oneShard
単一のシャードを対象としているコマンド
unsharded
シャーディングされていないコレクションに対して実行されたコマンド
注意
serverStatus
コマンドをmongos
で実行すると、シャーディングされたクラスターで実行される CRUD および集計操作のインサイトが提供されます。マルチシャード操作には、スキャッター ギャザー操作とシャードに固有の操作があります。マルチシャードのスキャッター ギャザー操作は、より多くのリソースを消費する可能性があります。
shardingStatistics.numHostsTargeted
メトリクスを使用すると、シャーディングされたクラスターで実行される集計クエリを調整できます。
shardingStatistics.numShardedCollections
クラスタ内のシャーディングされたコレクションの数を示します。
コンフィギュレーションサーバー上で実行した場合にのみ存在します。
shardingStatistics.resharding.coordinatorState
現在のリシャーディング操作におけるリシャーディング コーディネーターの状態です。リシャーディング コーディネーターは、コンフィギュレーションサーバーのプライマリで実行されるスレッドです。新たにリシャーディング操作を開始すると、数値は 0 に設定されます。
返された数値意味説明0
unused
シャードは、現在のリシャーディング操作のコーディネーターではありません。
1
initializing
リシャーディング コーディネーターは、コーディネーター ドキュメントを
config.reshardingOperations
に挿入し、元のコレクションのconfig.collections
エントリにreshardingFields
を追加しました。2
preparing-to-donate
リシャーディング コーディネーター
は一時的なリシャーディング コレクション用の
config.collections
エントリを作成しました。は新しいシャードキーに基づく範囲に対するエントリを
config.chunks
に挿入しました。は新しいシャード キーに関連付けられたすべてのゾーンに対するエントリを
config.tags
に挿入しました。
コーディネーターは、参加シャードにリシャーディング操作を開始するように通知します。その後、コーディネーターはすべてのドナー シャードが
minFetchTimestamp
を選択し、提供の準備が整うまで待ちます。3
cloning
リシャーディング コーディネーターは、受信者シャードにデータを提供するようドナー シャードに通知します。コーディネーターは、すべての受信者がドナーからのデータの複製を完了させるのを待機します。
4
applying
リシャーディング コーディネーターは、ドナー シャードから新たに受信した書込み (write) に基づいてデータのコピーを変更するよう、受信者シャードに通知します。コーディネーターは、すべての受信者が oplog エントリの適用を完了させるのを待機します。
5
blocking-writes
リシャーディング コーディネーターは、コレクションへの新たな受信書込み (write) 操作がリシャーディングされないよう、ドナー シャードに通知します。その後、コーディネーターはすべての受信者がすべてのデータ変更を完了させるのを待機します。
6
aborting
リシャーディング操作中に回復不能なエラーが発生したか、
abortReshardCollection
コマンド(またはsh.abortReshardCollection()
メソッド)が実行されました。6
committing
リシャーディング コーディネーターは、一時的なリシャーディングコレクションの
config.collections
エントリを削除します。次に、コーディネーターはrecipientFields
をソース コレクションのエントリに追加します。シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。
バージョン 5.0 で追加
shardingStatistics.resharding.opStatus
現在のリシャーディング操作のステータス
返された数値説明-1
リシャーディング操作は進行中ではありません。
0
リシャーディング操作が成功しました。
1
リシャーディング操作が失敗しました。
2
リシャーディング操作がキャンセルされました。
シャードまたはコンフィギュレーションサーバーで実行された場合にのみ存在します。
バージョン 5.0 で追加
shardingStatistics.resharding.lastOpEndingChunkImbalance
このフィールドには、最新のリシャーディング操作により処理されたコレクションのすべてのゾーンの中で(
maxNumChunksInShard - minNumChunksInShard
)に関する最大の数値差が含まれます。範囲サイズを参照。
コンフィギュレーションサーバーでのみアップデートされます。
バージョン 5.0 で追加
shardedIndexConsistency
shardedIndexConsistency : { numShardedCollectionsWithInconsistentIndexes : Long("<num>") },
shardedIndexConsistency
コンフィギュレーションサーバーのインスタンスでのみ使用できます。
シャーディングされたコレクションに対するインデックス整合性チェックの結果を返すドキュメント。
返されるメトリクスは、シャーディングされたクラスターのコンフィギュレーションサーバー レプリカセットのプライマリで実行された場合にのみ意味があります。
Tip
以下も参照してください。
enableShardedIndexConsistencyCheck
parametershardedIndexConsistencyCheckIntervalMS
parameter
shardedIndexConsistency.numShardedCollectionsWithInconsistentIndexes
コンフィギュレーションサーバーのインスタンスでのみ使用できます。
シャード間でインデックスが一致しないシャーディングされたコレクションの数。コレクションのチャンクを含む各シャードに完全に一致するインデックス(インデックスオプションを含む)が存在しない場合、シャーディングされたコレクションにはインデックスの一貫性がありません。
シャーディングされたコレクションに一貫性のないインデックスがあるかを調べるには、「シャード間で一貫性のないインデックスを検索する」を参照してください。
返されるメトリクスは、シャーディングされたクラスターのコンフィギュレーションサーバー レプリカセットのプライマリで実行された場合にのみ意味があります。
Tip
以下も参照してください。
enableShardedIndexConsistencyCheck
parametershardedIndexConsistencyCheckIntervalMS
parameter
ストレージエンジン用
storageEngine : { name : <string>, supportsCommittedReads : <boolean>, persistent : <boolean> },
storageEngine.supportsCommittedReads
Storage Engine が
"majority"
読み取り保証 (read concern) をサポートしているかを示すブール値。
storageEngine.persistent
Storage Engine がディスクにデータを保持しているかを示すブール値。
トランザクション
transactions : { retriedCommandsCount : Long("<num>"), retriedStatementsCount : Long("<num>"), transactionsCollectionWriteCount : Long("<num>"), currentActive : Long("<num>"), currentInactive : Long("<num>"), currentOpen : Long("<num>"), totalAborted : Long("<num>"), totalCommitted : Long("<num>"), totalStarted : Long("<num>"), totalPrepared : Long("<num>"), totalPreparedThenCommitted : Long("<num>"), totalPreparedThenAborted : Long("<num>"), currentPrepared : Long("<num>"), lastCommittedTransaction : <document> },
transactions : { currentOpen : Long("<num>"), currentActive : Long("<num>"), currentInactive : Long("<num>"), totalStarted : Long("<num>"), totalCommitted : Long("<num>"), totalAborted : Long("<num>"), abortCause : { <String1> : Long("<num>"), <String2> : Long("<num>"), ... }, totalContactedParticipants : Long("<num>"), totalParticipantsAtCommit : Long("<num>"), totalRequestsTargeted : Long("<num>"), commitTypes : { noShards : { initiated : Long("<num>"), successful : Long("<num>"), successfulDurationMicros : Long("<num>") }, singleShard : { initiated : Long("<num>"), successful : Long("<num>"), successfulDurationMicros : Long("<num>") }, singleWriteShard : { initiated : Long("<num>"), successful : Long("<num>"), successfulDurationMicros : Long("<num>") }, readOnly : { initiated : Long("<num>"), successful : Long("<num>"), successfulDurationMicros : Long("<num>") }, twoPhaseCommit : { initiated : Long("<num>"), successful : Long("<num>"), successfulDurationMicros : Long("<num>") }, recoverWithToken : { initiated : Long("<num>"), successful : Long("<num>"), successfulDurationMicros : Long("<num>") } } },
transactions
mongod
で実行した場合の、再試行可能な書き込み とトランザクションに関するデータを含むドキュメントです。
transactions.retriedCommandsCount
mongod でのみ利用可能です。
対応する再試行可能な書き込みコマンドがすでにコミットされた後に受信した再試行の合計回数。これは、以前に書き込みが成功し、
config.transactions
コレクションにトランザクションとセッションに関連するレコードが存在していても、クライアントへの最初の書込み (write) 応答が失われた場合などでは、再試行可能な書き込みが試行されるということです。注意
MongoDB はコミットされた書込み (write) を再実行しません。
合計は全セッションにわたるものです。
合計には、チャンク移行の一環として内部で発生しうる、再試行可能な書き込みは含まれていません。
transactions.retriedStatementsCount
mongod でのみ利用可能です。
transactions.retriedCommandsCount
内の再試行されたコマンドに関連付けられた書き込みステートメントの合計数。注意
MongoDB はコミットされた書込み (write) を再実行しません。
合計には、チャンク移行の一環として内部で発生しうる、再試行可能な書き込みは含まれていません。
transactions.transactionsCollectionWriteCount
mongod でのみ利用可能です。
新しい再試行可能な書き込みステートメントがコミットされるとトリガーされる、
config.transactions
コレクションへの書込み (write) の合計数。アップデート コマンドと削除コマンドでは、1 つのドキュメント操作がのみが再試行可能なため、1 ステートメントにつき 1 回の書込み (write) が必要です。
挿入操作では、失敗により各ドキュメントが個別に挿入される場合を除いて、挿入されたドキュメントのバッチごとに 1 回の書込み (write) が行われます。
合計には、移行の一環として発生する、サーバーの
config.transactions
コレクションへの書込み (write) が含まれます。
transactions.currentOpen
mongod と mongos の両方で利用できます。
オープン トランザクションの合計数。トランザクションは、トランザクションの一部として最初のコマンドが実行されたときに開かれ、トランザクションがコミットまたは中止されるまで開いたままになります。
transactions.totalAborted
mongod
において、このインスタンスが最後に起動して以降にインスタンスで中止されたトランザクションの合計数mongos
において、このインスタンスが最後に起動して以降にインスタンスを通じて中止されたトランザクションの合計数です。
transactions.totalCommitted
mongod
において、このインスタンスが最後に起動して以降にインスタンスでコミットされたトランザクションの合計数です。mongos
において、このインスタンスが最後に起動して以降にインスタンスを通じてコミットされたトランザクションの合計数。
transactions.totalStarted
mongod
において、このインスタンスが最後に起動して以降にインスタンスで開始されたトランザクションの合計数。mongos
において、このインスタンスが最後に起動して以降にインスタンスで開始されたトランザクションの合計数。
transactions.abortCause
mongos でのみ利用可能です。
transactions.totalAborted
の原因別の内訳。クライアントが明示的にabortTransaction
を報告した場合、原因はabort
としてリストされます。以下に例を挙げます。
totalAborted : Long("5"), abortCause : { abort : Long("1"), DuplicateKey : Long("1"), StaleConfig : Long("3"), SnapshotTooOld : Long("1") },
transactions.totalContactedParticipants
mongos でのみ利用可能です。
最後に起動して以降、この
mongos
を通じて開始されたすべてのトランザクションに対して接続したシャードの合計数です。トランザクション プロセス中に接続するシャードの数には、コミットの一部として含まれないシャードを含む場合があります。
transactions.totalParticipantsAtCommit
mongos でのみ利用可能です。
最後に起動して以降、この
mongos
を通じて開始されたすべてのトランザクションに対してコミットに関係したシャードの合計数。
transactions.totalRequestsTargeted
mongos でのみ利用可能です。
トランザクションの一部として
mongos
が対象とするネットワーク リクエストの合計数。
transactions.commitTypes
mongos でのみ利用可能です。
タイプ別のコミットの内訳の例
noShards : { initiated : Long("0"), successful : Long("0"), successfulDurationMicros : Long("0") }, singleShard : { initiated : Long("5"), successful : Long("5"), successfulDurationMicros : Long("203118") }, singleWriteShard : { initiated : Long("0"), successful : Long("0"), successfulDurationMicros : Long("0") }, readOnly : { initiated : Long("0"), successful : Long("0"), successfulDurationMicros : Long("0") }, twoPhaseCommit : { initiated : Long("1"), successful : Long("1"), successfulDurationMicros : Long("179616") }, recoverWithToken : { initiated : Long("0"), successful : Long("0"), successfulDurationMicros : Long("0") } コミットのタイプは次のとおりです。
タイプ説明noShards
どのシャードにも接続しなかったトランザクションのコミット。
singleShard
単一のシャードに関与したトランザクションのコミット。
singleWriteShard
複数のシャードにアクセスしたが、単一のシャードにのみ書込み (write) 操作が作用したトランザクションのコミット。
readOnly
読み取り操作のみを含むトランザクションのコミット。
twoPhaseCommit
複数のシャードに対する書込み (write) を含むトランザクションのコミット
recoverWithToken
別のインスタンスから、またはこのインスタンスが再起動された後にトランザクションの結果を回復したコミット。
コミットのタイプごとに、コマンドは次のメトリクスを返します。
メトリクス説明initiated
このタイプのコミットが開始された合計回数。
successful
このタイプのコミットが成功した合計回数。
successfulDurationMicros
このタイプのコミットが成功した際にかかった時間の合計(マイクロ秒単位)です。
transactions.totalPrepared
mongod でのみ利用可能です。
mongod
プロセスが最後に起動して以降、このサーバー上で準備状態にあったトランザクションの合計数です。
transactions.totalPreparedThenCommitted
mongod でのみ利用可能です。
mongod
プロセスが最後に起動して以降、このサーバー上で準備されコミットされたトランザクションの合計数です。
transactions.totalPreparedThenAborted
mongod でのみ利用可能です。
mongod
プロセスが最後に起動して以降、このサーバー上で準備および中止されたトランザクションの合計数です。
transactions.lastCommittedTransaction
mongod でのみ利用可能です。
mongod
がプライマリのときにコミットされた最後のトランザクションの詳細。セカンダリから返された場合、
lastCommittedTransaction
は、そのセカンダリがプライマリであったときにコミットされた最後のトランザクションの詳細を返します。lastCommittedTransaction : { operationCount : Long("1"), oplogOperationBytes : Long("211"), writeConcern : { w : "majority", wtimeout : 0 } } メトリクス説明operationCount
トランザクション内の書込み (write) 操作の数
oplogOperationBytes
トランザクションに対応する oplog エントリ(1 つまたは複数)のサイズ。[2]
writeConcern
トランザクションに使用された書込み保証 (write concern) です。
[2] | MongoDB では、トランザクションにおけるすべての書き込み操作のカプセル化に必要な数の oplog エントリが作成されます。詳細については、「Oplog のサイズ制限」を参照してください。 |
輸送セキュリティ
transportSecurity : { 1.0 : Long("<num>"), 1.1 : Long("<num>"), 1.2 : Long("<num>"), 1.3 : Long("<num>"), unknown : Long("<num>") },
ウォッチドッグ
watchdog : { checkGeneration : Long("<num>"), monitorGeneration : Long("<num>"), monitorPeriod : <num> }
注意
watchdog
セクションは、Storage Node Watchdog が有効な場合にのみ存在します。
watchdog
Storage Node Watchdog のステータスを報告するドキュメント。
watchdog.monitorGeneration
mongod
が使用するすべてのファイルシステムのステータスが検査された回数。この数値はmonitoringPeriod
ごとに増加します。
watchdog.monitorPeriod
watchdogPeriodSeconds
によって設定された値です。これは、ステータス チェックの間隔を示します。
WiredTiger
wiredTiger
は WiredTiger Storage Engine を使用している場合にのみ情報は表示されます。統計の一部は、サーバーに対してロールアップされます。
{ uri : 'statistics:', async : { current work queue length : <num>, maximum work queue length : <num>, number of allocation state races : <num>, number of flush calls : <num>, number of operation slots viewed for allocation : <num>, number of times operation allocation failed : <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 : { blocks pre-loaded : <num>, blocks read : <num>, blocks written : <num>, bytes read : <num>, bytes written : <num>, bytes written for checkpoint : <num>, mapped blocks read : <num>, mapped bytes read : <num> }, cache : { application threads page read from disk to cache count : <num>, application threads page read from disk to cache time (usecs) : <num>, application threads page write from cache to disk count : <num>, application threads page write from cache to disk time (usecs) : <num>, bytes belonging to page images in the cache : <num>, bytes belonging to the cache overflow table in the cache : <num>, bytes currently in the cache : <num>, bytes dirty in the cache cumulative : <num>, bytes not belonging to page images in the cache : <num>, bytes read into cache : <num>, bytes written from cache : <num>, cache overflow cursor application thread wait time (usecs) : <num>, cache overflow cursor internal thread wait time (usecs) : <num>, cache overflow score : <num>, cache overflow table entries : <num>, cache overflow table insert calls : <num>, cache overflow table max on-disk size : <num>, cache overflow table on-disk size : <num>, cache overflow table remove calls : <num>, checkpoint blocked page eviction : <num>, eviction calls to get a page : <num>, eviction calls to get a page found queue empty : <num>, eviction calls to get a page found queue empty after locking : <num>, eviction currently operating in aggressive mode : <num>, eviction empty score : <num>, eviction passes of a file : <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 slept, because we did not make progress with eviction : <num>, eviction server unable to reach eviction goal : <num>, eviction server waiting for a leaf page : <num>, eviction server waiting for an internal page sleep (usec) : <num>, eviction server waiting for an internal page yields : <num>, eviction state : <num>, eviction walk target pages histogram - 0-9 : <num>, eviction walk target pages histogram - 10-31 : <num>, eviction walk target pages histogram - 128 and higher : <num>, eviction walk target pages histogram - 32-63 : <num>, eviction walk target pages histogram - 64-128 : <num>, eviction walks abandoned : <num>, eviction walks gave up because they restarted their walk twice : <num>, eviction walks gave up because they saw too many pages and found no candidates : <num>, eviction walks gave up because they saw too many pages and found too few candidates : <num>, eviction walks reached end of tree : <num>, eviction walks started from root of tree : <num>, eviction walks started from saved location in tree : <num>, eviction worker thread active : <num>, eviction worker thread created : <num>, eviction worker thread evicting pages : <num>, eviction worker thread removed : <num>, eviction worker thread stable number : <num>, files with active eviction walks : <num>, files with new eviction walks started : <num>, force re-tuning of eviction workers once in a while : <num>, forced eviction - pages evicted that were clean count : <num>, forced eviction - pages evicted that were clean time (usecs) : <num>, forced eviction - pages evicted that were dirty count : <num>, forced eviction - pages evicted that were dirty time (usecs) : <num>, forced eviction - pages selected because of too many deleted items count : <num>, forced eviction - pages selected count : <num>, forced eviction - pages selected unable to be evicted count : <num>, forced eviction - pages selected unable to be evicted time : <num>, hazard pointer blocked page eviction : <num>, hazard pointer check calls : <num>, hazard pointer check entries walked : <num>, hazard pointer maximum array length : <num>, in-memory page passed criteria to be split : <num>, in-memory page splits : <num>, internal pages evicted : <num>, internal pages split during eviction : <num>, leaf pages split during eviction : <num>, maximum bytes configured : <num>, maximum page size at eviction : <num>, modified pages evicted : <num>, modified pages evicted by application threads : <num>, operations timed out waiting for space in cache : <num>, overflow pages read into cache : <num>, page split during eviction deepened the tree : <num>, page written requiring cache overflow records : <num>, pages currently held in the cache : <num>, pages evicted by application threads : <num>, pages queued for eviction : <num>, pages queued for eviction post lru sorting : <num>, pages queued for urgent eviction : <num>, pages queued for urgent eviction during walk : <num>, pages read into cache : <num>, pages read into cache after truncate : <num>, pages read into cache after truncate in prepare state : <num>, pages read into cache requiring cache overflow entries : <num>, pages read into cache requiring cache overflow for checkpoint : <num>, pages read into cache skipping older cache overflow entries : <num>, pages read into cache with skipped cache overflow entries needed later : <num>, pages read into cache with skipped cache overflow entries needed later by checkpoint : <num>, pages requested from the cache : <num>, pages seen by eviction walk : <num>, pages selected for eviction unable to be evicted : <num>, pages walked for eviction : <num>, pages written from cache : <num>, pages written requiring in-memory restoration : <num>, percentage overhead : <num>, tracked bytes belonging to internal pages in the cache : <num>, tracked bytes belonging to leaf pages in the cache : <num>, tracked dirty bytes in the cache : <num>, tracked dirty pages in the cache : <num>, unmodified pages evicted : <num> }, capacity : { background fsync file handles considered : <num>, background fsync file handles synced : <num>, background fsync time (msecs) : <num>, bytes read : <num>, bytes written for checkpoint : <num>, bytes written for eviction : <num>, bytes written for log : <num>, bytes written total : <num>, threshold to call fsync : <num>, time waiting due to total capacity (usecs) : <num>, time waiting during checkpoint (usecs) : <num>, time waiting during eviction (usecs) : <num>, time waiting during logging (usecs) : <num>, time waiting during read (usecs) : <num> }, connection : { auto adjusting condition resets : <num>, auto adjusting condition wait calls : <num>, detected system time went backwards : <num>, files currently open : <num>, memory allocations : <num>, memory frees : <num>, memory re-allocations : <num>, pthread mutex condition wait calls : <num>, pthread mutex shared lock read-lock calls : <num>, pthread mutex shared lock write-lock calls : <num>, total fsync I/Os : <num>, total read I/Os : <num>, total write I/Os : <num> }, cursor : { cached cursor count : <num>, cursor bulk loaded cursor insert calls : <num>, cursor close calls that result in cache : <num>, cursor create calls : <num>, cursor insert calls : <num>, cursor insert key and value bytes : <num>, cursor modify calls : <num>, cursor modify key and value bytes affected : <num>, cursor modify value bytes modified : <num>, cursor next calls : <num>, cursor operation restarted : <num>, cursor prev calls : <num>, cursor remove calls : <num>, cursor remove key bytes removed : <num>, cursor reserve calls : <num>, cursor reset calls : <num>, cursor search calls : <num>, cursor search near calls : <num>, cursor sweep buckets : <num>, cursor sweep cursors closed : <num>, cursor sweep cursors examined : <num>, cursor sweeps : <num>, cursor truncate calls : <num>, cursor update calls : <num>, cursor update key and value bytes : <num>, cursor update value size change : <num>, cursors reused from cache : <num>, open cursor count : <num> }, data-handle : { connection data handle size : <num>, connection data handles currently active : <num>, connection sweep candidate became referenced : <num>, connection sweep dhandles closed : <num>, connection sweep dhandles removed from hash list : <num>, connection sweep time-of-death sets : <num>, connection sweeps : <num>, session dhandles swept : <num>, session sweep attempts : <num> }, lock : { checkpoint lock acquisitions : <num>, checkpoint lock application thread wait time (usecs) : <num>, checkpoint lock internal thread wait time (usecs) : <num>, dhandle lock application thread time waiting (usecs) : <num>, dhandle lock internal thread time waiting (usecs) : <num>, dhandle read lock acquisitions : <num>, dhandle write lock acquisitions : <num>, durable timestamp queue lock application thread time waiting (usecs) : <num>, durable timestamp queue lock internal thread time waiting (usecs) : <num>, durable timestamp queue read lock acquisitions : <num>, durable timestamp queue write lock acquisitions : <num>, metadata lock acquisitions : <num>, metadata lock application thread wait time (usecs) : <num>, metadata lock internal thread wait time (usecs) : <num>, read timestamp queue lock application thread time waiting (usecs) : <num>, read timestamp queue lock internal thread time waiting (usecs) : <num>, read timestamp queue read lock acquisitions : <num>, read timestamp queue write lock acquisitions : <num>, schema lock acquisitions : <num>, schema lock application thread wait time (usecs) : <num>, schema lock internal thread wait time (usecs) : <num>, table lock application thread time waiting for the table lock (usecs) : <num>, table lock internal thread time waiting for the table lock (usecs) : <num>, table read lock acquisitions : <num>, table write lock acquisitions : <num>, txn global lock application thread time waiting (usecs) : <num>, txn global lock internal thread time waiting (usecs) : <num>, txn global read lock acquisitions : <num>, txn global write lock acquisitions : <num> }, log : { busy returns attempting to switch slots : <num>, force archive time sleeping (usecs) : <num>, log bytes of payload data : <num>, log bytes written : <num>, log files manually zero-filled : <num>, log flush operations : <num>, log force write operations : <num>, log force write operations skipped : <num>, log records compressed : <num>, log records not compressed : <num>, log records too small to compress : <num>, log release advances write LSN : <num>, log scan operations : <num>, log scan records requiring two reads : <num>, log server thread advances write LSN : <num>, log server thread write LSN walk skipped : <num>, log sync operations : <num>, log sync time duration (usecs) : <num>, log sync_dir operations : <num>, log sync_dir time duration (usecs) : <num>, log write operations : <num>, logging bytes consolidated : <num>, maximum log file size : <num>, number of pre-allocated log files to create : <num>, pre-allocated log files not ready and missed : <num>, pre-allocated log files prepared : <num>, pre-allocated log files used : <num>, records processed by log scan : <num>, slot close lost race : <num>, slot close unbuffered waits : <num>, slot closures : <num>, slot join atomic update races : <num>, slot join calls atomic updates raced : <num>, slot join calls did not yield : <num>, slot join calls found active slot closed : <num>, slot join calls slept : <num>, slot join calls yielded : <num>, slot join found active slot closed : <num>, slot joins yield time (usecs) : <num>, slot transitions unable to find free slot : <num>, slot unbuffered writes : <num>, total in-memory size of compressed records : <num>, total log buffer size : <num>, total size of compressed records : <num>, written slots coalesced : <num>, yields waiting for previous log file close : <num> }, perf : { file system read latency histogram (bucket 1) - 10-49ms : <num>, file system read latency histogram (bucket 2) - 50-99ms : <num>, file system read latency histogram (bucket 3) - 100-249ms : <num>, file system read latency histogram (bucket 4) - 250-499ms : <num>, file system read latency histogram (bucket 5) - 500-999ms : <num>, file system read latency histogram (bucket 6) - 1000ms+ : <num>, file system write latency histogram (bucket 1) - 10-49ms : <num>, file system write latency histogram (bucket 2) - 50-99ms : <num>, file system write latency histogram (bucket 3) - 100-249ms : <num>, file system write latency histogram (bucket 4) - 250-499ms : <num>, file system write latency histogram (bucket 5) - 500-999ms : <num>, file system write latency histogram (bucket 6) - 1000ms+ : <num>, operation read latency histogram (bucket 1) - 100-249us : <num>, operation read latency histogram (bucket 2) - 250-499us : <num>, operation read latency histogram (bucket 3) - 500-999us : <num>, operation read latency histogram (bucket 4) - 1000-9999us : <num>, operation read latency histogram (bucket 5) - 10000us+ : <num>, operation write latency histogram (bucket 1) - 100-249us : <num>, operation write latency histogram (bucket 2) - 250-499us : <num>, operation write latency histogram (bucket 3) - 500-999us : <num>, operation write latency histogram (bucket 4) - 1000-9999us : <num>, operation write latency histogram (bucket 5) - 10000us+ : <num> }, reconciliation : { fast-path pages deleted : <num>, page reconciliation calls : <num>, page reconciliation calls for eviction : <num>, pages deleted : <num>, split bytes currently awaiting free : <num>, split objects currently awaiting free : <num> }, session : { open session count : <num>, session query timestamp calls : <num>, table alter failed calls : <num>, table alter successful calls : <num>, table alter unchanged and skipped : <num>, table compact failed calls : <num>, table compact successful calls : <num>, table create failed calls : <num>, table create successful calls : <num>, table drop failed calls : <num>, table drop successful calls : <num>, table import failed calls : <num>, table import successful calls : <num>, table rebalance failed calls : <num>, table rebalance successful calls : <num>, table rename failed calls : <num>, table rename successful calls : <num>, table salvage failed calls : <num>, table salvage successful calls : <num>, table truncate failed calls : <num>, table truncate successful calls : <num>, table verify failed calls : <num>, table verify successful calls : <num> }, thread-state : { active filesystem fsync calls : <num>, active filesystem read calls : <num>, active filesystem write calls : <num> }, thread-yield : { application thread time evicting (usecs) : <num>, application thread time waiting for cache (usecs) : <num>, connection close blocked waiting for transaction state stabilization : <num>, connection close yielded for lsm manager shutdown : <num>, data handle lock yielded : <num>, get reference for page index and slot time sleeping (usecs) : <num>, log server sync yielded for log write : <num>, page access yielded due to prepare state change : <num>, 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>, page delete rollback time sleeping for state change (usecs) : <num>, page reconciliation yielded due to child modification : <num> }, transaction : { Number of prepared updates : <num>, Number of prepared updates added to cache overflow : <num>, Number of prepared updates resolved : <num>, durable timestamp queue entries walked : <num>, durable timestamp queue insert to empty : <num>, durable timestamp queue inserts to head : <num>, durable timestamp queue inserts total : <num>, durable timestamp queue length : <num>, number of named snapshots created : <num>, number of named snapshots dropped : <num>, prepared transactions : <num>, prepared transactions committed : <num>, prepared transactions currently active : <num>, prepared transactions rolled back : <num>, query timestamp calls : <num>, read timestamp queue entries walked : <num>, read timestamp queue insert to empty : <num>, read timestamp queue inserts to head : <num>, read timestamp queue inserts total : <num>, read timestamp queue length : <num>, rollback to stable calls : <num>, rollback to stable updates aborted : <num>, rollback to stable updates removed from cache overflow : <num>, set timestamp calls : <num>, set timestamp durable calls : <num>, set timestamp durable updates : <num>, set timestamp oldest calls : <num>, set timestamp oldest updates : <num>, set timestamp stable calls : <num>, set timestamp stable updates : <num>, transaction begins : <num>, transaction checkpoint currently running : <num>, transaction checkpoint generation : <num>, transaction checkpoint max time (msecs) : <num>, transaction checkpoint min time (msecs) : <num>, transaction checkpoint most recent time (msecs) : <num>, transaction checkpoint scrub dirty target : <num>, transaction checkpoint scrub time (msecs) : <num>, transaction checkpoint total time (msecs) : <num>, transaction checkpoints : <num>, transaction checkpoints skipped because database was clean : <num>, transaction failures due to cache overflow : <num>, transaction fsync calls for checkpoint after allocating the transaction ID : <num>, transaction fsync duration for checkpoint after allocating the transaction ID (usecs) : <num>, transaction range of IDs currently pinned : <num>, transaction range of IDs currently pinned by a checkpoint : <num>, transaction range of IDs currently pinned by named snapshots : <num>, transaction range of timestamps currently pinned : <num>, transaction range of timestamps pinned by a checkpoint : <num>, transaction range of timestamps pinned by the oldest active read timestamp : <num>, transaction range of timestamps pinned by the oldest timestamp : <num>, transaction read timestamp of the oldest active reader : <num>, transaction sync calls : <num>, transactions committed : <num>, transactions rolled back : <num>, update conflicts : <num> }, concurrentTransactions : { write : { out : <num>, available : <num>, totalTickets : <num> }, read : { out : <num>, available : <num>, totalTickets : <num> } }, snapshot-window-settings : { total number of SnapshotTooOld errors : <num>, max target available snapshots window size in seconds : <num>, target available snapshots window size in seconds : <num>, current available snapshots window size in seconds : <num>, latest majority snapshot timestamp available : <string>, oldest majority snapshot timestamp available : <string> } }
注意
以下はすべてを網羅するものではありません。
wiredTiger.cache
キャッシュとキャッシュからのページの追い出しに関する統計を返すドキュメント。
以下に、重要な
wiredTiger.cache
の統計をいくつか示します。wiredTiger.cache.bytes currently in the cache
現在キャッシュにあるデータのサイズ(バイト単位)。 この値は
maximum bytes configured
の値より大きくすることはできません。
wiredTiger.cache.tracked dirty bytes in the cache
キャッシュ内のダーティ データのサイズ(バイト単位)。この値は
bytes currently in the cache
の値より小さくする必要があります。
wiredTiger.cache.pages read into cache
キャッシュに読み込まれたページの数。
wiredTiger.cache.pages read into cache
とwiredTiger.cache.pages written from cache
を組み合わせると、I/O アクティビティの概要が提供されます。
wiredTiger.cache.pages written from cache
キャッシュから書き込まれたページ数。
wiredTiger.cache.pages written from cache
とwiredTiger.cache.pages read into cache
を組み合わせると、I/O アクティビティの概要が提供されます。
WiredTiger 内部キャッシュのサイズを調整するには、
storage.wiredTiger.engineConfig.cacheSizeGB
と--wiredTigerCacheSizeGB
を参照してください。WiredTiger の内部キャッシュ サイズをデフォルト値より大きくしないようにしてください。
wiredTiger.concurrentTransactions
WiredTiger storage engine に許可された読み取りトランザクションと書込みトランザクションの同時実行数に関する情報を返すドキュメント。 MongoDB 固有の設定です。
同時読み取りおよび書込みトランザクションの設定を変更するには、
storageEngineConcurrentReadTransactions
とstorageEngineConcurrentWriteTransactions
を参照してください。
writeBacksQueued
writeBacksQueued : <boolean>,
writeBacksQueued
mongos
インスタンスからの操作が再試行のキューに入っているかどうかを示すブール値。通常、この値は false です。writeBacks も参照してください。