Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

replSetGetStatus

이 페이지의 내용

  • 정의
  • 호환성
  • 구문
  • 예시
  • 출력
replSetGetStatus

replSetGetStatus 명령은 명령을 처리한 서버 의 점 에서 복제본 세트 의 상태를 반환합니다. replSetGetStatus 은(는) 관리 데이터베이스에 대해 실행 해야 합니다.

성공적으로 반환하려면 mongod 인스턴스가 replSetGetStatus의 복제본 세트 멤버여야 합니다.

이 명령으로 제공되는 데이터는 복제본 세트의 다른 멤버가 서버로 전송한 하트비트에 포함된 데이터에서 파생됩니다. 이러한 데이터는 하트비트의 빈도로 인해 몇 초 동안 최신 상태가 아닐 수 있습니다.

mongosh에서 이 명령을 rs.status() 헬퍼 메서드를 통해서도 실행할 수 있습니다.

헬퍼 메서드는 mongosh 사용자에게 편리하지만 데이터베이스 명령과 동일한 수준의 정보를 반환하지 못할 수 있습니다. 편의가 필요하지 않거나 추가 리턴 필드가 필요한 경우 데이터베이스 명령을 사용합니다.

이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

중요

이 명령은 M0, M2 및 M5 클러스터에서 지원되지 않습니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.

명령은 다음과 같은 구문을 가집니다:

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는 빈 문자열이고 syncSourceId -1입니다.

replSetGetStatus.syncSourceId

버전 4.0의 새로운 기능: 3.6.6, 3.4.16

syncSourceId 필드에는 이 인스턴스가 동기화되는 멤버의 replSetGetStatus.members[n]._id 가 있습니다.

이 인스턴스가 프라이머리인 경우 syncSourceHost는 빈 문자열이고 syncSourceId -1입니다.

replSetGetStatus.heartbeatIntervalMillis

버전 3.2에 새로 추가되었습니다.

하트비트의 밀리초 단위 주파수입니다.

replSetGetStatus.majorityVoteCount

투표에서 새로운 예비 프라이머리를 선출하는 데 필요한 과반수 득표수입니다.

replSetGetStatus.writeMajorityCount

쓰기 고려 "majority"를 수행하는 데 필요한 데이터 보유 투표 멤버 수(예: 중재자 아님)입니다. 쓰기는 데이터를 보유한 멤버에게만 적용할 수 있습니다.

replSetGetStatus.writeMajorityCount 계산에 대해서는 쓰기 고려에 대한 과반수 계산을 참조하세요.

replSetGetStatus.votingMembersCount

중재자를 포함하여 votes: 1로 구성된 멤버의 수입니다.

replSetGetStatus.writableVotingMembersCount

구성된 데이터 votes: 1 보유 멤버 수입니다. 즉, 카운트에 중재자가 포함되지 않습니다.

replSetGetStatus.optimes

버전 3.4에 새로 추가되었습니다.

optimes 필드에는 복제 진행률을 검사하는 데 사용되는 optime을 포함한 문서가 있습니다. optimes 필드에는 다양한 최적화 항목에 해당하는 ISODate 형식의 날짜 문자열이 포함됩니다.

각 optime 값은 다음을 포함하는 문서입니다.

  • ts, 작업의 타임스탬프입니다.

  • t작업이 원래 프라이머리에서 생성된 term입니다.

replSetGetStatus.optimes.lastCommittedOpTime

이 멤버의 관점에서 볼 때 대부분의 복제본 세트 멤버에 기록된 가장 최근의 작업에 관한 정보입니다.

replSetGetStatus.optimes.lastCommittedWallTime

lastCommittedOpTime에 해당하는 ISODate 형식의 날짜 문자열입니다.

replSetGetStatus.optimes.readConcernMajorityOpTime

이 구성원의 관점에서 읽기 고려 "majority" 쿼리를 수행할 수 있는 가장 최근 작업에 관한 정보입니다. 즉, "majority" 쿼리를 수행할 수 있는 가장 최근 lastCommittedOpTime입니다. readConcernMajorityOpTime(이)가 lastCommittedOpTime보다 작거나 같습니다.

replSetGetStatus.optimes.readConcernMajorityWallTime

readConcernMajorityOpTime에 해당하는 ISODate 형식의 날짜 문자열입니다.

replSetGetStatus.optimes.appliedOpTime

