Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

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.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.heartbeatIntervalMillis

ハートビートの頻度(ミリ秒単位)。

replSetGetStatus.majorityVoteCount

選挙で新しいプライマリを選出するために必要な過半数の票の数。

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.lastCommittedOpTime

レプリカセット ノードの過半数に書き込まれた最新の操作に関する、このノードから見た情報。

replSetGetStatus.optimes.lastCommittedWallTime

に対応する ISODate 形式の日付string lastCommittedOpTime

replSetGetStatus.optimes.readConcernMajorityOpTime

直近の操作のうち読み取り保証(read concern)"majority" クエリを満たすことができるものに関する、このノードの観点に基づく情報。つまり、"majority" クエリの条件に一致する直近の lastCommittedOpTimereadConcernMajorityOpTimelastCommittedOpTime 未満または等しいのいずれかです。

replSetGetStatus.optimes.readConcernMajorityWallTime

に対応する ISODate 形式の日付string readConcernMajorityOpTime

replSetGetStatus.optimes.appliedOpTime

レプリカセットのこのノードに適用された最新の操作に関する、このノードの観点から見た情報。

replSetGetStatus.optimes.lastAppliedWallTime

に対応する ISODate 形式の日付string appliedOpTime

replSetGetStatus.optimes.durableOpTime

レプリカセットのこのノードのジャーナルに書込まれた最新の操作に関する、このノードの観点から見た情報。

replSetGetStatus.optimes.lastDurableWallTime

に対応する ISODate 形式の日付string durableOpTime

replSetGetStatus.lastStableRecoveryTimestamp

内部でのみ使用します。

replSetGetStatus.electionCandidateMetrics

現在の予備選挙に関するメトリクス。electionCandidateMetrics は予備選挙または選挙の候補者に対してのみ使用できます。候補者の場合、このメトリクスは候補者の落選後に使用できなくなります。

replSetGetStatus.electionCandidateMetrics.lastElectionReason

ノードが選挙を呼び出した理由。

replSetGetStatus.electionCandidateMetrics.lastElectionDate

ノードが選挙を呼び出した日時。

replSetGetStatus.electionCandidateMetrics.electionTerm

新しい選出を呼び出した時点でのノードの選出数(term)。

replSetGetStatus.electionCandidateMetrics.lastCommittedOpTimeAtElection

新しい選出を呼び出した時点で、このノードに表示される最近の majority-committed optime

replSetGetStatus.electionCandidateMetrics.lastSeenOpTimeAtElection

新しい選出を呼び出した時点での、ノードの最新の applied optime

replSetGetStatus.electionCandidateMetrics.numVotesNeeded

選挙に当選するために必要な票数。

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.votedForCandidate

ノードが選挙を呼び出した候補者に投票したかどうかを示すブール値。

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.electionParticipantMetrics.newTermAppliedDate

このセカンダリが new term エントリを適用した日時。

このフィールドは、セカンダリ ノードのみが使用できます。

replSetGetStatus.initialSyncStatus

このノードの最初の同期の進行状況とステータスに関する情報を提供するドキュメント。

重要

可用性

replSetGetStatus.initialSyncStatusメトリクスは、最初の同期中にノードに対して実行された場合にのみ使用できます(つまり STARTUP2状態)。

replSetGetStatus.initialSyncStatus.failedInitialSyncAttempts

このノードで最初の同期が失敗し、再開する必要があった回数。

replSetGetStatus.initialSyncStatus.maxFailedInitialSyncAttempts

ノードがシャットダウンする前に、このノードで最初の同期を再開できる最大回数。

replSetGetStatus.initialSyncStatus.initialSyncStart

このノードの最初の同期の開始タイムスタンプ。

replSetGetStatus.initialSyncStatus.initialSyncEnd

このノードの最初の同期の終了タイムスタンプ。

replSetGetStatus.initialSyncStatus.initialSyncElapsedMillis

initialSyncStartinitialSyncEndの間のミリ秒数。

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

操作の再試行に費やされた時間の合計。

failedInitialSyncAttemptsも参照してください。

