Definición
replSetGetStatusEl comando
replSetGetStatusdevuelve el estado del set de réplicas desde el punto de vista del servidor que procesó el comando. Se debe ejecutarreplSetGetStatuscontra base de datos de administración.La
mongodinstancia debe ser un miembro de un set de réplicas para quereplSetGetStatusdevuelva correctamente.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 M,0 M2 y5 M. Para obtener más información, consulte 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.
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" : 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) }
El siguiente ejemplo ejecuta el comando replSetGetStatus en la base de datos de administración del conjunto de réplicas secundario.
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" : 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), }
- En versiones anteriores (3.4.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} )
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" : 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 }
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.dateFecha y hora con formato ISODate que refleja la hora actual según el servidor que procesó el comando replSetGetStatus. Compárelo con los valores de para determinar la latencia operativa entre este servidor y los demás miembros del conjunto de
replSetGetStatus.members[n].lastHeartbeatréplicas.
replSetGetStatus.myStateUn número entero entre
0y10que representa el estado de réplica del nodo actual.
replSetGetStatus.termNovedad en la versión 3.2.
El 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.syncSourceHostNovedad en la versión 4.0,: 3.6.6, 3.4.16
El 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.syncSourceIdNovedad en la versión 4.0,: 3.6.6, 3.4.16
El campo
syncSourceIdcontiene elreplSetGetStatus.members[n]._iddel nodo del que se sincroniza esta instancia.Si esta instancia es primaria,
syncSourceHostes una cadena vacía y elsyncSourceId-1.
replSetGetStatus.heartbeatIntervalMillisNovedad en la versión 3.2.
La frecuencia en milisegundos de los latidos cardíacos.
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; es decir, el
votes: 1recuento no incluye árbitros.
replSetGetStatus.optimesNovedad en la versión 3.4.
El 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.readConcernMajorityWallTimeLa cadena de fecha con formato ISODate correspondiente a
readConcernMajorityOpTime.
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.electionCandidateMetricsMétricas relacionadas con las elecciones primarias actuales. solo está disponible para las primarias o para un candidato. Para un candidato, las métricas dejan de estar disponibles si pierde las
electionCandidateMetricselecciones.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 solicitó la nueva elección.
replSetGetStatus.electionCandidateMetrics.lastCommittedOpTimeAtElectionEl más reciente, según lo vio este miembro, en el momento en que se convocó a la nueva
majority-committed optimeelección.
replSetGetStatus.electionCandidateMetrics.lastSeenOpTimeAtElectionLa más reciente
applied optimedel nodo en el momento en que convocó a nuevas elecciones.
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 la cual el nivel de confirmación de escritura (write concern)
"majority"estuvo disponible después de la elección para el set de réplicas (es decir, la fecha y hora en la que la entradanew termdel oplog fue comprometida por mayoría).
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 cadena de fecha con formato ISODate que refleja 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.lastAppliedOpTimeAtElectionÚltimo tiempo óptimo aplicado por este miembro en el momento de la elección.
El valor de Optime es un documento que contiene la Marca de tiempo (
ts) y el término (t).
replSetGetStatus.electionParticipantMetrics.maxAppliedOpTimeInSetEl optime más reciente aplicado para cualquier nodo de este set de réplicas, según lo conoce este nodo.
El valor de Optime es un documento que contiene la Marca de tiempo (
ts) y el término (t).
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.initialSyncStatusNovedad en la versión 3.4.
Un documento proporciona información sobre el avance y el estado de la sincronización inicial en este nodo.
Importante
Disponibilidad
replSetGetStatus.initialSyncStatusmétricas sólo están disponibles cuando se ejecutan en un nodo durante su sincronización inicial (es decir,STARTUP2estado).replSetGetStatus.initialSyncStatus.failedInitialSyncAttemptsNovedad en la versión 3.4.
La cantidad de veces que la sincronización inicial falló y tuvo que reiniciarse en este nodo.
Importante
Disponibilidad
replSetGetStatus.initialSyncStatusmétricas sólo están disponibles cuando se ejecutan en un nodo durante su sincronización inicial (es decir,STARTUP2estado).
replSetGetStatus.initialSyncStatus.maxFailedInitialSyncAttemptsNovedad en la versión 3.4.
El número máximo de veces que la sincronización inicial puede reiniciarse en este nodo antes de que se apague.
Importante
Disponibilidad
replSetGetStatus.initialSyncStatusmétricas sólo están disponibles cuando se ejecutan en un nodo durante su sincronización inicial (es decir,STARTUP2estado).
replSetGetStatus.initialSyncStatus.initialSyncStartNovedad en la versión 3.4.
La marca de tiempo de inicio de la sincronización inicial para este nodo.
Importante
Disponibilidad
replSetGetStatus.initialSyncStatusmétricas sólo están disponibles cuando se ejecutan en un nodo durante su sincronización inicial (es decir,STARTUP2estado).
replSetGetStatus.initialSyncStatus.initialSyncEndNovedad en la versión 3.4.
La marca de tiempo final de la sincronización inicial para este miembro.
Importante
Disponibilidad
replSetGetStatus.initialSyncStatusmétricas sólo están disponibles cuando se ejecutan en un nodo durante su sincronización inicial (es decir,STARTUP2estado).
replSetGetStatus.initialSyncStatus.initialSyncElapsedMillisNovedad en la versión 3.4.
El número de milisegundos entre
initialSyncStartyinitialSyncEnd.Importante
Disponibilidad
replSetGetStatus.initialSyncStatusmétricas sólo están disponibles cuando se ejecutan en un nodo durante su sincronización inicial (es decir,STARTUP2estado).
replSetGetStatus.initialSyncStatus.initialSyncAttemptsNovedad en la versión 3.4.
Arreglo 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.
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.Importante
Disponibilidad
replSetGetStatus.initialSyncStatusmétricas sólo están disponibles cuando se ejecutan en un nodo durante su sincronización inicial (es decir,STARTUP2estado).
replSetGetStatus.initialSyncStatus.appliedOpsNovedad en la versión 3.4.
La 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.
Importante
Disponibilidad
replSetGetStatus.initialSyncStatusmétricas sólo están disponibles cuando se ejecutan en un nodo durante su sincronización inicial (es decir,STARTUP2estado).
replSetGetStatus.initialSyncStatus.initialSyncOplogStartNovedad en la versión 3.4.
La 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.
Importante
Disponibilidad
replSetGetStatus.initialSyncStatusmétricas sólo están disponibles cuando se ejecutan en un nodo durante su sincronización inicial (es decir,STARTUP2estado).
replSetGetStatus.initialSyncStatus.initialSyncOplogEndNovedad en la versión 3.4.
La 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.
Importante
Disponibilidad
replSetGetStatus.initialSyncStatusmétricas sólo están disponibles cuando se ejecutan en un nodo durante su sincronización inicial (es decir,STARTUP2estado).
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.
Importante
Disponibilidad
replSetGetStatus.initialSyncStatusmétricas sólo están disponibles cuando se ejecutan en un nodo durante su sincronización inicial (es decir,STARTUP2estado).
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.
Importante
Disponibilidad
replSetGetStatus.initialSyncStatusmétricas sólo están disponibles cuando se ejecutan en un nodo durante su sincronización inicial (es decir,STARTUP2estado).
replSetGetStatus.initialSyncStatus.totalTimeUnreachableMillisEl tiempo total en milisegundos que el nodo ha estado no disponible durante la sincronización inicial actual.
Importante
Disponibilidad
replSetGetStatus.initialSyncStatusmétricas sólo están disponibles cuando se ejecutan en un nodo durante su sincronización inicial (es decir,STARTUP2estado).
replSetGetStatus.initialSyncStatus.databasesNovedad en la versión 3.4.
Detalles sobre las bases de datos clonadas durante la sincronización inicial.
Importante
Disponibilidad
replSetGetStatus.initialSyncStatusmétricas sólo están disponibles cuando se ejecutan en un nodo durante su sincronización inicial (es decir,STARTUP2estado).
replSetGetStatus.initialSyncStatus.databases.databasesClonedNovedad en la versión 3.4.
Número de bases de datos clonadas durante la sincronización inicial.
Importante
Disponibilidad
replSetGetStatus.initialSyncStatusmétricas sólo están disponibles cuando se ejecutan en un nodo durante su sincronización inicial (es decir,STARTUP2estado).
replSetGetStatus.initialSyncStatus.databases.<dbname>Novedad en la versión 3.4.
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> } } Importante
Disponibilidad
replSetGetStatus.initialSyncStatusmétricas sólo están disponibles cuando se ejecutan en un nodo durante su sincronización inicial (es decir,STARTUP2estado).
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].healthUn número que indica si el nodo está activo (es decir,
1) o inactivo (es decir, (0).
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.
Cambiado en la versión 3.2.
optimedevuelve un documento que contiene:
replSetGetStatus.members[n].optimeDurableNovedad en la versión 3.4.
Informació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 refleja 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].optimeDurableDateNovedad en la versión 3.4.
Una cadena de fecha con formato ISODate que refleja la última entrada del oplog que este miembro aplicó a su diario.
replSetGetStatus.members[n].lastAppliedWallTimeNovedades en la versión 5.0.5.
Un ISODate formatted date string que refleja la hora del reloj de pared 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].lastDurableWallTimeNovedades en la versión 5.0.5.
Una cadena de fecha con formato ISODate que refleja la hora del reloj de pared en la que se aplicó por primera vez en el nodo principal la última operación escrita en el diario de este miembro.
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 la principal actual, una cadena de fecha con formato ISODate que refleje la fecha de la elección. Consulte alta disponibilidad de set de réplicas para obtener más información sobre las elecciones.
replSetGetStatus.members[n].lastHeartbeatUna fecha y hora con formato ISODate que refleja la última vez que el servidor que procesó el comando replSetGetStatus recibió una respuesta de un latido que envió a este nodo (
members[n]). Compara este valor con los valores de los camposdateylastHeartbeatRecvpara 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].lastHeartbeatRecvUna fecha y hora formateada de ISODate que refleja 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 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].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].syncSourceHostNovedad en la versión 4.0,: 3.6.6, 3.4.16
El 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].syncSourceIdNovedad en la versión 4.0,: 3.6.6, 3.4.16
El 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.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.