定義
serverStatusserverStatusコマンドは、データベースの状態の概要を示すドキュメントを返します。モニタリング アプリケーションでこのコマンドが定期的に実行され、インスタンスに関する統計が収集されます。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
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() ラッパーを提供します。
Tip
serverStatus の出力の多くは、mongostat によっても動的に表示されます。詳細については、mongostat コマンドを参照してください。
動作
デフォルトでは、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> },
assertsMongoDB プロセスの開始以降に発生したアサーションの数を報告するドキュメント。アサーションは、データベースの稼働中に発生するエラーを内部でチェックするもので、MongoDB サーバーの問題の診断に役立ちます。アサート値がゼロでない場合はアサーションエラーとなりますが、これはまれであり、すぐに問題になるわけではありません。アサートを生成するエラーは、ログファイルに記録できるほか、クライアントのアプリケーションに直接返して詳細を確認することができます。
asserts.userMongoDB プロセスが最後に起動してから発生した「ユーザーアサート」の数です。これらは、ディスク容量不足や重複キーなど、ユーザーが引き起こす可能性のあるエラーです。アプリケーションまたは配置の問題を修正することで、これらのアサーションを防ぐことができます。サーバーログでは「ユーザーアサート」に関する情報が限られている場合があります。「ユーザーアサート」のソースに関する詳細情報については、アプリケーションログでアプリケーションエラーを確認してください。
asserts.rolloversMongoDB プロセスが最後に開始されてからアサート カウンターがロールオーバーされた回数。カウンターは、2 30 アサーション後にゼロに戻ります。この値を使用して、
assertsデータ構造内の他の値にコンテキストを提供します。
バケットカタログ
bucketCatalog : { numBuckets : <num>, numOpenBuckets : <num>, numIdleBuckets : <num>, memoryUsage : <num> }
バージョン 5.0 で追加
時系列コレクションの内部ストレージに関連するメトリクスをレポートするドキュメント。
bucketCatalogは次のメトリクスを返します。
メトリクス | 説明 |
|---|---|
| 時系列データを内部的にストアするバケットの数。 |
| バケットへのコミットされていないアクティブな書込み (write) の数。 |
| 満杯ではなく、受信した時系列データをストアできるバケットの数。 |
| 内部バケットデータ構造によって使用されるバイト数。 |
また、時系列メトリクスを見つけるために $collStats 集計パイプラインステージを使用することもできます。詳細については、時系列コレクションの storageStats 出力をご覧ください。
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.priorityTakeovermongodpriorityがプライマリよりも高いため、インスタンスによって呼び出された選挙のメトリクス。electionMetrics.priorityTakeoverには、呼び出された選挙の数と成功した選挙の数の両方が含まれます。
electionMetrics.catchUpTakeovermongodインスタンスがプライマリよりも最新であるため、選挙に関するメトリクスが呼び出されます。catchUpTakeoverには、呼び出された選挙の数と成功した選挙の数の両方が含まれます。
electionMetrics.electionTimeout以内にプライマリに到達できなかったため、
mongodsettings.electionTimeoutMillisインスタンスによって呼び出された選挙に関するメトリクス。electionTimeoutには、呼び出された選挙の数と成功した選挙の数の両方が含まれます。
electionMetrics.freezeTimeoutmongodfreeze period(ノードが選出を求めることができない期間)の有効期限が切れた後に、インスタンスによって呼び出される選挙に関するメトリクス。electionMetrics.freezeTimeoutには、呼び出された選挙の数と成功した選挙の数の両方が含まれます。
electionMetrics.numStepDownsCausedByHigherTermmongodインスタンスが、タームが長くなったために辞任した回数(具体的には、他のノードが追加の選挙に参加した)。
electionMetrics.numCatchUps新たに選出されたプライマリとしての
mongodインスタンスが、最も高い既知の oplog エントリに追いつく必要があった選挙の数。
electionMetrics.numCatchUpsSucceeded新たに選出されたプライマリの
mongodインスタンスが、既知の最高の oplog エントリに正常に追いついた回数。
electionMetrics.numCatchUpsAlreadyCaughtUp新たに選出された予備選挙の
mongodインスタンスが、選出時にすでに追いついていたためにキャッチアッププロセスを終了した回数。
electionMetrics.numCatchUpsSkipped新たに選出されたプライマリの
mongodインスタンスがキャッチアッププロセスをスキップした回数。
electionMetrics.numCatchUpsTimedOut新たに選出されたプライマリとしての
mongodインスタンスが、settings.catchUpTimeoutMillis制限のためにキャッチアッププロセスを終了した回数。
electionMetrics.numCatchUpsFailedWithNewTerm他のノードのタームが長かったため(具体的には、他のノードが追加選挙に参加したため)、新たに選出されたプライマリの追い上げプロセスが終了した回数。
electionMetrics.numCatchUpsFailedWithReplSetAbortPrimaryCatchUpCmdmongodが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> },
hedgingMetricsmongosインスタンスについてヘッジされた読み取りに関するメトリクスを提供します。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メタデータ ロックを表します。
oplogoplog のロックを表します。
可能な
<modes>は、次のとおりです。ロックモード説明R共有ロック(S)を表します。
W排他ロック(X)を表します。
rインテント共有ロック(IS)を表します。
wインテント排他ロック(IX)を表します。
すべての値は
Long()タイプです。
locks.<type>.acquireWaitCountlocks.<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.sessionsCollectionJobCountconfig.system.sessionsコレクションで更新プロセスが実行された回数を追跡する数値。
logicalSessionRecordCache.lastSessionsCollectionJobCursorsClosed前回の
config.system.sessionsコレクションの更新中に閉じられたカーソルの数。
logicalSessionRecordCache.transactionReaperJobCountconfig.transactionsコレクションでトランザクション レコードのクリーンアップ プロセスが実行された回数を追跡する数。
logicalSessionRecordCache.lastTransactionReaperJobEntriesCleanedUp前回のトランザクション レコードのクリーンアップ中に削除された
config.transactionsコレクション内のエントリの数。
logicalSessionRecordCache.sessionCatalogSizemongodインスタンスの場合は、config.transactionsエントリのメモリ内キャッシュのサイズ。これは、再試行可能な書き込み、またはlocalLogicalSessionTimeoutMinutes内でセッションが期限切れになっていないトランザクションに対応します。
mongosインスタンスの場合は、- 最新の
localLogicalSessionTimeoutMinutesの間隔内にトランザクションが行われた、セッションのメモリ内キャッシュの数。
mem
mem : { bits : <int>, resident : <int>, virtual : <int>, supported : <boolean> },
memmongodのシステム アーキテクチャと現在のメモリ使用量を報告するドキュメント。
mem.residentmem.residentの値は、データベース プロセスによって現在使用されている RAM の量とほぼ同等で、単位はメビバイト(MiB)です。通常の使用では、この値は大きくなる傾向があります。専用データベース サーバーでは、この数値はシステム メモリの合計量に近づく傾向があります。
mem.virtualmem.virtualは、mongodプロセスによって使用される仮想メモリの量をメビバイト(MiB)の単位で表示します。
mem.supported基礎となるシステムが拡張メモリ情報をサポートしているかどうかを示すブール値。この値が false で、システムが拡張メモリ情報をサポートしていない場合、他の
mem値はデータベース サーバーにアクセスできない可能性があります。
mem.notemem.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.passestransactionLifetimeLimitSecondsパラメータよりも古いトランザクションを中止する成功したパスの数を示します。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 バージョンはメトリクスから削除されます。これは、defaultAPI バージョン メトリクスにも適用されます。接続 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.changeStreams16 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>.validatorcreateコマンドと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.wtimewの引数が1より大きい書込み保証(write concern)操作の回数を報告するドキュメント。
metrics.getLastError.wtime.num指定された書込み保証(write concern)操作の合計数(つまり、
w)は、レプリカセットの 1 つまたは複数のノードが書込み(write)操作を確認するまで待機します(たとえば、wの値が1より大きい場合)。
metrics.getLastError.wtime.totalMillismongodが書込み保証(write concern)を使用して書込み保証(write concern)操作の実行に費やした合計時間(ミリ秒単位)(つまり、w)は、レプリカセットの 1 つまたは複数のノードが書込み(write)操作(たとえば、1より大きいw値)を確認するのを待機します。
metrics.getLastError.wtimeoutswtimeoutしきい値の結果、書込み保証(write concern)操作がタイムアウトした回数。この数値は、デフォルトおよびデフォルト以外の書込み保証(write concern)の指定において、両方で増加します。
metrics.getLastError.defaultデフォルトの書込み保証(write concern)がいつ使用されたかを報告するドキュメント(つまり
clientSupplied以外の書込み保証(write concern))。デフォルトの書込み保証(write concern)の原因として考えられるものは次のとおりです。implicitDefaultcustomDefaultgetLastErrorDefaults
それぞれの書込み保証(write concern)の原因、または
provenanceに関する情報については、次の表を参照します。出所説明clientSupplied書き込み保証(write concern)がアプリケーションで指定されました。
customDefault書込み保証 (write concern) は、カスタム定義されたデフォルト値に基づきます。
setDefaultRWConcernを参照してください。getLastErrorDefaults書込み保証 (write concern) は、レプリカセットの
settings.getLastErrorDefaultsのフィールドに基づきます。implicitDefault他の書き込み保証(write concern)が一切指定されていない状態で、サーバーから発生した書き込み保証。
metrics.getLastError.default.unsatisfiableclientSupplied以外の書込み保証(write concern)がUnsatisfiableWriteConcernエラー コードを返した回数。
metrics.mongosmongosに関するメトリクスを含むドキュメント。
metrics.mongos.cursormongosで使用されるカーソルのメトリクスを含むドキュメント。
metrics.mongos.cursor.moreThanOneBatchmongosが開始されてから、複数のバッチを返したカーソルの合計数。追加のバッチは、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.batchesmetrics.repl.apply.batchesは、レプリカセットのセカンダリ ノード上の oplog アプリケーション プロセスを報告します。oplog アプリケーション プロセスの詳細については、「マルチスレッド レプリケーション」を参照してください。
metrics.repl.apply.batches.totalMillismongodが oplog から操作を適用するのに費やした合計時間(ミリ秒単位)。
metrics.repl.apply.ops適用された oplog 操作の合計数。
metrics.repl.apply.opsは、各操作の後に増加します。
metrics.repl.bufferMongoDB は、バッチで oplog エントリを適用する前に、レプリケーション同期ソース バッファから oplog 操作をバッファします。
metrics.repl.bufferは、oplog バッファを追跡する方法を提供します。oplog アプリケーション プロセスの詳細については、「マルチスレッド レプリケーション」を参照してください。
metrics.repl.buffer.maxSizeBytesバッファの最大サイズ。この値は
mongod内の定数設定であり、構成できません。
metrics.repl.networkmetrics.repl.networkレプリケーション プロセスによるネットワークの使用を報告します。
metrics.repl.network.bytesmetrics.repl.network.bytesレプリケーション同期ソースから読み取られたデータの総量を報告します。
metrics.repl.network.getmoresmetrics.repl.network.getmoresは、oplog レプリケーション プロセスの一部として oplog カーソルから追加の結果を要求するgetmore操作について報告します。
metrics.repl.network.getmores.nummetrics.repl.network.getmores.numでは、レプリケーション同期ソースから追加の操作セットをリクエストする操作であるgetmore操作の合計数が報告されます。
metrics.repl.network.getmores.totalMillismetrics.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.totalMillismetrics.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.numAutoReconfigsForRemovalOfNewlyAddedFieldsnewlyAddedノード フィールドがプライマリによって自動的に削除された回数です。ノードがレプリカセットに初めて追加されると、ノードの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.userOperationsKilledmongodインスタンスの状態変更中に停止された操作の数。注意
このメトリクスは、操作がユーザーまたはサーバーによって開始されたかどうかにかかわらず、強制終了された操作の総数を反映しています。
metrics.repl.stateTransition.userOperationsRunningmongodインスタンスの状態変更中に実行中のままだった操作の数。注意
このメトリクスは、操作がユーザーまたはサーバーによって開始されたかどうかにかかわらず、実行中の操作の総数を反映しています。
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.bucketExhaustedmongodがフリー リストを確認したが、大規模なレコード割り当てが見つからなかった回数です。
metrics.storage.freelist.search.requestsmongodが利用可能なレコード割り当てを検索した回数です。
metrics.storage.freelist.search.scannedmongodが検索した使用可能なレコード割り当ての数です。
metrics.ttlTTL インデックス プロセスのリソース使用の操作について報告するドキュメントです。
metrics.ttl.deletedDocumentsTTL インデックスを持つコレクションから削除されたドキュメントの合計数です。
metrics.ttl.passesTTL インデックスを持つコレクションから、バックグラウンド プロセスでドキュメントを削除する回数です。
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.totalMongoDB がクライアント用に保持しているカーソルの数です。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> },
mirroredReadsmongod でのみ利用可能です。
ミラーリングされた読み取りについて報告するドキュメント。
mirroredReads情報を返すには、包含を明示的に指定する必要があります。db.runCommand( { serverStatus: 1, mirroredReads: 1 } ) mirroredReads.seenノードが受信したミラーリングをサポートする操作の数です。
Tip
mirrorReadsParameter
mirroredReads.sentプライマリ時にノードによって送信されたミラーリングされた読み取りの数です。たとえば、ある読み取りがミラーリングされて 2 つのセカンダリに送信された場合、ミラーリングされた読み取りの数は
2になります。Tip
mirrorReadsParameter
ネットワーク
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 }
networkMongoDB のネットワーク使用に関するデータを報告するドキュメントです。これらの統計は、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.kernelSettingLinux のみ
/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.acceptedmongodまたはmongosが最後に起動してからmongodまたはmongosが受け入れた着信 TCP Fast Ope(TFO)接続の合計数です。
network.compression.snappySnappy ライブラリを使用して圧縮および解凍されたバイト数に関する統計を返すドキュメントです。
network.compression.zstdzstd ライブラリを使用して圧縮および解凍されたバイト数に関する統計を返すドキュメントです。
network.compression.zlibzlib ライブラリを使用して圧縮および解凍されたバイト数に関する統計を返すドキュメントです。
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>"), },
opcountersmongodインスタンスが最後に起動されて以降のデータベース操作をタイプ別に報告するドキュメント。これらの数値は、次回の再起動まで時間の経過とともに増加します。これらの値を一定の期間分析し、データベースの使用状況を追跡します。
注意
opcountersのデータは、一括挿入や複数のアップデート操作など、複数のドキュメントに影響する操作を単一の操作として扱います。より詳細なドキュメント レベルの操作追跡については、metrics.documentを参照してください。さらに、以下の値は受け付けた操作を反映するため、操作が成功しなくとも増加します。
opcounters.insertmongodインスタンスが最後に起動されて以降に受け取った挿入操作の合計数。返された opcounters。* 値は NumberLong 型です。
opcounters.querymongodインスタンスが最後に起動されて以降に受け取ったクエリの合計数。返された opcounters。* 値は NumberLong 型です。
opcounters.updatemongodインスタンスが最後に起動されて以降に受け取った更新操作の合計数。返された opcounters。* 値は NumberLong 型です。
opcounters.deletemongodインスタンスが最後に起動されて以降の削除操作の合計数。返された opcounters。* 値は NumberLong 型です。
opcounters.getmoremongodインスタンスが最後に起動されて以降のgetMore操作の合計数。クエリ数が少ない場合でも、このカウンターは高くなることがあります。セカンダリノードは、レプリケーション プロセスの一部としてgetMore操作を送信します。返された opcounters。* 値は NumberLong 型です。
opcounters.commandmongodインスタンスが最後に起動されて以降のデータベースに対して発行されたコマンドの合計数。opcounters.commandは書込みコマンド を除く すべての コマンド をカウントします: 、insert、updatedelete。返された 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>"), },
opcountersReplmongodインスタンスが最後に起動されて以降のデータベース レプリケーション操作をタイプ別に報告するドキュメントです。これらの値は、現在のホストがレプリカセットのノードである場合にのみ表示されます。
これらの値が
opcounters値と異なるのは、MongoDB がレプリケーション中に操作を直列化する方法が原因です。レプリケーションの詳細については、「レプリケーション」を参照してください。これらの数値は、次回の再起動まで、データベースの使用状況に応じて時間の経過とともに増加します。これらの値を一定の期間分析し、データベースの使用状況を追跡します。
返された opcountersRepl.*値は NumberLong 型です。
opcountersRepl.insertmongodインスタンスが最後に起動されて以降に複製された挿入操作の総数。返された opcountersRepl.*値は NumberLong 型です。
opcountersRepl.querymongodインスタンスが最後に起動されて以降に複製されたクエリの合計数。返された opcountersRepl.*値は NumberLong 型です。
opcountersRepl.updatemongodインスタンスが最後に起動されて以降に複製されたアップデートの合計数。返された opcountersRepl.*値は NumberLong 型です。
opcountersRepl.deletemongodインスタンスが最後に起動されて以降に複製された削除操作の合計数。返された opcountersRepl.*値は NumberLong 型です。
opcountersRepl.getmoremongodインスタンスが最後に起動されて以降のgetMore操作の合計数。クエリ数が少ない場合でも、このカウンターは高くなることがあります。セカンダリノードは、レプリケーション プロセスの一部としてgetMore操作を送信します。返された opcountersRepl.*値は NumberLong 型です。
opcountersRepl.commandmongodインスタンスが最後に起動されて以降にデータベースに発行された複製コマンドの合計数。返された opcountersRepl.*値は NumberLong 型です。
oplogTruncation
oplogTruncation : { totalTimeProcessingMicros : Long("<num>"), processingMethod : <string>, oplogMinRetentionHours : <double> totalTimeTruncatingMicros : Long("<num>"), truncateCount : Long("<num>") },
oplogTruncationOplog の切り捨てについて報告するドキュメント
このフィールドは、現在のインスタンスがレプリカセットのノードであり 、 自己管理型配置用 に WiredTiger storage engine または インメモリ storage engine のいずれかを使用している場合にのみ表示されます。
oplogTruncation.totalTimeProcessingMicrosoplog を切り捨てる時点を決定するために oplog をスキャンまたはサンプルするのにかかった合計時間(マイクロ秒単位)。
totalTimeProcessingMicrosは、mongodインスタンスが既存のデータファイルで起動された場合にのみ意味があります(つまり 自己管理型配置用の インメモリ ストレージ エンジン では意味がありません)。詳細は、次を参照してください:
oplogTruncation.processingMethod
oplogTruncation.processingMethod起動時に oplog を切り捨てる時点を決定するために使用される方法。値は
"sampling"または"scanning"のいずれかです。processingMethodは、mongodインスタンスが既存のデータファイルで起動された場合にのみ意味があります(つまり 自己管理型配置用の インメモリ ストレージ エンジン では意味がありません)。
oplogTruncation.oplogMinRetentionHoursoplog の最小保持期間(単位は時間)。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>") } } }
readPreferenceCountersmongod でのみ利用可能です。
指定された読み込み設定 (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.ReshardingRecipientServiceReshardingRecipientServiceのインスタンスの状態と数を含むドキュメント受信者は、新しいシャードキーとゾーンに従って、再シャーディング操作の結果としてチャンクを所有するシャードです。
リシャーディング コーディネーターは、各ドナー シャード プライマリと受信者シャード プライマリに対して、一時的にシャーディングされたコレクションの名前を変更するよう指示します。一時的なコレクションは、新しいリシャーディングされたコレクションになります。
バージョン 5.0 で追加
repl.primaryOnlyServices.RenameCollectionParticipantServiceRenameCollectionParticipantServiceのインスタンスの状態と数を含むドキュメントRenameCollectionParticipantServiceは、シャードが renameCollection リクエストを受信した後、システム障害が発生した場合にシャードがローカルの名前変更を再開できるようにするものです。バージョン 5.0 で追加
repl.primaryOnlyServices.ShardingDDLCoordinatorShardingDDLCoordinatorのインスタンスの状態と数を含むドキュメントShardingDDLCoordinatorサービスは、データベースの作成、データベースの削除、コレクションの名前変更など、プライマリ データベースの DDL 操作を管理します。ShardingDDLCoordinatorは、シャーディングされたクラスター内の特定の時点で、各データベースに対して 1 つの DDL 操作が実行されるようにします。バージョン 5.0 で追加
repl.primaryOnlyServices.ReshardingDonorServiceReshardingDonorServiceのインスタンスの状態と数を含むドキュメントドナーは、リネーム操作が完了する前にシャーディングされたコレクションのチャンクを所有するシャードです。
リシャーディング コーディネーターは、各ドナー シャード プライマリと受信者シャード プライマリに対して、一時的にシャーディングされたコレクションの名前を変更するよう指示します。一時的なコレクションは、新しいリシャーディングされたコレクションになります。
バージョン 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.mechanismsmongodまたはmongosインスタンスの認証に特定の認証メカニズムが使用された回数を報告するドキュメントです。このドキュメントの値は、標準の認証と推測的認証を区別します。[1]注意
mechanismsドキュメント内のフィールドは、authenticationMechanismsパラメータの構成によって異なります。mechanismsドキュメントには、mongodまたはmongosインスタンスでサポートされている各認証メカニズムのフィールドが含まれています。次の例は、X.509認証のみをサポートする配置の
mechanismsドキュメントの形状を示しています。
security.authentication.mechanisms.MONGODB-X509mongodまたはmongosインスタンスに対する認証に x.509 が使用された回数を報告するドキュメントです。X.509認証の試行とその試行のうち推測的認証だったサブセットの総数を含みます。[1]
security.authentication.mechanisms.MONGODB-X509.speculativeAuthenticate.successfulX.509 による推測的認証のうち成功した試行回数。[1]
security.authentication.mechanisms.MONGODB-X509.authenticate.receivedX.509 による認証の成功した試行回数と失敗した試行回数。この値には、X.509 による推測的認証の試行が含まれます。
security.authentication.mechanisms.MONGODB-X509.authenticate.successfulx.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.lastSeenConfigServerOpTimemongosまたはシャード ノードが確認した 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.countDocsClonedOnDonorMongoDB がドナー シャードのプライマリ ノードでクローニングするドキュメントの、増加し続ける累計数。
シャードで実行した場合にのみ存在します。
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.countReshardingOperationscountReshardingSuccessful、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.numHostsTargetedCRUD操作および集計コマンドの対象となるシャードの数を示します。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
enableShardedIndexConsistencyCheckparametershardedIndexConsistencyCheckIntervalMSparameter
shardedIndexConsistency.numShardedCollectionsWithInconsistentIndexesコンフィギュレーションサーバーのインスタンスでのみ使用できます。
シャード間でインデックスが一致しないシャーディングされたコレクションの数。コレクションのチャンクを含む各シャードに完全に一致するインデックス(インデックスオプションを含む)が存在しない場合、シャーディングされたコレクションにはインデックスの一貫性がありません。
シャーディングされたコレクションに一貫性のないインデックスがあるかを調べるには、「シャード間で一貫性のないインデックスを検索する」を参照してください。
返されるメトリクスは、シャーディングされたクラスターのコンフィギュレーションサーバー レプリカセットのプライマリで実行された場合にのみ意味があります。
Tip
enableShardedIndexConsistencyCheckparametershardedIndexConsistencyCheckIntervalMSparameter
ストレージエンジン用
storageEngine : { name : <string>, supportsCommittedReads : <boolean>, persistent : <boolean> },
storageEngine.supportsCommittedReadsStorage Engine が
"majority"読み取り保証 (read concern) をサポートしているかを示すブール値。
storageEngine.persistentStorage 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>") } } },
transactionsmongodで実行した場合の、再試行可能な書き込み とトランザクションに関するデータを含むドキュメントです。
transactions.retriedCommandsCountmongod でのみ利用可能です。
対応する再試行可能な書き込みコマンドがすでにコミットされた後に受信した再試行の合計回数。これは、以前に書き込みが成功し、
config.transactionsコレクションにトランザクションとセッションに関連するレコードが存在していても、クライアントへの最初の書込み (write) 応答が失われた場合などでは、再試行可能な書き込みが試行されるということです。注意
MongoDB はコミットされた書込み (write) を再実行しません。
合計は全セッションにわたるものです。
合計には、チャンク移行の一環として内部で発生しうる、再試行可能な書き込みは含まれていません。
transactions.retriedStatementsCountmongod でのみ利用可能です。
transactions.retriedCommandsCount内の再試行されたコマンドに関連付けられた書き込みステートメントの合計数。注意
MongoDB はコミットされた書込み (write) を再実行しません。
合計には、チャンク移行の一環として内部で発生しうる、再試行可能な書き込みは含まれていません。
transactions.transactionsCollectionWriteCountmongod でのみ利用可能です。
新しい再試行可能な書き込みステートメントがコミットされるとトリガーされる、
config.transactionsコレクションへの書込み (write) の合計数。アップデート コマンドと削除コマンドでは、1 つのドキュメント操作がのみが再試行可能なため、1 ステートメントにつき 1 回の書込み (write) が必要です。
挿入操作では、失敗により各ドキュメントが個別に挿入される場合を除いて、挿入されたドキュメントのバッチごとに 1 回の書込み (write) が行われます。
合計には、移行の一環として発生する、サーバーの
config.transactionsコレクションへの書込み (write) が含まれます。
transactions.currentOpenmongod と mongos の両方で利用できます。
オープン トランザクションの合計数。トランザクションは、トランザクションの一部として最初のコマンドが実行されたときに開かれ、トランザクションがコミットまたは中止されるまで開いたままになります。
transactions.totalAbortedmongodにおいて、このインスタンスが最後に起動して以降にインスタンスで中止されたトランザクションの合計数mongosにおいて、このインスタンスが最後に起動して以降にインスタンスを通じて中止されたトランザクションの合計数です。
transactions.totalCommittedmongodにおいて、このインスタンスが最後に起動して以降にインスタンスでコミットされたトランザクションの合計数です。mongosにおいて、このインスタンスが最後に起動して以降にインスタンスを通じてコミットされたトランザクションの合計数。
transactions.totalStartedmongodにおいて、このインスタンスが最後に起動して以降にインスタンスで開始されたトランザクションの合計数。mongosにおいて、このインスタンスが最後に起動して以降にインスタンスで開始されたトランザクションの合計数。
transactions.abortCausemongos でのみ利用可能です。
transactions.totalAbortedの原因別の内訳。クライアントが明示的にabortTransactionを報告した場合、原因はabortとしてリストされます。以下に例を挙げます。
totalAborted : Long("5"), abortCause : { abort : Long("1"), DuplicateKey : Long("1"), StaleConfig : Long("3"), SnapshotTooOld : Long("1") },
transactions.totalContactedParticipantsmongos でのみ利用可能です。
最後に起動して以降、この
mongosを通じて開始されたすべてのトランザクションに対して接続したシャードの合計数です。トランザクション プロセス中に接続するシャードの数には、コミットの一部として含まれないシャードを含む場合があります。
transactions.totalParticipantsAtCommitmongos でのみ利用可能です。
最後に起動して以降、この
mongosを通じて開始されたすべてのトランザクションに対してコミットに関係したシャードの合計数。
transactions.totalRequestsTargetedmongos でのみ利用可能です。
トランザクションの一部として
mongosが対象とするネットワーク リクエストの合計数。
transactions.commitTypesmongos でのみ利用可能です。
タイプ別のコミットの内訳の例
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.totalPreparedmongod でのみ利用可能です。
mongodプロセスが最後に起動して以降、このサーバー上で準備状態にあったトランザクションの合計数です。
transactions.totalPreparedThenCommittedmongod でのみ利用可能です。
mongodプロセスが最後に起動して以降、このサーバー上で準備されコミットされたトランザクションの合計数です。
transactions.totalPreparedThenAbortedmongod でのみ利用可能です。
mongodプロセスが最後に起動して以降、このサーバー上で準備および中止されたトランザクションの合計数です。
transactions.lastCommittedTransactionmongod でのみ利用可能です。
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 が有効な場合にのみ存在します。
watchdogStorage Node Watchdog のステータスを報告するドキュメント。
watchdog.monitorGenerationmongodが使用するすべてのファイルシステムのステータスが検査された回数。この数値はmonitoringPeriodごとに増加します。
watchdog.monitorPeriodwatchdogPeriodSecondsによって設定された値です。これは、ステータス チェックの間隔を示します。
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.concurrentTransactionsWiredTiger storage engine に許可された読み取りトランザクションと書込みトランザクションの同時実行数に関する情報を返すドキュメント。 MongoDB 固有の設定です。
同時読み取りおよび書込みトランザクションの設定を変更するには、
storageEngineConcurrentReadTransactionsとstorageEngineConcurrentWriteTransactionsを参照してください。
writeBacksQueued
writeBacksQueued : <boolean>,
writeBacksQueuedmongosインスタンスからの操作が再試行のキューに入っているかどうかを示すブール値。通常、この値は false です。writeBacks も参照してください。