replSetGetStatus.initialSyncStatus.appliedOps

最初の同期の開始後に実行され、データベースのクローン後に適用された操作の数。

最初の同期プロセスの一部として、ノードは oplog を使用して、レプリカセットの現在の状態を反映するようにデータセットを更新します。

replSetGetStatus.initialSyncStatus.initialSyncOplogStart

ノードが最初の同期の開始後に発生した変更を適用する最初の同期の oplog アプリケーション ステージの開始タイムスタンプ。

最初の同期プロセスの一部として、ノードは oplog を使用して、レプリカセットの現在の状態を反映するようにデータセットを更新します。

replSetGetStatus.initialSyncStatus.initialSyncOplogEnd

ノードが最初の同期の開始後に発生した変更を適用する最初の同期の oplog アプリケーション ステージの終了タイムスタンプ。

最初の同期プロセスの一部として、ノードは oplog を使用して、レプリカセットの現在の状態を反映するようにデータセットを更新します。

replSetGetStatus.initialSyncStatus.syncSourceUnreachableSince

同期ソースが到達不能になった日時。

現在の最初の同期中に同期ソースが利用不可の場合にのみ存在します。

replSetGetStatus.initialSyncStatus.currentOutageDurationMillis

同期ソースが利用できなかった時間(ミリ秒単位)。

現在の最初の同期中に同期ソースが利用不可の場合にのみ存在します。

replSetGetStatus.initialSyncStatus.totalTimeUnreachableMillis

現在の最初の同期中にノードが利用不可になっていた時間の合計(ミリ秒単位)。

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]._id

ノードの弁別子。

replSetGetStatus.members[n].name

ノードの名前。

replSetGetStatus.members[n].ip

ノードの解決済み IP アドレス。mongodreplSetGetStatus.members[n].name を IP アドレスに解決(変換)できない場合、戻り値は BSON null になります。それ以外の場合、戻り値は解決された IP アドレスの文字列表記になります。

replSetGetStatus.members[n].self

ノードが現在の mongod インスタンスであるかどうかを示すブール値。

self フィールドは、現在の mongod インスタンスのドキュメントにのみ含まれるため、その値は常に true です。

replSetGetStatus.members[n].health

ノードがアップ(1)かダウン(0)かを示す数値。

replSetGetStatus.members[n].state

ノードのレプリカ状態を表す 0 から 10 までの整数。

replSetGetStatus.members[n].stateStr

stateを説明する string。

replSetGetStatus.members[n].uptime

replSetGetStatusコマンドが実行されたノードの場合、 uptimeはノードがオンラインになっている秒数です。

他のノードでは、uptime は、ノードが replSetGetStatus コマンドの実行ノードと継続的に通信状態にあった秒数です。

replSetGetStatus.members[n].optime

このノードが適用した最後の操作に関する oplog からの情報。

optime は、次の内容を含むドキュメントを返します。

  • tsoplog からレプリカセットのこのノードに適用された最後の操作のタイムスタンプ

  • t、プライマリ上で最後に適用された操作が最初に生成されたterm

replSetGetStatus.members[n].optimeDurable

このノードがジャーナルに適用した最後の操作に関する oplog からの情報。

optimeDurable は、次の内容を含むドキュメントを返します。

replSetGetStatus.members[n].optimeDate

このノードが適用した oplog からの最後のエントリを含む ISODate 形式の文字列。この値が lastHeartbeat と大きく相違する場合、このノードで「レプリケーションラグ」が発生しているか、最後の更新後に新しい操作が行われていません。セットのすべてのノード間で members.optimeDate を比較ししてください。

replSetGetStatus.members[n].optimeDurableDate

このノードがジャーナル適用した oplog からの最後のエントリを含む ISODate 形式の文字列。

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フィールドには syncSourceHostreplSetGetStatus.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を提供します。

replSetGetStatus.optimeDate

レプリカセットからノードを削除した後に存在します。 string削除されたノードによって適用された最後のoptime oplogエントリの の ISODate 形式 を提供します。

戻る

replSetGetConfig