replSetGetStatus
정의
replSetGetStatus
replSetGetStatus
명령은 명령을 처리한 서버의 관점에서 복제본 세트의 상태를 반환합니다.replSetGetStatus
는 관리 데이터베이스에서 실행해야 합니다.성공적으로 반환하려면
mongod
인스턴스가replSetGetStatus
의 복제본 세트 구성원이어야 합니다.이 명령으로 제공되는 데이터는 복제본 세트의 다른 멤버가 서버로 전송한 하트비트에 포함된 데이터에서 파생됩니다. 이러한 데이터는 하트비트의 빈도로 인해 몇 초 동안 최신 상태가 아닐 수 있습니다.
팁
mongosh
에서 이 명령을rs.status()
헬퍼 메서드를 통해서도 실행할 수 있습니다.헬퍼 메서드는
mongosh
사용자에게 편리하지만 데이터베이스 명령과 동일한 수준의 정보를 반환하지 못할 수 있습니다. 편의가 필요하지 않거나 추가 리턴 필드가 필요한 경우 데이터베이스 명령을 사용합니다.
호환성
이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
중요
이 명령은 M0, M2 및 M5 클러스터에서 지원되지 않습니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.
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
는 빈 문자열이고syncSourceId
-1
입니다.
replSetGetStatus.syncSourceId
syncSourceId
필드는 이 인스턴스가 동기화되는 멤버의replSetGetStatus.members[n]._id
를 보유합니다.이 인스턴스가 프라이머리인 경우
syncSourceHost
는 빈 문자열이고syncSourceId
-1
입니다.
replSetGetStatus.writeMajorityCount
쓰기 고려
"majority"
를 수행하는 데 필요한 데이터 보유 투표 멤버 수(예: 중재자 아님)입니다. 쓰기는 데이터를 보유한 멤버에게만 적용할 수 있습니다.replSetGetStatus.writeMajorityCount
계산에 대해서는 쓰기 고려에 대한 과반수 계산을 참조하세요.
replSetGetStatus.votingMembersCount
중재자를 포함하여
votes: 1
로 구성된 멤버의 수입니다.
replSetGetStatus.writableVotingMembersCount
votes: 1
로 구성된 데이터 보유 멤버 수입니다(중재자는 포함되지 않음).
replSetGetStatus.optimes
optimes
필드에는 복제 진행률을 검사하는 데 사용되는 optime을 포함한 문서가 있습니다.optimes
필드에는 다양한 최적화 항목에 해당하는 ISODate 형식의 날짜 문자열이 포함됩니다.각 optime 값은 다음을 포함하는 문서입니다.
replSetGetStatus.optimes.lastCommittedWallTime
lastCommittedOpTime
에 해당하는 ISODate 형식의 날짜 문자열입니다.
replSetGetStatus.optimes.readConcernMajorityOpTime
이 구성원의 관점에서 읽기 고려
"majority"
쿼리를 수행할 수 있는 가장 최근 작업에 관한 정보입니다. 즉,"majority"
쿼리를 수행할 수 있는 가장 최근lastCommittedOpTime
입니다.readConcernMajorityOpTime
(이)가lastCommittedOpTime
보다 작거나 같습니다.
replSetGetStatus.optimes.readConcernMajorityWallTime
readConcernMajorityOpTime
에 해당하는 ISODate 형식의 날짜 문자열입니다.
replSetGetStatus.optimes.lastAppliedWallTime
appliedOpTime
에 해당하는 ISODate 형식의 날짜 문자열입니다.
replSetGetStatus.optimes.lastDurableWallTime
durableOpTime
에 해당하는 ISODate 형식의 날짜 문자열입니다.
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에 도달해야만 쓰기 수락을 시작할 수 있습니다.
replSetGetStatus.electionCandidateMetrics.numCatchUpOps
새로 선출된 프라이머리가 따라잡기 과정을 성공적으로 완료할 때 적용한 작업 수입니다.
replSetGetStatus.electionCandidateMetrics.newTermStartDate
프라이머리로 노드의 텀이 시작된 날짜 및 시간(예:
new term
엔트리가 oplog에 기록된 날짜 및 시간).
replSetGetStatus.electionCandidateMetrics.wMajorityWriteAvailabilityDate
복제본 세트에 대한 투표가 끝난 후 쓰기 고려
"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.initialSyncStatus
이 멤버의 초기 동기화 진행 상황 및 상태에 대한 정보를 제공하는 문서입니다.
replSetGetStatus.initialSyncStatus.failedInitialSyncAttempts
초기 동기화가 실패하고 이 멤버에서 다시 시작해야 했던 횟수입니다.
replSetGetStatus.initialSyncStatus.maxFailedInitialSyncAttempts
멤버가 종료되기 전에 이 멤버에서 초기 동기화를 다시 시작할 수 있는 최대 횟수입니다.
replSetGetStatus.initialSyncStatus.initialSyncStart
이 멤버에 대한 초기 동기화의 시작 타임스탬프입니다.
replSetGetStatus.initialSyncStatus.initialSyncEnd
이 멤버에 대한 초기 동기화의 종료 타임스탬프입니다.
replSetGetStatus.initialSyncStatus.initialSyncElapsedMillis
initialSyncStart
부터initialSyncEnd
까지의 밀리초입니다.
replSetGetStatus.initialSyncStatus.initialSyncAttempts
각 문서가 단일 초기 동기화 시도에 해당하는 문서 배열입니다. 예시:
"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
동기화 원본에 연결할 수 없게 된 날짜 및 시간입니다.
현재 초기 동기화 중에 if 동기화 소스를 사용할 수 없는 경우에만 표시됩니다.
replSetGetStatus.initialSyncStatus.currentOutageDurationMillis
동기화 소스를 사용할 수 없었던 시간(밀리초)입니다.
현재 초기 동기화 중에 if 동기화 소스를 사용할 수 없는 경우에만 표시됩니다.
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.syncSourceLastApplied
replSetGetStatus.initialSyncStatus.numExtensions
동기화가 새 백업 커서를 시작한 횟수입니다.
백업 커서가 시작되지 않은 경우 이 필드는 나타나지 않습니다.
replSetGetStatus.initialSyncStatus.extensionDataSize
현재 확장의 총 바이트 수입니다.
진행 중인 확장이 없는 경우 이 필드는 표시되지 않습니다.
replSetGetStatus.initialSyncStatus.files
파일 복사 기반 초기 동기화 중에 동기화될 파일 배열입니다.
replSetGetStatus.initialSyncStatus.files[n].filePath
백업 커서의 루트를 기준으로 한 파일 경로입니다.
replSetGetStatus.initialSyncStatus.files[n].fileSize
백업 커서가 보고한 파일 크기입니다.
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].stateStr
state
를 설명하는 문자열입니다.
replSetGetStatus.members[n].uptime
replSetGetStatus
명령이 실행되는 노드의 경우uptime
은 노드가 온라인 상태였던 시간(초)입니다.다른 노드의 경우
uptime
은 해당 노드가replSetGetStatus
명령이 실행된 노드와 지속적으로 통신했던 시간(초)입니다.
replSetGetStatus.members[n].optimeDurable
이 멤버이 해당 저널에 적용한 작업 로그의 마지막 작업에 관한 정보입니다.
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
replSetGetStatus 명령을 처리한 서버가 이 멤버(
members[n]
)로 보낸 하트비트에서 마지막으로 응답을 받은 시간이 포함된 ISODate 형식의 날짜 및 시간입니다. 이 값을date
및lastHeartbeatRecv
필드 값과 비교하여 이러한 복제본 세트 멤버 간의 지연 시간을 추적합니다.이 값은
replSetGetStatus.members[n].self
로 지정된 서버 이외의 복제본 세트 멤버에만 사용할 수 있습니다.
replSetGetStatus.members[n].lastHeartbeatRecv
replSetGetStatus 명령을 처리한 서버가 이 멤버(
members[n]
)로부터 하트비트 요청을 마지막으로 수신한 시간이 포함된 ISODate 형식의 날짜 및 시간입니다. 이 값을date
및lastHeartbeat
필드 값과 비교하여 이러한 복제본 세트 멤버 간의 지연 시간을 추적합니다.이 값은
replSetGetStatus.members[n].self
로 지정된 서버 이외의 복제본 세트 멤버에만 사용할 수 있습니다.
replSetGetStatus.members[n].lastHeartbeatMessage
마지막 하트비트에 추가 메시지가 포함된 경우
lastHeartbeatMessage
에는 해당 메시지의 문자열 표현이 포함됩니다.
replSetGetStatus.members[n].pingMs
pingMs
는 왕복 패킷이 원격 멤버와 로컬 인스턴스 사이를 이동하는 데 걸리는 시간을 밀리초(ms)로 나타냅니다.rs.status()
데이터를 반환하는 멤버에는 이 값이 나타나지 않습니다.
replSetGetStatus.members[n].syncSourceHost
syncSourceHost
필드에는 이 인스턴스가 동기화되는 멤버의 호스트 이름이 있습니다.replSetGetStatus.members[n]
가 기본 string인 경우syncSourceHost
는 빈 string이고syncSourceId
-1
입니다.
replSetGetStatus.members[n].syncSourceId
syncSourceId
필드에는syncSourceHost
의replSetGetStatus.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 형식의 문자열을 제공합니다.