이 멤버의 관점에서 복제본 세트의 이 멤버에 적용된 가장 최근 작업에 관한 정보입니다.

replSetGetStatus.optimes.lastAppliedWallTime

appliedOpTime에 해당하는 ISODate 형식의 날짜 문자열입니다.

replSetGetStatus.optimes.durableOpTime

이 멤버의 관점에서 본 복제본 세트의 해당 멤버의 저널에 기록된 가장 최근 작업에 관한 정보입니다.

replSetGetStatus.optimes.lastDurableWallTime

durableOpTime에 해당하는 ISODate 형식의 날짜 문자열입니다.

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에 도달해야만 쓰기 수락을 시작할 수 있습니다.

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

버전 3.4에 새로 추가되었습니다.

문서에서 이 멤버의 초기 동기화 진행 상황 및 상태에 대한 정보를 제공합니다.

중요

가용성

replSetGetStatus.initialSyncStatus 지표는 초기 동기화 중에 멤버에서 실행할 때만 사용할 수 있습니다(예: STARTUP2 상태).

replSetGetStatus.initialSyncStatus.failedInitialSyncAttempts

버전 3.4에 새로 추가되었습니다.

초기 동기화가 실패하고 이 멤버에서 다시 시작해야 했던 횟수입니다.

중요

가용성

replSetGetStatus.initialSyncStatus 지표는 초기 동기화 중에 멤버에서 실행할 때만 사용할 수 있습니다(예: STARTUP2 상태).

replSetGetStatus.initialSyncStatus.maxFailedInitialSyncAttempts

버전 3.4에 새로 추가되었습니다.

멤버가 종료되기 전에 이 멤버에서 초기 동기화를 다시 시작할 수 있는 최대 횟수입니다.

중요

가용성

replSetGetStatus.initialSyncStatus 지표는 초기 동기화 중에 멤버에서 실행할 때만 사용할 수 있습니다(예: STARTUP2 상태).

replSetGetStatus.initialSyncStatus.initialSyncStart

버전 3.4에 새로 추가되었습니다.

이 멤버에 대한 초기 동기화의 시작 타임스탬프입니다.

중요

가용성

replSetGetStatus.initialSyncStatus 지표는 초기 동기화 중에 멤버에서 실행할 때만 사용할 수 있습니다(예: STARTUP2 상태).

replSetGetStatus.initialSyncStatus.initialSyncEnd

버전 3.4에 새로 추가되었습니다.

이 멤버에 대한 초기 동기화의 종료 타임스탬프입니다.

중요

가용성

replSetGetStatus.initialSyncStatus 지표는 초기 동기화 중에 멤버에서 실행할 때만 사용할 수 있습니다(예: STARTUP2 상태).

replSetGetStatus.initialSyncStatus.initialSyncElapsedMillis

버전 3.4에 새로 추가되었습니다.

initialSyncStart부터 initialSyncEnd까지의 밀리초입니다.

중요

가용성

replSetGetStatus.initialSyncStatus 지표는 초기 동기화 중에 멤버에서 실행할 때만 사용할 수 있습니다(예: STARTUP2 상태).

replSetGetStatus.initialSyncStatus.initialSyncAttempts

버전 3.4에 새로 추가되었습니다.

각 문서가 단일 초기 동기화 시도에 해당하는 문서 배열입니다. 예시:

"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

작업 재시도에 소요된 총 시간입니다.

failedInitialSyncAttempts 도 참조하세요.

중요

가용성

replSetGetStatus.initialSyncStatus 지표는 초기 동기화 중에 멤버에서 실행할 때만 사용할 수 있습니다(예: STARTUP2 상태).

replSetGetStatus.initialSyncStatus.appliedOps

버전 3.4에 새로 추가되었습니다.

초기 동기화가 시작된 후 발생하여 데이터베이스를 복제한 후 적용된 작업의 수입니다.

초기 동기화 프로세스의 일부로 멤버는 복제본 세트의 현재 상태를 반영하도록 데이터 집합을 업데이트하기 위해 oplog를 사용합니다.

중요

가용성

replSetGetStatus.initialSyncStatus 지표는 초기 동기화 중에 멤버에서 실행할 때만 사용할 수 있습니다(예: STARTUP2 상태).

replSetGetStatus.initialSyncStatus.initialSyncOplogStart

버전 3.4에 새로 추가되었습니다.

