Definición
replSetGetStatusEl comando
replSetGetStatusdevuelve el estado del conjunto de réplicas desde el punto de vista del servidor que procesó el comando.replSetGetStatusdebe ejecutarse en base de datos de administración.La instancia
mongoddebe ser un miembro del set de réplicas parareplSetGetStatusvolver con éxito.Los datos proporcionados por este comando se derivan de datos incluidos en los latidos enviados al servidor por otros miembros del set de réplicas. Debido a la frecuencia de los latidos, estos datos pueden tener varios segundos de antigüedad.
Tip
En
mongosh, este comando también se puede ejecutar a través del método asistenters.status().Los métodos asistente son convenientes para usuarios de
mongosh, pero es posible que no proporcionen el mismo nivel de información que los comandos de base de datos. En los casos en que no se necesite la conveniencia o se requieran campos de retorno adicionales, utiliza el comando de base de datos.
Compatibilidad
Este comando está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Importante
Este comando no es compatible con los clústeres M0 y Flex. Para obtener más información, consulta Comandos no compatibles.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Sintaxis
El comando tiene la siguiente sintaxis:
db.adminCommand( { replSetGetStatus: 1 } )
Si ejecutas replSetGetStatus o el asistente mongosh rs.status() en un nodo durante su sincronización inicial (es decir, STARTUP2 estado), el comando devuelve métricas replSetGetStatus.initialSyncStatus.
Después de que el nodo complete la sincronización inicial y pase a otro estado, las métricas de replSetGetStatus.initialSyncStatus ya no estarán disponibles.
Nota
Si aún no has initialized tu set de réplicas, el comando replSetGetStatus devuelve el siguiente error:
MongoServerError: no replset config has been received
Ejecute el comando replSetInitiate y vuelva a intentarlo.
Ejemplo
El siguiente ejemplo ejecuta el comando replSetGetStatus en la base de datos admin del nodo primario del set de réplicas:
db.adminCommand( { replSetGetStatus: 1 } )
El comando devuelve la siguiente salida para un conjunto de réplicas de ejemplo principal:
{ "set" : "replset", "date" : ISODate("2024-08-15T23:06:13.978Z"), "myState" : 1, "term" : Long(3), "syncSourceHost" : "", "syncSourceId" : -1, "heartbeatIntervalMillis" : Long(2000), "majorityVoteCount" : 2, "writeMajorityCount" : 2, "votingMembersCount" : 3, "writableVotingMembersCount" : 3, "optimes" : { "lastCommittedOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "lastCommittedWallTime" : ISODate("2024-08-15T23:06:13.978Z"), "readConcernMajorityOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "appliedOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "writtenOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "durableOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "lastAppliedWallTime" : ISODate("2024-08-15T23:06:13.978Z"), "lastWrittenWallTime" : ISODate("2024-08-15T23:06:13.978Z"), "lastDurableWallTime" : ISODate("2024-08-15T23:06:13.978Z") }, "lastStableRecoveryTimestamp" : Timestamp(1723763173, 1), "electionCandidateMetrics" : { "lastElectionReason" : "stepUpRequestSkipDryRun", "lastElectionDate" : ISODate("2024-08-15T23:06:13.978Z"), "electionTerm" : Long(3), "lastCommittedOpTimeAtElection" : { "ts" : Timestamp(1723763173, 1), "t" : Long(2) }, "lastSeenOpTimeAtElection" : { "ts" : Timestamp(1723763173, 1), "t" : Long(2) }, "lastSeenWrittenOpTimeAtElection" : { "ts" : Timestamp(1723763173, 1), "t" : Long(1) }, "numVotesNeeded" : 2, "priorityAtElection" : 1, "electionTimeoutMillis" : Long(10000), "priorPrimaryMemberId" : 1, "numCatchUpOps" : Long(0), "newTermStartDate" : ISODate("2024-08-15T23:06:13.978Z"), "wMajorityWriteAvailabilityDate" : ISODate("2024-08-15T23:06:13.978Z") }, "electionParticipantMetrics" : { "votedForCandidate" : true, "electionTerm" : Long(2), "lastVoteDate" : ISODate("2024-08-15T23:06:13.978Z"), "electionCandidateMemberId" : 1, "voteReason" : "", "lastAppliedOpTimeAtElection" : { "ts" : Timestamp(1723763173, 1), "t" : Long(1) }, "lastWrittenOpTimeAtElection" : { "ts" : Timestamp(1723763173, 1), "t" : Long(1) }, "maxAppliedOpTimeInSet" : { "ts" : Timestamp(1723763173, 1), "t" : Long(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" : Long(3) }, "optimeWritten" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDurable" : { "ts" : Timestamp(1723763173, 1), "t" : Long(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"), "lastWrittenWallTime": 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" : Long(3) }, "optimeWritten" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDurable" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeWrittenDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeDurableDate" : ISODate("2024-08-15T23:06:13.978Z"), "lastAppliedWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastWrittenWallTime": 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" : Long(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" : Long(3) }, "optimeWritten" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDurable" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeWrittenDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeDurableDate" : ISODate("2024-08-15T23:06:13.978Z"), "lastAppliedWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastWrittenWallTime": 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" : Long(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" : Long("6800589497806356482") } }, "operationTime" : Timestamp(1723763173, 1) }
El siguiente ejemplo ejecuta el comando replSetGetStatus en la base de datos admin del secundario del set de réplicas:
db.adminCommand( { replSetGetStatus: 1 } )
El comando devuelve la siguiente salida para un secundario de set de réplicas de ejemplo:
{ "set" : "replset", "date" : ISODate("2024-08-15T23:06:13.978Z"), "myState" : 2, "term" : Long(3), "syncSourceHost" : "m3.example.net:27017", "syncSourceId" : 2, "heartbeatIntervalMillis" : Long(2000), "majorityVoteCount" : 2, "writeMajorityCount" : 2, "votingMembersCount" : 3, "writableVotingMembersCount" : 3, "optimes" : { "lastCommittedOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "lastCommittedWallTime" : ISODate("2024-08-15T23:06:13.978Z"), "readConcernMajorityOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "appliedOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "writtenOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "durableOpTime" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "lastAppliedWallTime" : ISODate("2024-08-15T23:06:13.978Z"), "lastWrittenWallTime" : ISODate("2024-08-15T23:06:13.978Z"), "lastDurableWallTime" : ISODate("2024-08-15T23:06:13.978Z") }, "lastStableRecoveryTimestamp" : Timestamp(1723763173, 1), "electionParticipantMetrics" : { "votedForCandidate" : true, "electionTerm" : Long(3), "lastVoteDate" : ISODate("2024-08-15T23:06:13.978Z"), "electionCandidateMemberId" : 0, "voteReason" : "", "lastAppliedOpTimeAtElection" : { "ts" : Timestamp(1723763173, 1), "t" : Long(2) }, "lastWrittenOpTimeAtElection" : { "ts" : Timestamp(1723763173, 1), "t" : Long(1) }, "maxAppliedOpTimeInSet" : { "ts" : Timestamp(1723763173, 1), "t" : Long(2) }, "maxWrittenOpTimeInSet" : { "ts" : Timestamp(1723763173, 1), "t" : Long(1) }, "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" : Long(3) }, "optimeWritten" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDurable" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeWrittenDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeDurableDate" : ISODate("2024-08-15T23:06:13.978Z"), "lastAppliedWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastWrittenWallTime": 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" : Long(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" : Long(3) }, "optimeWritten" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDurable" : { "ts" : Timestamp(1723763173, 1), "t" : Long(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"), "lastWrittenWallTime": 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" : Long(3) }, "optimeWritten" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDurable" : { "ts" : Timestamp(1723763173, 1), "t" : Long(3) }, "optimeDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeWrittenDate" : ISODate("2024-08-15T23:06:13.978Z"), "optimeDurableDate" : ISODate("2024-08-15T23:06:13.978Z"), "lastAppliedWallTime": ISODate("2024-08-15T23:06:13.978Z"), "lastWrittenWallTime": 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" : Long(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" : Long("6800589497806356482") } }, "operationTime" : Timestamp(1723763173, 1), }
- En versiones anteriores (3.6.x-4.2.0).
Puede incluir el opcional
initialSync: 1para incluir el en la salida (puede omitirlo si no desea devolver el estado de sincronizaciónreplSetGetStatus.initialSyncStatusinicial):db.adminCommand( { replSetGetStatus: 1, initialSync: 1 } )
- A partir de MongoDB 5.2,
- el documento
replSetGetStatus.initialSyncStatuscontiene campos adicionales cuando se utiliza una sincronización inicial basada en copias de archivos.
Si ejecuta replSetGetStatus sobre un nodo durante su sincronización inicial, el comando devuelve métricas de replSetGetStatus.initialSyncStatus.
db.adminCommand( { replSetGetStatus: 1 } )
Después de que el nodo complete la sincronización inicial y pase a otro estado, las métricas de replSetGetStatus.initialSyncStatus ya no estarán disponibles.
El siguiente ejemplo ejecuta el replSetGetStatus comando en la base de datos admin del miembro del conjunto de réplicas 4.4 durante su sincronización inicial:
{ "set" : "replset", "date" : ISODate("2024-08-15T23:06:13.978Z") "myState" : 5, "term" : Long(1), "syncSourceHost" : "m1.example.net:27017", "syncSourceId" : 0, "heartbeatIntervalMillis" : Long(2000), "majorityVoteCount" : 2, "writeMajorityCount" : 2, "votingMembersCount" : 2, "writableVotingMembersCount" : 2, "optimes" : { "lastCommittedOpTime" : { "ts" : Timestamp(0, 0), "t" : Long(-1) }, "lastCommittedWallTime" : ISODate("1970-01-01T00:00:00Z"), "appliedOpTime" : { "ts" : Timestamp(0, 0), "t" : Long(-1) }, "writtenOpTime": { "ts" : Timestamp(0, 0), "t" : Long(-1) }, "durableOpTime" : { "ts" : Timestamp(0, 0), "t" : Long(-1) }, "lastAppliedWallTime" : ISODate("1970-01-01T00:00:00Z"), "lastWrittenWallTime": 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" : Long(8687), "totalTimeUnreachableMillis" : Long(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" : Long(-1) }, "optimeWritten" : { "ts" : Timestamp(0, 0), "t" : Long(-1) }, "optimeDurable" : { "ts" : Timestamp(0, 0), "t" : Long(-1) }, "optimeDate" : ISODate("1970-01-01T00:00:00Z"), "optimeWrittenDate" : ISODate("1970-01-01T00:00:00Z"), "optimeDurableDate" : ISODate("1970-01-01T00:00:00Z"), "lastAppliedWallTime": ISODate("1970-01-01T00:00:00Z"), "lastWrittenWallTime": 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" : Long(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" : Long(-1) }, "optimeWritten" : { "ts" : Timestamp(0, 0), "t" : Long(-1) }, "optimeDurable" : { "ts" : Timestamp(0, 0), "t" : Long(-1) }, "optimeDate" : ISODate("1970-01-01T00:00:00Z"), "optimeWrittenDate" : ISODate("1970-01-01T00:00:00Z"), "lastAppliedWallTime": ISODate("1970-01-01T00:00:00Z"), "lastWrittenWallTime": ISODate("2020-03-05T05:24:38Z"), "lastDurableWallTime": ISODate("1970-01-01T00:00:00Z"), "syncSourceHost" : "m1.example.net:27017", "syncSourceId" : 0, "infoMessage" : "", "configVersion" : 2, "configTerm" : 1, "self" : true, "lastHeartbeatMessage" : "" } ], "ok" : 1 }
Salida
El comando replSetGetStatus devuelve un documento con los siguientes campos:
replSetGetStatus.setEl valor
setes el nombre del set de réplicas, configurado en el ajustereplSetName. Este es el mismo valor que_idenrs.conf().
replSetGetStatus.dateUna fecha y hora en formato ISODate que contiene la hora actual según el servidor que procesó el comando replSetGetStatus. Compare esto con los valores de
replSetGetStatus.members[n].lastHeartbeatpara encontrar la latencia operativa entre este servidor y los otros nodos del conjunto de réplicas.
replSetGetStatus.myStateUn número entero entre
0y10que representa el estado de réplica del nodo actual.
replSetGetStatus.termEl recuento de elección para el set de réplicas, según lo conoce este miembro del conjunto de réplicas. El
termes utilizado por el algoritmo de consenso distribuido para garantizar la corrección.
replSetGetStatus.syncSourceHostEl campo
syncSourceHostcontiene el nombre del host del nodo desde el cual esta instancia realiza la sincronización.Si esta instancia es primaria,
syncSourceHostes una cadena vacía y elsyncSourceId-1.
replSetGetStatus.syncSourceIdEl campo
syncSourceIdreplSetGetStatus.members[n]._idcontiene el del miembro desde el cual se sincroniza esta instancia.Si esta instancia es primaria,
syncSourceHostes una cadena vacía y elsyncSourceId-1.
replSetGetStatus.majorityVoteCountEl número de votos mayoritarios necesarios para elegir un nuevo primario en una elección.
replSetGetStatus.writeMajorityCountEl número de miembros con derecho a voto que contienen datos (es decir, no árbitros) necesarios para cumplir con el nivel de confirmación de escritura (write concern)
"majority". Las escrituras solo pueden aplicarse a los miembros que contienen datos.Para el cálculo de
replSetGetStatus.writeMajorityCount, consulta Cálculo de la mayoría para nivel de confirmación de escritura (write concern).
replSetGetStatus.votingMembersCountEl número de nodos configurados con
votes: 1, incluidos los árbitros.
replSetGetStatus.writableVotingMembersCountEl número de miembros portadores de datos configurados con
votes: 1(esto no incluye árbitros).
replSetGetStatus.optimesEl campo
optimescontiene un documento que incluye optimes utilizados para inspeccionar el progreso de la replicación. El campooptimesincluye las correspondientes cadenas de fechas con formato ISODate para los distintos tiempos óptimos.Cada valor de optime es un documento que contiene:
ts, la marca de tiempo de la operación.t, el en el que se generó originalmente la operación en eltermprimario.
replSetGetStatus.optimes.lastCommittedOpTimeInformación, desde el punto de vista de este nodo, sobre la operación más reciente que se ha escrito a la mayoría de los nodos del set de réplicas.
replSetGetStatus.optimes.lastCommittedWallTimeLa cadena de fecha con formato ISODate correspondiente a
lastCommittedOpTime.
replSetGetStatus.optimes.readConcernMajorityOpTimeInformación, desde la perspectiva de este nodo, sobre la operación más reciente que puede cumplir las queries con el nivel de consistencia de lectura
"majority"; es decir, lalastCommittedOpTimemás reciente que puede cumplir las queries con"majority".readConcernMajorityOpTimees menor o igual quelastCommittedOpTime.
replSetGetStatus.optimes.appliedOpTimeInformación, desde el punto de vista de este nodo, sobre la operación más reciente que se ha aplicado a este nodo del conjunto de réplicas.
replSetGetStatus.optimes.lastAppliedWallTimeLa cadena de fecha con formato ISODate correspondiente a
appliedOpTime.
replSetGetStatus.optimes.durableOpTimeInformación, desde el punto de vista de este nodo, sobre la última operación que se ha escrito en el registro de este nodo del set de réplicas.
replSetGetStatus.optimes.lastDurableWallTimeLa cadena de fecha con formato ISODate correspondiente a
durableOpTime.
replSetGetStatus.optimes.lastWrittenWallTimeLa cadena de fecha con formato ISODate de la entrada más reciente escrita en el registro de operaciones de este miembro.
Nuevo en la versión 8.0.
replSetGetStatus.optimes.writtenOpTimeEl tiempo óptimo de la entrada más reciente escrita en el oplog de este miembro.
Nuevo en la versión 8.0.
replSetGetStatus.electionCandidateMetricsMétricas relacionadas con la elección de la primaria actual.
electionCandidateMetricssolo está disponible en el nodo primario o en un candidato para elección. Para una candidata, las métricas no están disponibles después de que pierda las elecciones.replSetGetStatus.electionCandidateMetrics.lastElectionReasonMotivo por el cual el miembro convocó la elección.
replSetGetStatus.electionCandidateMetrics.lastElectionDateLa fecha y hora en que el nodo convocó la elección.
replSetGetStatus.electionCandidateMetrics.electionTermEl recuento de elecciones del nodo (es decir,
term) en el momento en que convocó las nuevas elecciones.
replSetGetStatus.electionCandidateMetrics.lastCommittedOpTimeAtElectionLa más reciente
majority-committed optime, como vio este nodo, en el momento en que convocó nuevas elecciones.
replSetGetStatus.electionCandidateMetrics.lastSeenOpTimeAtElectionLa última
applied optimedel nodo en el momento en que invocó la nueva elección.
replSetGetStatus.electionCandidateMetrics.lastSeenWrittenOpTimeAtElectionEl optime de la entrada más reciente escrita en el oplog de este nodo en el momento en que solicitó la nueva elección.
Nuevo en la versión 8.0.
replSetGetStatus.electionCandidateMetrics.numVotesNeededEl número de votos necesarios para ganar la elección.
replSetGetStatus.electionCandidateMetrics.priorityAtElectionEl miembro en el momento de convocar la
priorityelección.
replSetGetStatus.electionCandidateMetrics.electionTimeoutMillisLa configuración
electionTimeoutMillisestablecida del set de réplicas en el momento de la elección.
replSetGetStatus.electionCandidateMetrics.priorPrimaryMemberIdEl
members[n]._iddel anterior primario. Si no hay un primario anterior, entonces el campo no está presente.
replSetGetStatus.electionCandidateMetrics.targetCatchupOpTimeEl objetivo opTime del nuevo primario elegido para su proceso de catchup. Solo cuando el nuevo primario recién elegido alcanza el objetivo de catchup opTime puede comenzar a aceptar guardados.
replSetGetStatus.electionCandidateMetrics.numCatchUpOpsEl número de operaciones aplicadas por el principal recién elegido al concluir con éxito su proceso de actualización.
replSetGetStatus.electionCandidateMetrics.newTermStartDateLa fecha y hora en que comenzó el mandato del miembro como principal (es decir, la fecha y hora en que se escribió una entrada
new termen el registro de operaciones).
replSetGetStatus.electionCandidateMetrics.wMajorityWriteAvailabilityDateLa fecha y hora en que la preocupación de escritura
"majority"estuvo disponible después de la elección para el conjunto de réplicas (la fecha y hora en que lanew termentrada del registro de operaciones fue confirmada mayoritariamente).
replSetGetStatus.electionParticipantMetricsMétricas relacionadas con la última elección en la que participó el miembro.
replSetGetStatus.electionParticipantMetrics.votedForCandidateUn valor booleano que indica si el nodo votó por el candidato que convocó las elecciones.
replSetGetStatus.electionParticipantMetrics.electionTermEl término electoral en el que el nodo participó. El término identifica la elección asociada a las métricas del participante.
replSetGetStatus.electionParticipantMetrics.lastVoteDateUna ISODate formatted date string que registra cuándo votó el participante.
replSetGetStatus.electionParticipantMetrics.electionCandidateMemberIdEl del candidato que convoca la
members[n]._idelección.
replSetGetStatus.electionParticipantMetrics.voteReasonLa razón del voto si el nodo no votó por el candidato. Si el nodo votó por el candidato, el valor es una string vacía.
replSetGetStatus.electionParticipantMetrics.lastAppliedOpTimeAtElectionEl último tiempo óptimo aplicado por este miembro en el momento de la última elección.
El valor de Optime es un documento que contiene la Marca de tiempo (
ts) y el término (t).
replSetGetStatus.electionParticipantMetrics.lastWrittenOpTimeAtElectionLa hora óptima de la entrada más reciente escrita en el oplog de este miembro en el momento de la última elección.
Nuevo en la versión 8.0.
replSetGetStatus.electionParticipantMetrics.maxAppliedOpTimeInSetLa última optime aplicada para cualquier nodo del set de réplicas, según lo que conozca este nodo.
replSetGetStatus.electionParticipantMetrics.maxWrittenOpTimeInSetEl optime de la entrada más reciente registrada en el oplog de cualquier miembro del conjunto de réplicas, según lo conoce este miembro.
Nuevo en la versión 8.0.
replSetGetStatus.electionParticipantMetrics.priorityAtElectionEl
prioritydel nodo en el momento de la elección.
replSetGetStatus.electionParticipantMetrics.newTermStartDateLa fecha y hora en la que comenzó el término del nodo primario elegido; esto corresponde al momento en que el nodo primario guardó la entrada
new termen su oplog y no cuando se agregó la entrada (es decir, se replicó) en el oplog del nodo secundario.El campo está disponible sólo para miembros secundarios. Para la opción principal, en su lugar consulta
replSetGetStatus.electionCandidateMetrics.newTermStartDate.
replSetGetStatus.initialSyncStatusUn documento que proporciona información sobre el progreso y el estado de la sincronización inicial en este nodo.
Importante
Disponibilidad
replSetGetStatus.initialSyncStatusLas métricas solo están disponibles cuando se ejecutan en un miembro durante su sincronización inicial, en elSTARTUP2estado.replSetGetStatus.initialSyncStatus.failedInitialSyncAttemptsLa cantidad de veces que la sincronización inicial falló y tuvo que reiniciarse en este nodo.
replSetGetStatus.initialSyncStatus.maxFailedInitialSyncAttemptsEl número máximo de veces que la sincronización inicial puede reiniciarse en este nodo antes de que se apague.
replSetGetStatus.initialSyncStatus.initialSyncStartLa marca de tiempo de inicio de la sincronización inicial para este nodo.
replSetGetStatus.initialSyncStatus.initialSyncEndLa marca de tiempo final de la sincronización inicial para este miembro.
replSetGetStatus.initialSyncStatus.initialSyncElapsedMillisEl número de milisegundos entre
initialSyncStartyinitialSyncEnd.
replSetGetStatus.initialSyncStatus.initialSyncAttemptsArreglo de documentos donde cada documento corresponde a un solo intento de sincronización inicial. Por ejemplo:
"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 } ], Cada documento contiene la siguiente información para el intento de sincronización inicial:
CampoDescripcióndurationMillis
Duración en milisegundos del intento de sincronización inicial.
Estado
Estado de salida del intento de sincronización inicial.
syncSource
Sincronizar origen para el intento de sincronización inicial.
rollBackId
El identificador de rollback de la fuente de sincronización al inicio del intento de sincronización inicial.
rollBackIdno aparece al usar sincronización inicial basada en copiado de archivos.operacionesReintentadas
Número total de todos los intentos de reintento de operación.
totalTimeUnreachableMillis
Tiempo total invertido en intentos de reintento de operación.
Ver también
failedInitialSyncAttempts.
replSetGetStatus.initialSyncStatus.appliedOpsLa cantidad de operaciones que ocurrieron después de que se inició la sincronización inicial y se aplicaron después de clonar las bases de datos.
Como parte del proceso de sincronización inicial, el nodo utiliza el oplog para actualizar su conjunto de datos y reflejar el estado actual del set de réplicas.
replSetGetStatus.initialSyncStatus.initialSyncOplogStartLa marca de tiempo de inicio de la etapa de aplicación del Oplog de la sincronización inicial, donde el miembro aplica los cambios que ocurrieron después del inicio de la sincronización inicial.
Como parte del proceso de sincronización inicial, el nodo utiliza el oplog para actualizar su conjunto de datos y reflejar el estado actual del set de réplicas.
replSetGetStatus.initialSyncStatus.initialSyncOplogEndLa marca de tiempo final de la aplicación Oplog en la sincronización inicial en la que el nodo aplica cambios que ocurrieron después de que comenzó la sincronización inicial.
Como parte del proceso de sincronización inicial, el nodo utiliza el oplog para actualizar su conjunto de datos y reflejar el estado actual del set de réplicas.
replSetGetStatus.initialSyncStatus.syncSourceUnreachableSinceLa fecha y hora en que la fuente de sincronización se volvió inaccesible.
Solo se presenta si la fuente de sincronización no está disponible durante la sincronización inicial actual.
replSetGetStatus.initialSyncStatus.currentOutageDurationMillisEl tiempo en milisegundos que la fuente de sincronización estuvo indisponible.
Solo se presenta si la fuente de sincronización no está disponible durante la sincronización inicial actual.
replSetGetStatus.initialSyncStatus.totalTimeUnreachableMillisEl tiempo total en milisegundos que el nodo ha estado no disponible durante la sincronización inicial actual.
replSetGetStatus.initialSyncStatus.databasesDetalles sobre las bases de datos clonadas durante la sincronización inicial.
replSetGetStatus.initialSyncStatus.databases.databasesClonedNúmero de bases de datos clonadas durante la sincronización inicial.
replSetGetStatus.initialSyncStatus.databases.<dbname>Para cada base de datos, un documento que devuelve información sobre el progreso de la clonación de esa base de datos.
{ "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.methodNuevo en la versión 5.2.
El método utilizado para la sincronización inicial.
Si se configura en
logical, la sincronización se considera una sincronización lógica inicial. Si se configura enfileCopyBased, la sincronización será una sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.approxTotalDataSizeEl tamaño aproximado (en bytes) de todos los archivos que se sincronizarán.
Este campo aparece al utilizar la sincronización inicial basada en copia lógica o de archivos.
replSetGetStatus.initialSyncStatus.approxTotalBytesCopiedEl total de bytes ya copiados.
Este campo aparece al utilizar la sincronización inicial basada en copia lógica o de archivos.
replSetGetStatus.initialSyncStatus.totalInitialSyncElapsedMillisEl tiempo total transcurrido para el intento de sincronización en progreso.
Este campo aparece al utilizar la sincronización inicial basada en copia lógica o de archivos.
replSetGetStatus.initialSyncStatus.remainingInitialSyncEstimatedMillisEl tiempo esperado restante para el intento de sincronización en curso.
Este campo aparece al utilizar la sincronización inicial basada en copia lógica o de archivos.
replSetGetStatus.initialSyncStatus.initialBackupDataSizeEl tamaño total (en bytes) del conjunto inicial de archivos que se sincronizarán.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.previousOplogEndEl optime disponible en el cursor de copia de seguridadanterior.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.currentOplogEndEl último tiempo óptimo garantizado que estará disponible en el cursor de respaldo actual.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.syncSourceLastAppliedEl tiempo óptimo de la última actualización aplicada en la fuente de sincronización antes del inicio de este cursor de respaldo.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.numExtensionsLa cantidad de veces que la sincronización ha iniciado un nuevo cursor de respaldo.
Este campo no aparece si no se ha iniciado un cursor de copia de seguridad.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.extensionDataSizeEl total de bytes en la extensión actual.
Este campo no aparece si no hay ninguna extensión en curso.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.filesUna matriz de archivos que se sincronizarán durante la sincronización inicial basada en copia de archivos.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.files[n].filePathLa ruta del archivo relativa a la raíz del cursor de copia de seguridad.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.files[n].fileSizeEl tamaño del archivo según lo informado por el cursor de respaldo.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.files[n].bytesCopiedLa cantidad de bytes que se han copiado hasta ahora.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.initialSyncStatus.files[n].extensionNumberEl número de la extensión a la que pertenece el archivo si este archivo es parte de una extensión.
Este campo solo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.
replSetGetStatus.membersEl campo
memberscontiene un arreglo que incluye un documento para cada nodo en el set de réplicas.replSetGetStatus.members[n].ipLa dirección IP resuelta del nodo. Si
mongodno puede resolver elreplSetGetStatus.members[n].namea una dirección IP, el valor de retorno será un BSON null. De lo contrario, el valor devuelto es una representación en forma de string de la dirección IP resuelta.
replSetGetStatus.members[n].selfUn valor booleano que indica si el nodo es la
mongodinstancia actual.El campo
selfsolo se incluye en el documento para la instancia actualmongody, como tal, su valor siempre estrue.
replSetGetStatus.members[n].stateUn entero entre
0y10que representa el estado de la réplica del nodo.
replSetGetStatus.members[n].stateStrUna string que describe
state.
replSetGetStatus.members[n].uptimePara el nodo en el que se ejecuta el comando
replSetGetStatus,uptimeindica el número de segundos que el nodo ha estado en línea.Para los otros nodos,
uptimees el número de segundos que el nodo ha estado en comunicación continua con el nodo sobre el que se ejecutó el comandoreplSetGetStatus.
replSetGetStatus.members[n].optimeInformación sobre la última operación del registro de operaciones que este miembro ha aplicado.
optimedevuelve un documento que contiene:
replSetGetStatus.members[n].optimeDurableInformación sobre la última operación del operation log que este nodo ha aplicado a su bitácora.
optimeDurabledevuelve un documento que contiene:ts, la marca de tiempo de la operación.t, eltermen el que esta operación se generó originalmente en el primario.
replSetGetStatus.members[n].optimeDateUna cadena de fecha con formato ISODate que contiene la última entrada del registro de operaciones que este miembro aplicó. Si difiere significativamente de,
lastHeartbeateste miembro experimenta un retraso en la replicacióno no se han realizado nuevas operaciones desde la última actualización. Comparemembers.optimeDatecon todos los miembros del conjunto.
replSetGetStatus.members[n].optimeDurableDateUna cadena de fecha con formato ISODate que contiene la última entrada del registro de operaciones que este miembro aplicó a su diario.
replSetGetStatus.members[n].lastAppliedWallTimeUna ISODate formatted date string que refleja la hora en el reloj en la que la última operación aplicada por este nodo del set de réplicas se aplicó en el nodo primario.
replSetGetStatus.members[n].lastDurableWallTimeUna cadena de fechas ISODate formateada refleja la hora de reloj de pared en la que la última operación escrita en el registro de este nodo se aplicó por primera vez en el nodo primario.
replSetGetStatus.members[n].electionTimePara el primario actual, información sobre la elección marca de tiempo de la operation log. Consulte alta disponibilidad de set de réplicas para obtener más información sobre las elecciones.
replSetGetStatus.members[n].electionDatePara las primarias actuales, una string de fecha con formato ISODate que contiene la fecha de las elecciones. Consulte alta disponibilidad de set de réplicas para obtener más información sobre las elecciones.
replSetGetStatus.members[n].lastHeartbeatUna fecha y hora formateada en ISODate que contiene la última vez que el servidor que procesó el comando replSetGetStatus recibió una respuesta de un latido cardíaco que envió a este nodo (
members[n]). Compara este valor con los valores de los camposdateylastHeartbeatRecvpara rastrear la latencia entre estos sets de réplicas.Este valor solo está disponible para miembros del conjunto de réplicas que no sean el servidor especificado por
replSetGetStatus.members[n].self.
replSetGetStatus.members[n].lastHeartbeatRecvUna fecha y hora en formato ISODate que contiene la última vez que el servidor que procesó el comando replSetGetStatus recibió una solicitud de latido de este nodo (
members[n]). Compara este valor con los valores de los camposdateylastHeartbeatpara rastrear la latencia entre estos miembros del set de réplicas.Este valor solo está disponible para miembros del conjunto de réplicas que no sean el servidor especificado por
replSetGetStatus.members[n].self.
replSetGetStatus.members[n].lastHeartbeatMessageCuando el último latido incluyó un mensaje extra, el
lastHeartbeatMessagecontiene una representación en string de ese mensaje.
replSetGetStatus.members[n].pingMsEl
pingMsrepresenta el número de milisegundos (ms) que tarda un paquete de ida y vuelta en viajar entre el nodo remoto y la instancia local.Este valor no aparece para el miembro que devuelve los
rs.status()datos.
replSetGetStatus.members[n].syncSourceHostEl campo
syncSourceHostcontiene el nombre del host del nodo desde el cual esta instancia realiza la sincronización.Si el
replSetGetStatus.members[n]es un primario,syncSourceHostes una string vacía y elsyncSourceId-1.
replSetGetStatus.members[n].syncSourceIdEl campo
syncSourceIdcontiene el valorreplSetGetStatus.members[n]._iddelsyncSourceHost.Si el
replSetGetStatus.members[n]es un primario,syncSourceHostes una string vacía y elsyncSourceId-1.
replSetGetStatus.members[n].configVersionEl valor
configVersiones elreplica set configuration version.
replSetGetStatus.members[n].optimeWrittenEl optime de la entrada más reciente escrita en el oplog del nodo.
Nuevo en la versión 8.0.
replSetGetStatus.members[n].optimeWrittenDateLa fecha con formato ISODate del string más reciente registrada en el oplog del nodo.
Nuevo en la versión 8.0.
replSetGetStatus.members[n].lastWrittenWallTimeLa ISODate string de fecha formateada del momento en que se escribió la entrada de oplog más reciente para este nodo en el primario.
Nuevo en la versión 8.0.
replSetGetStatus.tooStaleUn booleano que indica que un miembro del set de réplicas se ha retrasado demasiado respecto al oplog del primario y está atascado en el estado
RECOVERING. Este campo solo se incluye en la salida dereplSetGetStatussi su valor estrue.
Consulta también Respuesta para obtener detalles sobre el campo de estado ok, el campo operationTime y el campo $clusterTime.
replSetGetStatus.optimePresente después de la eliminación de un nodo del set de réplicas. Proporciona el optime de la última entrada de oplog aplicada por el nodo eliminado.
replSetGetStatus.optimeDateAparece después de la eliminación de un nodo del set de réplicas. Proporciona la string con formato ISODate del optime de la última entrada del oplog aplicada por el nodo removido.
replSetGetStatus.optimeWrittenPresente tras la eliminación de un miembro del conjunto de réplicas. Indica el tiempo óptimo de la última entrada escrita en el registro de operaciones del miembro eliminado.
Nuevo en la versión 8.0.
replSetGetStatus.optimeWrittenDatePresente tras la eliminación de un miembro del conjunto de réplicas. Proporciona la cadena con formato ISODate del tiempo óptimo de la última entrada escrita en el registro de operaciones del miembro eliminado.
Nuevo en la versión 8.0.