replSetGetStatus
定義
replSetGetStatus
replSetGetStatus
コマンドは、コマンドを処理したサーバーの観点からレプリカセットのステータスを返します。replSetGetStatus
は管理データベースに対して実行する必要があります。が正常に返されるには、
replSetGetStatus
mongod
インスタンスがレプリカセット メンバーである必要があります。このコマンドによって提供されるデータは、レプリカセットの他のノードによってサーバーに送信されるハートビートに含まれるデータから派生します。ハートビートの頻度により、これらのデータは数秒古くなる可能性があります。
Tip
mongosh
では、このコマンドはrs.status()
ヘルパー メソッドを通じて実行することもできます。ヘルパー メソッドは
mongosh
ユーザーには便利ですが、データベースコマンドと同じレベルの情報は返されない可能性があります。 便宜上必要ない場合、または追加の戻りフィールドが必要な場合は、 データベースコマンドを使用します。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
重要
このコマンドは、M 0 、M 2 、M 5クラスターではサポートされていません。 詳細については、「サポートされていないコマンド 」を参照してください。
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.4.x〜4.2.0)
次のように、任意の
initialSync: 1
を指定して、出力にreplSetGetStatus.initialSyncStatus
を含めることができます(最初の同期ステータスを返さない場合は省略できます)。db.adminCommand( { replSetGetStatus : 1, initialSync: 1} )
最初の同期中にノードに対して 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
バージョン 3.2 で追加。
このレプリカセット ノードに認識される、レプリカセットの選挙数。
term
は、正確性を確保するために分散コンシステントアルゴリズムによって使用されます。
replSetGetStatus.syncSourceHost
バージョン 4.0 の新機能: 3.6.6、 3.4.16
syncSourceHost
フィールドには、このインスタンスが同期するノードのホスト名が保持されます。このインスタンスがプライマリの場合、
syncSourceHost
は空の string であり、syncSourceId
-1
は です。
replSetGetStatus.syncSourceId
バージョン 4.0 の新機能: 3.6.6、 3.4.16
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
バージョン 3.4 で追加。
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形式の日付 string。
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
バージョン 3.4 で追加。
ドキュメントには、このノードの最初の同期の進行状況とステータスに関する情報が提供されます。
replSetGetStatus.initialSyncStatus.failedInitialSyncAttempts
バージョン 3.4 で追加。
このノードで最初の同期が失敗し、再開する必要があった回数。
replSetGetStatus.initialSyncStatus.maxFailedInitialSyncAttempts
バージョン 3.4 で追加。
ノードがシャットダウンする前に、このノードで最初の同期を再開できる最大回数。
replSetGetStatus.initialSyncStatus.initialSyncStart
バージョン 3.4 で追加。
このノードの最初の同期の開始タイムスタンプ。
replSetGetStatus.initialSyncStatus.initialSyncEnd
バージョン 3.4 で追加。
このノードの最初の同期の終了タイムスタンプ。
replSetGetStatus.initialSyncStatus.initialSyncAttempts
バージョン 3.4 で追加。
各ドキュメントが 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最初の同期試行の開始時点での同期ソースのロールバック識別子。operationsRetriedすべての操作再試行回数の合計。totalTimeUnreachableMillis操作の再試行に費やされた時間の合計。
replSetGetStatus.initialSyncStatus.appliedOps
バージョン 3.4 で追加。
最初の同期の開始後に実行され、データベースのクローン後に適用された操作の数。
最初の同期プロセスの一部として、ノードは oplog を使用して、レプリカセットの現在の状態を反映するようにデータセットを更新します。
replSetGetStatus.initialSyncStatus.initialSyncOplogStart
バージョン 3.4 で追加。
ノードが最初の同期の開始後に発生した変更を適用する最初の同期の oplog アプリケーション ステージの開始タイムスタンプ。
最初の同期プロセスの一部として、ノードは oplog を使用して、レプリカセットの現在の状態を反映するようにデータセットを更新します。
replSetGetStatus.initialSyncStatus.initialSyncOplogEnd
バージョン 3.4 で追加。
ノードが最初の同期の開始後に発生した変更を適用する最初の同期の oplog アプリケーション ステージの終了タイムスタンプ。
最初の同期プロセスの一部として、ノードは oplog を使用して、レプリカセットの現在の状態を反映するようにデータセットを更新します。
replSetGetStatus.initialSyncStatus.syncSourceUnreachableSince
同期ソースが到達不能になった日時。
現在の最初の同期中に同期ソースが利用不可の場合にのみ存在します。
replSetGetStatus.initialSyncStatus.currentOutageDurationMillis
同期ソースが利用できなかった時間(ミリ秒単位)。
現在の最初の同期中に同期ソースが利用不可の場合にのみ存在します。
replSetGetStatus.initialSyncStatus.databases
バージョン 3.4 で追加。
最初の同期中にクローンされたデータベースの詳細。
replSetGetStatus.initialSyncStatus.databases.databasesCloned
バージョン 3.4 で追加。
最初の同期中にクローンされたデータベースの数。
replSetGetStatus.initialSyncStatus.databases.<dbname>
バージョン 3.4 で追加。
各データベースについて、そのデータベースのクローン作成の進行状況に関する情報を返すドキュメント。
{ "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.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].optime
このノードが適用した最後の操作に関する oplog からの情報。
バージョン 3.2 で変更。
optime
は、次の内容を含むドキュメントを返します。
replSetGetStatus.members[n].optimeDurable
バージョン 3.4 で追加。
このノードがジャーナルに適用した最後の操作に関する oplog からの情報。
optimeDurable
は、次の内容を含むドキュメントを返します。
replSetGetStatus.members[n].optimeDate
このノードが適用したoplog からの最後のエントリを反映する ISODate 形式の 。stringこれが
lastHeartbeat
と大きく相違する場合、このノードで「レプリケーションラグ」が発生しているか、 最後の更新以降に新しい操作が行われていません。 セットのすべてのノード間でmembers.optimeDate
を比較してください。
replSetGetStatus.members[n].optimeDurableDate
バージョン 3.4 で追加。
このノードがジャーナル適用した oplog からの最後のエントリを反映する ISODate 形式のstring。
replSetGetStatus.members[n].lastAppliedWallTime
バージョン 5.0.5 の新機能。
レプリカセットのこのノードによって適用された最後の操作がプライマリ ノードに適用された時点を反映する ISODate 形式の日付文字列。
replSetGetStatus.members[n].lastDurableWallTime
バージョン 5.0.5 の新機能。
このノードのジャーナルに書込まれた最後の操作がプライマリ ノードに最初に適用された時点を反映する ISODate 形式の文字列。
replSetGetStatus.members[n].electionTime
現在のプライマリについて、oplog からの選挙タイムスタンプに関する情報。選挙の詳細については、「レプリカセットの高可用性」を参照してください。
replSetGetStatus.members[n].electionDate
現在のプライマリについて、選挙日を反映するISODate形式の string。 選挙の詳細については、「レプリカセットの高可用性」を参照してください。
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
バージョン 4.0 の新機能: 3.6.6、 3.4.16
syncSourceHost
フィールドには、このインスタンスが同期するノードのホスト名が保持されます。replSetGetStatus.members[n]
がプライマリの場合、syncSourceHost
は空の string で、syncSourceId
-1
は です。
replSetGetStatus.members[n].syncSourceId
バージョン 4.0 の新機能: 3.6.6、 3.4.16
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を提供します。