멤버가 초기 동기화 시작 후 발생한 변경 사항을 적용하는 초기 동기화의 oplog 애플리케이션 단계의 시작 타임스탬프입니다.

초기 동기화 프로세스의 일부로 멤버는 복제본 세트의 현재 상태를 반영하도록 데이터 집합을 업데이트하기 위해 oplog를 사용합니다.

중요

가용성

replSetGetStatus.initialSyncStatus 지표는 초기 동기화 중에 멤버에서 실행할 때만 사용할 수 있습니다(예: STARTUP2 상태).

replSetGetStatus.initialSyncStatus.initialSyncOplogEnd

버전 3.4에 새로 추가되었습니다.

멤버가 초기 동기화 시작 후 발생한 변경 사항을 적용하는 초기 동기화의 oplog 애플리케이션 단계의 종료 타임스탬프입니다.

초기 동기화 프로세스의 일부로 멤버는 복제본 세트의 현재 상태를 반영하도록 데이터 집합을 업데이트하기 위해 oplog를 사용합니다.

중요

가용성

replSetGetStatus.initialSyncStatus 지표는 초기 동기화 중에 멤버에서 실행할 때만 사용할 수 있습니다(예: STARTUP2 상태).

replSetGetStatus.initialSyncStatus.syncSourceUnreachableSince

동기화 원본에 연결할 수 없게 된 날짜 및 시간입니다.

현재 초기 동기화 중에 if 동기화 소스를 사용할 수 없는 경우에만 표시됩니다.

중요

가용성

replSetGetStatus.initialSyncStatus 지표는 초기 동기화 중에 멤버에서 실행할 때만 사용할 수 있습니다(예: STARTUP2 상태).

replSetGetStatus.initialSyncStatus.currentOutageDurationMillis

동기화 소스를 사용할 수 없었던 시간(밀리초)입니다.

현재 초기 동기화 중에 if 동기화 소스를 사용할 수 없는 경우에만 표시됩니다.

중요

가용성

replSetGetStatus.initialSyncStatus 지표는 초기 동기화 중에 멤버에서 실행할 때만 사용할 수 있습니다(예: STARTUP2 상태).

replSetGetStatus.initialSyncStatus.totalTimeUnreachableMillis

현재 초기 동기화 중에 멤버를 사용할 수 없었던 총 시간(밀리초)입니다.

중요

가용성

replSetGetStatus.initialSyncStatus 지표는 초기 동기화 중에 멤버에서 실행할 때만 사용할 수 있습니다(예: STARTUP2 상태).

replSetGetStatus.initialSyncStatus.databases

버전 3.4에 새로 추가되었습니다.

초기 동기화 중에 복제된 데이터베이스에 대한 세부 정보입니다.

중요

가용성

replSetGetStatus.initialSyncStatus 지표는 초기 동기화 중에 멤버에서 실행할 때만 사용할 수 있습니다(예: STARTUP2 상태).

replSetGetStatus.initialSyncStatus.databases.databasesCloned

버전 3.4에 새로 추가되었습니다.

초기 동기화 중에 복제된 데이터베이스 수입니다.

중요

가용성

replSetGetStatus.initialSyncStatus 지표는 초기 동기화 중에 멤버에서 실행할 때만 사용할 수 있습니다(예: STARTUP2 상태).

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.initialSyncStatus 지표는 초기 동기화 중에 멤버에서 실행할 때만 사용할 수 있습니다(예: STARTUP2 상태).

replSetGetStatus.members

members 필드에는 복제본 세트의 모든 노드에 대한 문서가 포함된 배열이 있습니다.

replSetGetStatus.members[n]._id

멤버의 식별자입니다.

replSetGetStatus.members[n].name

멤버의 이름입니다.

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

멤버가 작동 중인지 여부를 나타내는 숫자(예: 1) 또는 다운(예: 0).

replSetGetStatus.members[n].state

멤버의 복제 상태를 나타내는 0~10 사이의 정수입니다.

replSetGetStatus.members[n].stateStr

state를 설명하는 문자열입니다.

replSetGetStatus.members[n].uptime

replSetGetStatus 명령이 실행되는 노드의 경우 uptime은 노드가 온라인 상태였던 시간(초)입니다.

다른 노드의 경우 uptime은 해당 노드가 replSetGetStatus 명령이 실행된 노드와 지속적으로 통신했던 시간(초)입니다.

