replSetGetStatus
定義
replSetGetStatus
replSetGetStatus
コマンドは、コマンドを処理したサーバーの観点からレプリカセットのステータスを返します。replSetGetStatus
は、管理データベースで実行する必要があります。mongod
が正常に返すには、replSetGetStatus
インスタンスがレプリカセット ノードである必要があります。このコマンドによって提供されるデータは、レプリカセットの他のノードによってサーバーに送信されるハートビートに含まれるデータから派生します。ハートビートの頻度により、これらのデータは数秒古くなる可能性があります。
Tip
mongosh
では、このコマンドはrs.status()
ヘルパー メソッドを通じて実行することもできます。ヘルパー メソッドは
mongosh
ユーザーには便利ですが、データベースコマンドと同じレベルの情報は返されない可能性があります。 便宜上必要ない場合、または追加の戻りフィールドが必要な場合は、 データベースコマンドを使用します。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
重要
This command is not supported in M0, M2, M5, and Flex clusters. For more information, see Unsupported Commands.
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
このコマンドの構文は、次のとおりです。
db.adminCommand( { replSetGetStatus: 1 } )
最初の同期中にノードでreplSetGetStatus
またはmongosh
ヘルパーrs.status()
を実行した場合(つまり STARTUP2
状態)の場合、コマンドはreplSetGetStatus.initialSyncStatus
メトリクスを返します。
メンバーが最初の同期を完了して別の状態に移行すると、 replSetGetStatus.initialSyncStatus
メトリクスは使用できなくなります。
例
次の例では、レプリカセット プライマリのreplSetGetStatus
管理データベース で コマンドを実行します。
db.adminCommand( { replSetGetStatus: 1 } )
このコマンドは、レプリカセット プライマリの例に対して次の出力を返します。
{ "set" : "replset", "date" : ISODate("2024-08-15T23:06:13.978Z"), "myState" : 1, "term" : NumberLong(3), "syncSourceHost" : "", "syncSourceId" : -1, "heartbeatIntervalMillis" : NumberLong(2000), "majorityVoteCount" : 2, "writeMajorityCount" : 2, "votingMembersCount" : 3, "writableVotingMembersCount" : 3, "optimes" : { "lastCommittedOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "lastCommittedWallTime" : ISODate("2024-08-15T23:06:13.978Z"), "readConcernMajorityOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "readConcernMajorityWallTime" : ISODate("2024-08-15T23:06:13.978Z"), "appliedOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "durableOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "lastAppliedWallTime" : ISODate("2020-03-05T05:24:38.122Z"), "lastDurableWallTime" : ISODate("2020-03-05T05:24:38.122Z") }, "lastStableRecoveryTimestamp" : Timestamp(1723763173, 1), "electionCandidateMetrics" : { "lastElectionReason" : "stepUpRequestSkipDryRun", "lastElectionDate" : ISODate("2024-08-15T23:06:13.978Z"), "electionTerm" : NumberLong(3), "lastCommittedOpTimeAtElection" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(2) }, "lastSeenOpTimeAtElection" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(2) }, "numVotesNeeded" : 2, "priorityAtElection" : 1, "electionTimeoutMillis" : NumberLong(10000), "priorPrimaryMemberId" : 1, "numCatchUpOps" : NumberLong(0), "newTermStartDate" : ISODate("2024-08-15T23:06:13.978Z"), "wMajorityWriteAvailabilityDate" : ISODate("2024-08-15T23:06:13.978Z") }, "electionParticipantMetrics" : { "votedForCandidate" : true, "electionTerm" : NumberLong(2), "lastVoteDate" : ISODate("2024-08-15T23:06:13.978Z"), "electionCandidateMemberId" : 1, "voteReason" : "", "lastAppliedOpTimeAtElection" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(1) }, "maxAppliedOpTimeInSet" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(1) }, "priorityAtElection" : 1 }, "members" : [ { "_id" : 0, "name" : "m1.example.net:27017", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 269, "optime" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "optimeDurable" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "optimeDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeWrittenDate" : ISODate("2024-08-15T23:06:13.978Z"), "lastAppliedWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastDurableWallTime": ISODate("2024-08-15T23:06:13.978Z"), "syncSourceHost" : "", "syncSourceId" : -1, "infoMessage" : "", "electionTime" : Timestamp(1723763173, 1), "electionDate" : ISODate("2024-08-15T23:06:13.978Z"), "configVersion" : 1, "configTerm" : 0, "self" : true, "lastHeartbeatMessage" : "" }, { "_id" : 1, "name" : "m2.example.net:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 266, "optime" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "optimeDurable" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "optimeDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeDurableDate" : ISODate("2024-08-15T23:06:13.978Z"), "lastAppliedWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastDurableWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastHeartbeat" : ISODate("2024-08-15T23:06:13.978Z"), "lastHeartbeatRecv" : ISODate("2024-08-15T23:06:13.978Z"), "pingMs" : NumberLong(0), "lastHeartbeatMessage" : "", "syncSourceHost" : "m3.example.net:27017", "syncSourceId" : 2, "infoMessage" : "", "configVersion" : 1 }, { "_id" : 2, "name" : "m3.example.net:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 266, "optime" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "optimeDurable" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "optimeDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeDurableDate" : ISODate("2024-08-15T23:06:13.978Z"), "lastAppliedWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastDurableWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastHeartbeat" : ISODate("2024-08-15T23:06:13.978Z"), "lastHeartbeatRecv" : ISODate("2024-08-15T23:06:13.978Z"), "pingMs" : NumberLong(0), "lastHeartbeatMessage" : "", "syncSourceHost" : "m1.example.net:27017", "syncSourceId" : 0, "infoMessage" : "", "configVersion" : 1 } ], "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1723763173, 1), "signature" : { "hash" : BinData(0,"9C2qcGVkipEGJW3iF90qxb/gIwc="), "keyId" : NumberLong("6800589497806356482") } }, "operationTime" : Timestamp(1723763173, 1) }
次の例では、レプリカセット セカンダリの管理データベース上で
replSetGetStatus
コマンドを実行します。
db.adminCommand( { replSetGetStatus: 1 } )
このコマンドは、レプリカセット セカンダリの例に対して次の出力を返します。
{ "set" : "replset", "date" : ISODate("2024-08-15T23:06:13.978Z"), "myState" : 2, "term" : NumberLong(3), "syncSourceHost" : "m3.example.net:27017", "syncSourceId" : 2, "heartbeatIntervalMillis" : NumberLong(2000), "majorityVoteCount" : 2, "writeMajorityCount" : 2, "votingMembersCount" : 3, "writableVotingMembersCount" : 3, "optimes" : { "lastCommittedOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "lastCommittedWallTime" : ISODate("2024-08-15T23:06:13.978Z"), "readConcernMajorityOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "readConcernMajorityWallTime" : ISODate("2024-08-15T23:06:13.978Z"), "appliedOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "durableOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "lastAppliedWallTime" : ISODate("2024-08-15T23:06:13.978Z"), "lastDurableWallTime" : ISODate("2024-08-15T23:06:13.978Z") }, "lastStableRecoveryTimestamp" : Timestamp(1723763173, 1), "electionParticipantMetrics" : { "votedForCandidate" : true, "electionTerm" : NumberLong(3), "lastVoteDate" : ISODate("2024-08-15T23:06:13.978Z"), "electionCandidateMemberId" : 0, "voteReason" : "", "lastAppliedOpTimeAtElection" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(2) }, "maxAppliedOpTimeInSet" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(2) }, "priorityAtElection" : 1, "newTermStartDate" : ISODate("2024-08-15T23:06:13.978Z"), "newTermAppliedDate" : ISODate("2024-08-15T23:06:13.978Z") }, "members" : [ { "_id" : 0, "name" : "m1.example.net:27017", "health" : 1, "state" : 1, "stateStr" : "PRIMARY", "uptime" : 407, "optime" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "optimeDurable" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "optimeDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeDurableDate" : ISODate("2024-08-15T23:06:13.978Z"), "lastAppliedWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastDurableWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastHeartbeat" : ISODate("2024-08-15T23:06:13.978Z"), "lastHeartbeatRecv" : ISODate("2024-08-15T23:06:13.978Z"), "pingMs" : NumberLong(0), "lastHeartbeatMessage" : "", "syncSourceHost" : "", "syncSourceId" : -1, "infoMessage" : "", "electionTime" : Timestamp(1723763173, 1), "electionDate" : ISODate("2024-08-15T23:06:13.978Z"), "configVersion" : 1 }, { "_id" : 1, "name" : "m2.example.net:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 409, "optime" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "optimeDurable" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "optimeDate" : ISODate("2024-08-15T23:06:13.978Z"), "lastAppliedWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastDurableWallTime": ISODate("2024-08-15T23:06:13.978Z"), "syncSourceHost" : "m3.example.net:27017", "syncSourceId" : 2, "infoMessage" : "", "configVersion" : 1, "configTerm" : 0, "self" : true, "lastHeartbeatMessage" : "" }, { "_id" : 2, "name" : "m3.example.net:27017", "health" : 1, "state" : 2, "stateStr" : "SECONDARY", "uptime" : 407, "optime" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "optimeDurable" : { "ts" : Timestamp(1723763173, 1), "t" : NumberLong(3) }, "optimeDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeDurableDate" : ISODate("2024-08-15T23:06:13.978Z"), "lastAppliedWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastDurableWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastHeartbeat" : ISODate("2024-08-15T23:06:13.978Z"), "lastHeartbeatRecv" : ISODate("2024-08-15T23:06:13.978Z"), "pingMs" : NumberLong(0), "lastHeartbeatMessage" : "", "syncSourceHost" : "m1.example.net:27017", "syncSourceId" : 0, "infoMessage" : "", "configVersion" : 1 } ], "ok" : 1, "$clusterTime" : { "clusterTime" : Timestamp(1723763173, 1), "signature" : { "hash" : BinData(0,"kmhE5YARZlzn/DX4B/D0E5P6okY="), "keyId" : NumberLong("6800589497806356482") } }, "operationTime" : Timestamp(1723763173, 1), }
- 以前のバージョン(3.6.x〜4.2.0)
次のように、任意の
initialSync: 1
を指定して、出力にreplSetGetStatus.initialSyncStatus
を含めることができます(最初の同期ステータスを返さない場合は省略できます)。
db.adminCommand( { replSetGetStatus: 1, initialSync: 1 } )
- MongoDB 5.2以降、
- ファイル コピー ベースの最初の同期
を使用する場合、
replSetGetStatus.initialSyncStatus
ドキュメントには追加のフィールドが含まれます。
最初の同期中にノードに対して replSetGetStatus
を実行すると、コマンドは replSetGetStatus.initialSyncStatus
メトリクスを返します。
db.adminCommand( { replSetGetStatus: 1 } )
メンバーが最初の同期を完了して別の状態に移行すると、 replSetGetStatus.initialSyncStatus
メトリクスは使用できなくなります。
次の例では、最初の同期中に 4.4 レプリカセット ノードの管理データベース上で
replSetGetStatus
コマンドを実行します。
{ "set" : "replset", "date" : ISODate("2024-08-15T23:06:13.978Z") "myState" : 5, "term" : NumberLong(1), "syncSourceHost" : "m1.example.net:27017", "syncSourceId" : 0, "heartbeatIntervalMillis" : NumberLong(2000), "majorityVoteCount" : 2, "writeMajorityCount" : 2, "votingMembersCount" : 2, "writableVotingMembersCount" : 2, "optimes" : { "lastCommittedOpTime" : { "ts" : Timestamp(0, 0), "t" : NumberLong(-1) }, "lastCommittedWallTime" : ISODate("1970-01-01T00:00:00Z"), "appliedOpTime" : { "ts" : Timestamp(0, 0), "t" : NumberLong(-1) }, "durableOpTime" : { "ts" : Timestamp(0, 0), "t" : NumberLong(-1) }, "lastAppliedWallTime" : ISODate("1970-01-01T00:00:00Z"), "lastDurableWallTime" : ISODate("1970-01-01T00:00:00Z") }, "lastStableRecoveryTimestamp" : Timestamp(0, 0), "initialSyncStatus" : { "failedInitialSyncAttempts" : 0, "maxFailedInitialSyncAttempts" : 10, "initialSyncStart" : ISODate("2024-08-15T23:06:13.978Z"), "initialSyncAttempts" : [ ], "appliedOps" : 0, "initialSyncOplogStart" : Timestamp(1723763173, 1), "syncSourceUnreachableSince" : ISODate("2024-08-15T23:06:13.978Z"), "currentOutageDurationMillis" : NumberLong(8687), "totalTimeUnreachableMillis" : NumberLong(8687), "databases" : { "databasesCloned" : 3, "admin" : { "collections" : 4, "clonedCollections" : 4, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 429, "admin.system.roles" : { "documentsToCopy" : 22, "documentsCopied" : 22, "indexes" : 2, "fetchedBatches" : 1, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 138, "receivedBatches" : 1 }, "admin.system.users" : { "documentsToCopy" : 32, "documentsCopied" : 32, "indexes" : 2, "fetchedBatches" : 1, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 149, "receivedBatches" : 1 }, "admin.system.keys" : { "documentsToCopy" : 2, "documentsCopied" : 2, "indexes" : 1, "fetchedBatches" : 1, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 76, "receivedBatches" : 1 }, "admin.system.version" : { "documentsToCopy" : 2, "documentsCopied" : 2, "indexes" : 1, "fetchedBatches" : 1, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 66, "receivedBatches" : 1 } }, "config" : { "collections" : 2, "clonedCollections" : 2, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 198, "config.transactions" : { "documentsToCopy" : 0, "documentsCopied" : 0, "indexes" : 1, "fetchedBatches" : 0, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 74, "receivedBatches" : 0 }, "config.system.sessions" : { "documentsToCopy" : 0, "documentsCopied" : 0, "indexes" : 2, "fetchedBatches" : 0, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 124, "receivedBatches" : 0 } }, "test" : { "collections" : 1, "clonedCollections" : 1, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 47967, "test.hugeindex" : { "documentsToCopy" : 25000, "documentsCopied" : 25000, "indexes" : 2, "fetchedBatches" : 21, "start" : ISODate("2024-08-15T23:06:13.978Z"), "end" : ISODate("2024-08-15T23:06:13.978Z"), "elapsedMillis" : 47967, "receivedBatches" : 21 } } } }, "members" : [ { "_id" : 0, "name" : "m1.example.net:27017", "health" : 0, "state" : 8, "stateStr" : "(not reachable/healthy)", "uptime" : 0, "optime" : { "ts" : Timestamp(0, 0), "t" : NumberLong(-1) }, "optimeDurable" : { "ts" : Timestamp(0, 0), "t" : NumberLong(-1) }, "optimeDate" : ISODate("1970-01-01T00:00:00Z"), "optimeDurableDate" : ISODate("1970-01-01T00:00:00Z"), "lastAppliedWallTime": ISODate("1970-01-01T00:00:00Z"), "lastDurableWallTime": ISODate("1970-01-01T00:00:00Z""), "lastHeartbeat" : ISODate("2024-08-15T23:06:13.978Z"), "lastHeartbeatRecv" : ISODate("2024-08-15T23:06:13.978Z"), "pingMs" : NumberLong(0), "lastHeartbeatMessage" : "Error connecting to m1.example.net:27017 (127.0.0.1:27018) :: caused by :: Connection refused", "syncSourceHost" : "", "syncSourceId" : -1, "infoMessage" : "", "configVersion" : 2 }, { "_id" : 1, "name" : "m2.example.net:27017", "health" : 1, "state" : 5, "stateStr" : "STARTUP2", "uptime" : 5297, "optime" : { "ts" : Timestamp(0, 0), "t" : NumberLong(-1) }, "optimeDurable" : { "ts" : Timestamp(0, 0), "t" : NumberLong(-1) }, "optimeDate" : ISODate("1970-01-01T00:00:00Z"), "lastAppliedWallTime": ISODate("1970-01-01T00:00:00Z"), "lastDurableWallTime": ISODate("1970-01-01T00:00:00Z"), "syncSourceHost" : "m1.example.net:27017", "syncSourceId" : 0, "infoMessage" : "", "configVersion" : 2, "configTerm" : 1, "self" : true, "lastHeartbeatMessage" : "" } ], "ok" : 1 }
出力
replSetGetStatus コマンドは、以下のフィールドを持つドキュメントを返します。
replSetGetStatus.set
set
値は、replSetName
設定で構成されたレプリカセットの名前です。これはrs.conf()
の_id
と同じ値です。
replSetGetStatus.date
replSetGetStatus コマンドを処理したサーバーを基準とする現在時刻を含む ISODate 形式の日付と時刻。このサーバーとレプリカセットの他のノードの間の動作レイテンシを把握するには、この値を
replSetGetStatus.members[n].lastHeartbeat
の値と比較します。
replSetGetStatus.myState
現在のノードのレプリカ状態
を表す
0
から10
までの整数。
replSetGetStatus.term
このレプリカセット ノードに認識される、レプリカセットの選挙数。
term
は、正確性を確保するために分散コンシステントアルゴリズムによって使用されます。
replSetGetStatus.syncSourceHost
syncSourceHost
フィールドには、このインスタンスが同期するノードのホスト名が保持されます。このインスタンスがプライマリの場合、
syncSourceHost
は空の string であり、syncSourceId
-1
は です。
replSetGetStatus.syncSourceId
syncSourceId
フィールドには、このインスタンスが同期するノードのreplSetGetStatus.members[n]._id
が保持されます。このインスタンスがプライマリの場合、
syncSourceHost
は空の string であり、syncSourceId
-1
は です。
replSetGetStatus.writeMajorityCount
データを持つ投票ノードの数(つまり、アービタ以外)で、書込み保証 (write concern)
"majority"
を実行する必要のあるノード。書込み (write) は、データを持つノードにのみ適用できます。replSetGetStatus.writeMajorityCount
の計算については、「書込み保証(write concern)の過半数の計算」を参照してください。
replSetGetStatus.votingMembersCount
votes: 1
で構成されたノードの数(アービタを含む)。
replSetGetStatus.writableVotingMembersCount
votes: 1
で構成されたデータを持つノードの数(これはアービタを含みません)。
replSetGetStatus.optimes
optimes
フィールドは、レプリケーションの進行状況を検査するために使用されるoptimeを含むドキュメントを保持します。optimes
フィールドには、さまざまな optime に対応する ISODate 形式の日付文字列が含まれています。各 optime 値は、次の内容を含むドキュメントです。
replSetGetStatus.optimes.lastCommittedWallTime
に対応する ISODate 形式の日付string
lastCommittedOpTime
。
replSetGetStatus.optimes.readConcernMajorityOpTime
直近の操作のうち読み取り保証(read concern)
"majority"
クエリを満たすことができるものに関する、このノードの観点に基づく情報。つまり、"majority"
クエリの条件に一致する直近の
lastCommittedOpTime
。
readConcernMajorityOpTime
はlastCommittedOpTime
未満または等しいのいずれかです。
replSetGetStatus.optimes.readConcernMajorityWallTime
に対応する ISODate 形式の日付string
readConcernMajorityOpTime
。
replSetGetStatus.optimes.lastAppliedWallTime
に対応する ISODate 形式の日付string
appliedOpTime
。
replSetGetStatus.optimes.lastDurableWallTime
に対応する ISODate 形式の日付string
durableOpTime
。
replSetGetStatus.electionCandidateMetrics
現在の予備選挙に関するメトリクス。
electionCandidateMetrics
は予備選挙または選挙の候補者に対してのみ使用できます。候補者の場合、このメトリクスは候補者の落選後に使用できなくなります。replSetGetStatus.electionCandidateMetrics.electionTerm
新しい選出を呼び出した時点でのノードの選出数(
term
)。
replSetGetStatus.electionCandidateMetrics.lastCommittedOpTimeAtElection
新しい選出を呼び出した時点で、このノードに表示される最近の
majority-committed optime
。
replSetGetStatus.electionCandidateMetrics.lastSeenOpTimeAtElection
新しい選出を呼び出した時点での、ノードの最新の
applied optime
。
replSetGetStatus.electionCandidateMetrics.priorityAtElection
選挙を呼び出した時点での、ノードの
priority
。
replSetGetStatus.electionCandidateMetrics.electionTimeoutMillis
選挙の時点でのレプリカセットの構成済み
electionTimeoutMillis
設定。
replSetGetStatus.electionCandidateMetrics.priorPrimaryMemberId
前のプライマリの
members[n]._id
。前のプライマリがない場合、このフィールドは存在しません。
replSetGetStatus.electionCandidateMetrics.targetCatchupOpTime
新しく選出されたプライマリのキャッチアップ プロセスのためのターゲット optime。新しく選出されたプライマリがターゲットのキャッチアップ optime に達したときのみ、書込み (write) の受け入れを開始できます。
replSetGetStatus.electionCandidateMetrics.numCatchUpOps
新しく選出されたプライマリがキャッチアップ プロセスを正常に完了したときに適用された操作の数。
replSetGetStatus.electionCandidateMetrics.newTermStartDate
プライマリとしてのノードのタームが開始された日時(つまり、
new term
エントリが oplog に書込まれた日時)。
replSetGetStatus.electionCandidateMetrics.wMajorityWriteAvailabilityDate
レプリカセットの選挙後に書込み保証 (write concern)
"majority"
が使用可能になった日時(new term
oplog エントリが過半数コミットされた日時)。
replSetGetStatus.electionParticipantMetrics
ノードが参加した最新の選挙に関連するメトリクス。
replSetGetStatus.electionParticipantMetrics.electionTerm
ノードが参加した選挙のターム。このタームは、参加者のメトリクスに関連付けられた選挙を識別します。
replSetGetStatus.electionParticipantMetrics.lastVoteDate
参加者がいつ投票したかをレコードする ISODate 形式の日付文字列。
replSetGetStatus.electionParticipantMetrics.electionCandidateMemberId
選挙を呼び出した候補者の
members[n]._id
。
replSetGetStatus.electionParticipantMetrics.voteReason
ノードが候補者に投票しなかった場合の投票理由。ノードが候補者に投票した場合、値は空の文字列です。
replSetGetStatus.electionParticipantMetrics.lastAppliedOpTimeAtElection
このノードの最新の選挙時点での optime。
optime 値は、タイムスタンプ(
ts
)とターム(t
)を含むドキュメントです。
replSetGetStatus.electionParticipantMetrics.maxAppliedOpTimeInSet
このレプリカセットの任意のノード(このノードによって認識される)に対して最後に適用された optime。
optime 値は、タイムスタンプ(
ts
)とターム(t
)を含むドキュメントです。
replSetGetStatus.electionParticipantMetrics.priorityAtElection
選挙時点でのノードの
priority
。
replSetGetStatus.electionParticipantMetrics.newTermStartDate
選出されたプライマリのタームが開始された日付と時刻。これはプライマリが
new term
エントリを oplog に書込んだ日時に相当し、エントリがセカンダリの oplog に追加(複製)された日時ではありません。フィールドは セカンダリ ノードのみで使用できます。 プライマリについては、代わりに
replSetGetStatus.electionCandidateMetrics.newTermStartDate
を参照してください。
replSetGetStatus.initialSyncStatus
このノードの最初の同期の進行状況とステータスに関する情報を提供するドキュメント。
replSetGetStatus.initialSyncStatus.failedInitialSyncAttempts
このノードで最初の同期が失敗し、再開する必要があった回数。
replSetGetStatus.initialSyncStatus.maxFailedInitialSyncAttempts
ノードがシャットダウンする前に、このノードで最初の同期を再開できる最大回数。
replSetGetStatus.initialSyncStatus.initialSyncStart
このノードの最初の同期の開始タイムスタンプ。
replSetGetStatus.initialSyncStatus.initialSyncEnd
このノードの最初の同期の終了タイムスタンプ。
replSetGetStatus.initialSyncStatus.initialSyncAttempts
各ドキュメントが 1 回の最初の同期の試行に対応するドキュメントの配列。例:
"initialSyncAttempts" : [ { "durationMillis" : 59539, "status" : "InvalidOptions: error fetching oplog during initial sync :: caused by :: Error while getting the next batch in the oplog fetcher :: caused by :: readConcern afterClusterTime value must not be greater than the current clusterTime. Requested clusterTime: { ts: Timestamp(0, 1) }; current clusterTime: { ts: Timestamp(0, 0) }", "syncSource" : "m1.example.net:27017", "rollBackId" : 1, "operationsRetried" : 120, "totalTimeUnreachableMillis" : 52601 } ], 各ドキュメントには、最初の同期を試行するための以下の情報が含まれています。
フィールド説明durationMillis
最初の同期試行の継続時間(ミリ秒)。
状態
最初の同期試行の終了ステータス。
syncSource
最初の同期試行の同期ソース。
rollBackId
最初の同期試行の開始時点での同期ソースのロールバック識別子。
ファイル コピー ベースの最初の同期
を使用する場合、
rollBackId
は表示されません。operationsRetried
すべての操作再試行回数の合計。
totalTimeUnreachableMillis
操作の再試行に費やされた時間の合計。
replSetGetStatus.initialSyncStatus.appliedOps
最初の同期の開始後に実行され、データベースのクローン後に適用された操作の数。
最初の同期プロセスの一部として、ノードは oplog を使用して、レプリカセットの現在の状態を反映するようにデータセットを更新します。
replSetGetStatus.initialSyncStatus.initialSyncOplogStart
ノードが最初の同期の開始後に発生した変更を適用する最初の同期の oplog アプリケーション ステージの開始タイムスタンプ。
最初の同期プロセスの一部として、ノードは oplog を使用して、レプリカセットの現在の状態を反映するようにデータセットを更新します。
replSetGetStatus.initialSyncStatus.initialSyncOplogEnd
ノードが最初の同期の開始後に発生した変更を適用する最初の同期の oplog アプリケーション ステージの終了タイムスタンプ。
最初の同期プロセスの一部として、ノードは oplog を使用して、レプリカセットの現在の状態を反映するようにデータセットを更新します。
replSetGetStatus.initialSyncStatus.syncSourceUnreachableSince
同期ソースが到達不能になった日時。
現在の最初の同期中に同期ソースが利用不可の場合にのみ存在します。
replSetGetStatus.initialSyncStatus.currentOutageDurationMillis
同期ソースが利用できなかった時間(ミリ秒単位)。
現在の最初の同期中に同期ソースが利用不可の場合にのみ存在します。
replSetGetStatus.initialSyncStatus.databases
最初の同期中にクローンされたデータベースの詳細。
replSetGetStatus.initialSyncStatus.databases.databasesCloned
最初の同期中にクローンされたデータベースの数。
replSetGetStatus.initialSyncStatus.databases.<dbname>
各データベースについて、そのデータベースのクローン作成の進行状況に関する情報を返すドキュメント。
{ "collections" : <number of collections to clone in the database>, "clonedCollections" : <number of collections cloned to date>, "start" : <start date and time for the database clone>, "end" : <end date and time for the database clone>, "elapsedMillis" : <duration of the database clone>, "<db>.<collection>" : { "documentsToCopy" : <number of documents to copy>, "documentsCopied" : <number of documents copied to date>, "indexes" : <number of indexes>, "fetchedBatches" : <number of batches of documents fetched to date>, "start" : <start date and time for the collection clone>, "end" : <end date and time for the collection clone>, "elapsedMillis" : <duration of the collection clone>, "receivedBatches" : <number of batches of documents received to date> } }
replSetGetStatus.initialSyncStatus.method
バージョン 5.2 で追加。
最初の同期に使用されるメソッド。
logical
に設定されている場合、同期は論理的な最初の同期です。fileCopyBased
に設定されている場合は、同期はファイル コピー ベースの最初の同期になります。
replSetGetStatus.initialSyncStatus.approxTotalDataSize
同期されるすべてのファイルのおおよそのサイズ(バイト)。
このフィールドは、論理的またはファイル コピー ベースの最初の同期を使用する場合に表示されます。
replSetGetStatus.initialSyncStatus.approxTotalBytesCopied
すでにコピーされた合計バイト数。
このフィールドは、論理的またはファイル コピー ベースの最初の同期を使用する場合に表示されます。
replSetGetStatus.initialSyncStatus.totalInitialSyncElapsedMillis
進行中の同期試行の合計経過時間。
このフィールドは、論理的またはファイル コピー ベースの最初の同期を使用する場合に表示されます。
replSetGetStatus.initialSyncStatus.remainingInitialSyncEstimatedMillis
進行中の同期試行の予想残り時間。
このフィールドは、論理的またはファイル コピー ベースの最初の同期を使用する場合に表示されます。
replSetGetStatus.initialSyncStatus.initialBackupDataSize
同期されるファイルの初期セットの合計サイズ(バイト)。
このフィールドは、ファイル コピー ベースの最初の同期を使用する場合にのみ表示されます。
replSetGetStatus.initialSyncStatus.previousOplogEnd
前のバックアップカーソルで使用可能な optime。
このフィールドは、ファイル コピー ベースの最初の同期を使用する場合にのみ表示されます。
replSetGetStatus.initialSyncStatus.currentOplogEnd
現在のバックアップカーソルで使用できることが保証されている最後の optime。
このフィールドは、ファイル コピー ベースの最初の同期を使用する場合にのみ表示されます。
replSetGetStatus.initialSyncStatus.syncSourceLastApplied
このバックアップカーソルの開始前に同期ソースに適用された最後の更新の optime。
このフィールドは、ファイル コピー ベースの最初の同期を使用する場合にのみ表示されます。
replSetGetStatus.initialSyncStatus.numExtensions
同期によって新しいバックアップカーソルが開始された回数。
バックアップカーソルが開始されていない場合、このフィールドは表示されません。
このフィールドは、ファイル コピー ベースの最初の同期を使用する場合にのみ表示されます。
replSetGetStatus.initialSyncStatus.extensionDataSize
現在の拡張子の合計バイト数。
このフィールドは、進行中の拡張がない場合は表示されません。
このフィールドは、ファイル コピー ベースの最初の同期を使用する場合にのみ表示されます。
replSetGetStatus.initialSyncStatus.files
ファイル コピー ベースの最初の同期中に同期されるファイルの配列。
このフィールドは、ファイル コピー ベースの最初の同期を使用する場合にのみ表示されます。
replSetGetStatus.initialSyncStatus.files[n].filePath
バックアップカーソルのルートに対するファイルの相対パス。
このフィールドは、ファイル コピー ベースの最初の同期を使用する場合にのみ表示されます。
replSetGetStatus.initialSyncStatus.files[n].fileSize
バックアップカーソルによって報告されるファイルのサイズ。
このフィールドは、ファイル コピー ベースの最初の同期を使用する場合にのみ表示されます。
replSetGetStatus.initialSyncStatus.files[n].bytesCopied
これまでにコピーされたバイト数。
このフィールドは、ファイル コピー ベースの最初の同期を使用する場合にのみ表示されます。
replSetGetStatus.initialSyncStatus.files[n].extensionNumber
このファイルが拡張機能の一部である場合、ファイルが属する拡張機能の番号。
このフィールドは、ファイル コピー ベースの最初の同期を使用する場合にのみ表示されます。
replSetGetStatus.members
members
フィールドは、レプリカセット内のすべてのノードのドキュメントを含む配列を保持します。replSetGetStatus.members[n].ip
ノードの解決済み IP アドレス。
mongod
がreplSetGetStatus.members[n].name
を IP アドレスに解決(変換)できない場合、戻り値は BSON null になります。それ以外の場合、戻り値は解決された IP アドレスの文字列表記になります。
replSetGetStatus.members[n].self
ノードが現在の
mongod
インスタンスであるかどうかを示すブール値。self
フィールドは、現在のmongod
インスタンスのドキュメントにのみ含まれるため、その値は常にtrue
です。
replSetGetStatus.members[n].state
ノードのレプリカ状態
を表す
0
から10
までの整数。
replSetGetStatus.members[n].uptime
replSetGetStatus
コマンドが実行されたノードの場合、uptime
はノードがオンラインになっている秒数です。他のノードでは、
uptime
は、ノードがreplSetGetStatus
コマンドの実行ノードと継続的に通信状態にあった秒数です。
replSetGetStatus.members[n].optimeDurable
このノードがジャーナルに適用した最後の操作に関する oplog からの情報。
optimeDurable
は、次の内容を含むドキュメントを返します。
replSetGetStatus.members[n].optimeDate
このノードが適用した oplog からの最後のエントリを含む ISODate 形式の文字列。この値が
lastHeartbeat
と大きく相違する場合、このノードで「レプリケーションラグ」が発生しているか、最後の更新後に新しい操作が行われていません。セットのすべてのノード間でmembers.optimeDate
を比較ししてください。
replSetGetStatus.members[n].lastAppliedWallTime
レプリカセットのこのノードによって適用された最後の操作がプライマリ ノードに適用された時点を反映する ISODate 形式の日付文字列。
replSetGetStatus.members[n].lastDurableWallTime
このノードのジャーナルに書込まれた最後の操作がプライマリ ノードに最初に適用された時点を反映する ISODate 形式の文字列。
replSetGetStatus.members[n].electionTime
現在のプライマリについて、oplog からの選挙タイムスタンプに関する情報。選挙の詳細については、「レプリカセットの高可用性」を参照してください。
replSetGetStatus.members[n].electionDate
現在のプライマリについて、選挙日を含む ISODate 形式の文字列。選挙の詳細については、「レプリカセットの高可用性」を参照してください。
replSetGetStatus.members[n].lastHeartbeat
ISODate 形式の日付と時刻で、replSetGetStatus コマンドを処理したサーバーがこのノード(
members[n]
)に送信したハートビートからの応答を最後に受信した時刻を含みます。これらのレプリカセットのノード間のレイテンシを追跡するには、この値をdate
フィールドとlastHeartbeatRecv
フィールドの値と比較します。この値は、
replSetGetStatus.members[n].self
で指定されたサーバー以外のレプリカセット ノードでのみ使用できます。
replSetGetStatus.members[n].lastHeartbeatRecv
ISODate 形式の日付と時刻で、replSetGetStatus コマンドを処理したサーバーがこのノード(
members[n]
)からのハートビート リクエストを最後に受信した時刻を含みます。これらのレプリカセットのノード間のレイテンシを追跡するには、この値をdate
フィールドとlastHeartbeat
フィールドの値と比較します。この値は、
replSetGetStatus.members[n].self
で指定されたサーバー以外のレプリカセット ノードでのみ使用できます。
replSetGetStatus.members[n].lastHeartbeatMessage
最後のハートビートに追加のメッセージが含まれている場合、
lastHeartbeatMessage
にはそのメッセージの string 表現が含まれます。
replSetGetStatus.members[n].pingMs
pingMs
は、ラウンドトリップ パケットがリモート ノードとローカル インスタンスの間を移動するのにかかるミリ秒(ms)数を表します。この値は、
rs.status()
データを返すノードには表示されません。
replSetGetStatus.members[n].syncSourceHost
syncSourceHost
フィールドには、このインスタンスが同期するノードのホスト名が保持されます。replSetGetStatus.members[n]
がプライマリの場合、syncSourceHost
は空の string で、syncSourceId
-1
は です。
replSetGetStatus.members[n].syncSourceId
syncSourceId
フィールドにはsyncSourceHost
の
replSetGetStatus.members[n]._id
値が保持され 。replSetGetStatus.members[n]
がプライマリの場合、syncSourceHost
は空の string で、syncSourceId
-1
は です。
replSetGetStatus.members[n].configVersion
configVersion
値はreplica set configuration version
です。
replSetGetStatus.tooStale
レプリカセット ノードがプライマリのoplog よりも大幅に遅延し、
RECOVERING
状態のままになっていることを示すブール値。 このフィールドは、値がtrue
の場合にのみ
replSetGetStatus
の出力に含まれます。
ok
ステータス フィールド、operationTime
フィールド、および $clusterTime
フィールドの詳細については、「応答」も参照してください。
replSetGetStatus.optime
レプリカセットからノードを削除した後に存在します。 削除されたノードによって適用された最後の oplog エントリのoptimeを提供します。