replSetGetStatus.members[n].optime

이 멤버가 적용한 작업 로그의 마지막 작업에 대한 정보입니다.

버전 3.2에서 변경됨.

optime 다음을 포함하는 문서를 반환합니다.

  • tsoplog에서 복제본 세트의 이 멤버에 적용한 마지막 작업의 타임스탬프입니다.

  • t마지막으로 적용된 작업이 원래 프라이머리에서 생성된 term입니다.

replSetGetStatus.members[n].optimeDurable

버전 3.4에 새로 추가되었습니다.

이 멤버이 해당 저널에 적용한 작업 로그의 마지막 작업에 관한 정보입니다.

optimeDurable 다음을 포함하는 문서를 반환합니다.

  • ts, 작업의 타임스탬프입니다.

  • t이 작업이 원래 프라이머리에서 생성된 term입니다.

replSetGetStatus.members[n].optimeDate

이 멤버가 oplog 적용한 의 마지막 항목을 반영하는 ISODate 형식의 날짜 입니다.string lastHeartbeat 와 크게 다른 경우 이 멤버는 '복제 지연'이 발생 하거나 마지막 업데이트 이후 새 작업이 없는 것입니다. 세트의 모든 멤버 간에 members.optimeDate 를 비교합니다.

replSetGetStatus.members[n].optimeDurableDate

버전 3.4에 새로 추가되었습니다.

이 멤버가 저널에 적용한 oplog 의 마지막 항목을 반영하는 ISODate 형식의 날짜 문자열입니다.

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 형식의 날짜 문자열입니다. 투표에 대한 자세한 내용은 복제본 세트 고가용성 을 참조하세요.

replSetGetStatus.members[n].lastHeartbeat

replSetGetStatus 명령을 처리한 서버가 이 멤버(members[n])로 보낸 하트비트에서 마지막으로 응답을 받은 시간을 반영하는 ISODate 형식의 날짜 및 시간입니다. 이 값을 datelastHeartbeatRecv 필드의 값과 비교하여 이러한 복제본 세트 멤버 간의 지연 시간을 추적합니다.

이 값은 replSetGetStatus.members[n].self로 지정된 서버 이외의 복제본 세트 멤버에만 사용할 수 있습니다.

replSetGetStatus.members[n].lastHeartbeatRecv

replSetGetStatus 명령을 처리한 서버가 이 멤버(members[n])로부터 하트비트 요청을 마지막으로 수신한 시간을 반영하는 ISODate 형식의 날짜 및 시간입니다. 이 값을 datelastHeartbeat 필드의 값과 비교하여 이러한 복제본 세트 멤버 간의 지연 시간을 추적합니다.

이 값은 replSetGetStatus.members[n].self로 지정된 서버 이외의 복제본 세트 멤버에만 사용할 수 있습니다.

replSetGetStatus.members[n].lastHeartbeatMessage

마지막 하트비트에 추가 메시지가 포함된 경우 lastHeartbeatMessage에는 해당 메시지의 문자열 표현이 포함됩니다.

replSetGetStatus.members[n].pingMs

pingMs는 왕복 패킷이 원격 멤버와 로컬 인스턴스 사이를 이동하는 데 걸리는 시간을 밀리초(ms)로 나타냅니다.

rs.status() 데이터를 반환하는 멤버에는 이 값이 나타나지 않습니다.

replSetGetStatus.members[n].syncSourceHost

버전 4.0의 새로운 기능: 3.6.6, 3.4.16

syncSourceHost 필드에는 이 인스턴스가 동기화되는 멤버의 호스트 이름이 있습니다.

replSetGetStatus.members[n]가 기본 string인 경우 syncSourceHost는 빈 string이고 syncSourceId -1입니다.

replSetGetStatus.members[n].syncSourceId

버전 4.0의 새로운 기능: 3.6.6, 3.4.16

syncSourceId 필드에는 syncSourceHostreplSetGetStatus.members[n]._id 값이 들어 있습니다.

replSetGetStatus.members[n]가 기본 string인 경우 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

복제본 세트에서 멤버를 제거한 후 표시됩니다. 제거된 멤버가 적용한 마지막 oplog 항목의 optime에 대한 ISODate 형식의 문자열을 제공합니다.

돌아가기

replSetGetConfig

이 페이지의 내용