Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /
Replicación

replSetGetStatus (comando de base de datos)

replSetGetStatus

El comando replSetGetStatus devuelve el estado del conjunto de réplicas desde el punto de vista del servidor que procesó el comando. replSetGetStatus debe ejecutarse en base de datos admin.

La mongod instancia debe ser un miembro de un set de réplicas para que replSetGetStatus devuelva 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 asistente rs.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.

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.

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.

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 ejemplo de set de réplicas primario:

{
"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)
},
"readConcernMajorityWallTime" : ISODate("2024-08-15T23:06:13.978Z"),
"appliedOpTime" : {
"ts" : Timestamp(1723763173, 1),
"t" : Long(3)
},
"durableOpTime" : {
"ts" : Timestamp(1723763173, 1),
"t" : Long(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" : Long(3),
"lastCommittedOpTimeAtElection" : {
"ts" : Timestamp(1723763173, 1),
"t" : Long(2)
},
"lastSeenOpTimeAtElection" : {
"ts" : Timestamp(1723763173, 1),
"t" : Long(2)
},
"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)
},
"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)
},
"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"),
"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)
},
"optimeDurable" : {
"ts" : Timestamp(1723763173, 1),
"t" : Long(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" : 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)
},
"optimeDurable" : {
"ts" : Timestamp(1723763173, 1),
"t" : Long(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" : 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)
},
"readConcernMajorityWallTime" : ISODate("2024-08-15T23:06:13.978Z"),
"appliedOpTime" : {
"ts" : Timestamp(1723763173, 1),
"t" : Long(3)
},
"durableOpTime" : {
"ts" : Timestamp(1723763173, 1),
"t" : Long(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" : Long(3),
"lastVoteDate" : ISODate("2024-08-15T23:06:13.978Z"),
"electionCandidateMemberId" : 0,
"voteReason" : "",
"lastAppliedOpTimeAtElection" : {
"ts" : Timestamp(1723763173, 1),
"t" : Long(2)
},
"maxAppliedOpTimeInSet" : {
"ts" : Timestamp(1723763173, 1),
"t" : Long(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" : Long(3)
},
"optimeDurable" : {
"ts" : Timestamp(1723763173, 1),
"t" : Long(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" : 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)
},
"optimeDurable" : {
"ts" : Timestamp(1723763173, 1),
"t" : Long(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" : Long(3)
},
"optimeDurable" : {
"ts" : Timestamp(1723763173, 1),
"t" : Long(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" : 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).

Puedes incluir el initialSync: 1 opcional para incluir el replSetGetStatus.initialSyncStatus en la salida (puedes omitirlo si no quieres devolver el estado de sincronización inicial):

db.adminCommand( { replSetGetStatus: 1, initialSync: 1 } )
A partir de MongoDB 5.2,
el documento replSetGetStatus.initialSyncStatus contiene 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)
},
"durableOpTime" : {
"ts" : Timestamp(0, 0),
"t" : Long(-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" : 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)
},
"optimeDurable" : {
"ts" : Timestamp(0, 0),
"t" : Long(-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" : 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)
},
"optimeDurable" : {
"ts" : Timestamp(0, 0),
"t" : Long(-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
}

El comando replSetGetStatus devuelve un documento con los siguientes campos:

replSetGetStatus.set

El valor set es el nombre del set de réplicas, configurado en el ajuste replSetName. Este es el mismo valor que _id en rs.conf().

replSetGetStatus.date

Una 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].lastHeartbeat para encontrar la latencia operativa entre este servidor y los otros nodos del conjunto de réplicas.

replSetGetStatus.myState

Un número entero entre 0 y 10 que representa el estado de réplica del nodo actual.

replSetGetStatus.term

El recuento de elección para el set de réplicas, según lo conoce este miembro del conjunto de réplicas. El term es utilizado por el algoritmo de consenso distribuido para garantizar la corrección.

replSetGetStatus.syncSourceHost

El campo syncSourceHost contiene el nombre del host del nodo desde el cual esta instancia realiza la sincronización.

Si esta instancia es primaria, syncSourceHost es una cadena vacía y el syncSourceId -1.

replSetGetStatus.syncSourceId

El campo syncSourceId contiene el replSetGetStatus.members[n]._id del nodo desde el cual se sincroniza esta instancia.

Si esta instancia es primaria, syncSourceHost es una cadena vacía y el syncSourceId -1.

replSetGetStatus.heartbeatIntervalMillis

La frecuencia en milisegundos de los latidos cardíacos.

replSetGetStatus.majorityVoteCount

El número de votos mayoritarios necesarios para elegir un nuevo primario en una elección.

replSetGetStatus.writeMajorityCount

El 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.votingMembersCount

El número de nodos configurados con votes: 1, incluidos los árbitros.

replSetGetStatus.writableVotingMembersCount

El número de miembros portadores de datos configurados con votes: 1 (esto no incluye árbitros).

replSetGetStatus.optimes

El campo optimes contiene un documento que incluye optimes utilizados para inspeccionar el progreso de la replicación. El campo optimes incluye 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, la term en la que la operación fue generada originalmente en la primaria.

replSetGetStatus.optimes.lastCommittedOpTime

Informació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.lastCommittedWallTime

La cadena de fecha con formato ISODate correspondiente a lastCommittedOpTime.

replSetGetStatus.optimes.readConcernMajorityOpTime

Informació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, la lastCommittedOpTime más reciente que puede cumplir las queries con "majority". readConcernMajorityOpTime es menor o igual que lastCommittedOpTime.

replSetGetStatus.optimes.readConcernMajorityWallTime

La cadena de fecha con formato ISODate correspondiente a readConcernMajorityOpTime.

replSetGetStatus.optimes.appliedOpTime

Informació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.lastAppliedWallTime

La cadena de fecha con formato ISODate correspondiente a appliedOpTime.

replSetGetStatus.optimes.durableOpTime

Informació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.lastDurableWallTime

La cadena de fecha con formato ISODate correspondiente a durableOpTime.

replSetGetStatus.lastStableRecoveryTimestamp

Solo para uso interno

replSetGetStatus.electionCandidateMetrics

Métricas relacionadas con la elección de la primaria actual. electionCandidateMetrics solo 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.lastElectionReason

Motivo por el que el nodo convocó la elección.

replSetGetStatus.electionCandidateMetrics.lastElectionDate

La fecha y hora en que el nodo convocó la elección.

replSetGetStatus.electionCandidateMetrics.electionTerm

El recuento de elecciones del nodo (es decir, term) en el momento en que convocó las nuevas elecciones.

replSetGetStatus.electionCandidateMetrics.lastCommittedOpTimeAtElection

La más reciente majority-committed optime, como vio este nodo, en el momento en que convocó nuevas elecciones.

replSetGetStatus.electionCandidateMetrics.lastSeenOpTimeAtElection

La última applied optime del nodo en el momento en que invocó la nueva elección.

replSetGetStatus.electionCandidateMetrics.numVotesNeeded

El número de votos necesarios para ganar la elección.

replSetGetStatus.electionCandidateMetrics.priorityAtElection

El priority del nodo en el momento en que convocó la elección.

replSetGetStatus.electionCandidateMetrics.electionTimeoutMillis

La configuración electionTimeoutMillis establecida del set de réplicas en el momento de la elección.

replSetGetStatus.electionCandidateMetrics.priorPrimaryMemberId

El members[n]._id del anterior primario. Si no hay un primario anterior, entonces el campo no está presente.

replSetGetStatus.electionCandidateMetrics.targetCatchupOpTime

El 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.numCatchUpOps

El número de operaciones aplicadas por el principal recién elegido al concluir con éxito su proceso de actualización.

replSetGetStatus.electionCandidateMetrics.newTermStartDate

La fecha y hora en que comenzó el término del nodo como primario (es decir, la fecha y hora en que se escribió una entrada new term en el oplog).

replSetGetStatus.electionCandidateMetrics.wMajorityWriteAvailabilityDate

La fecha y hora en que el nivel de confirmación de escritura (write concern) "majority" estuvo disponible después de la elección del set de réplicas (la fecha y hora en que la entrada de oplog new term se confirmó por mayoría).

replSetGetStatus.electionParticipantMetrics

Métricas relacionadas con la última elección en la que participó el nodo.

replSetGetStatus.electionParticipantMetrics.votedForCandidate

Un valor booleano que indica si el nodo votó por el candidato que convocó las elecciones.

replSetGetStatus.electionParticipantMetrics.electionTerm

El 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.lastVoteDate

Una ISODate formatted date string que registra cuándo votó el participante.

replSetGetStatus.electionParticipantMetrics.electionCandidateMemberId

El members[n]._id del candidato convocando las elecciones.

replSetGetStatus.electionParticipantMetrics.voteReason

La 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

El último Optime aplicado por este nodo 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.maxAppliedOpTimeInSet

El 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.priorityAtElection

El priority del nodo en el momento de la elección.

replSetGetStatus.electionParticipantMetrics.newTermStartDate

La 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 term en 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.electionParticipantMetrics.newTermAppliedDate

La fecha y hora en que este secundario aplicó la entrada new term.

El campo está disponible solo para miembros secundarios.

replSetGetStatus.initialSyncStatus

Un documento que proporciona información sobre el progreso y el estado de la sincronización inicial en este nodo.

Importante

Disponibilidad

replSetGetStatus.initialSyncStatus métricas sólo están disponibles cuando se ejecutan en un nodo durante su sincronización inicial (es decir, STARTUP2 estado).

replSetGetStatus.initialSyncStatus.failedInitialSyncAttempts

La cantidad de veces que la sincronización inicial falló y tuvo que reiniciarse en este nodo.

replSetGetStatus.initialSyncStatus.maxFailedInitialSyncAttempts

El número máximo de veces que la sincronización inicial puede reiniciarse en este nodo antes de que se apague.

replSetGetStatus.initialSyncStatus.initialSyncStart

La marca de tiempo de inicio de la sincronización inicial para este nodo.

replSetGetStatus.initialSyncStatus.initialSyncEnd

La marca de tiempo de finalización de la sincronización inicial de este nodo.

replSetGetStatus.initialSyncStatus.initialSyncElapsedMillis

El número de milisegundos entre initialSyncStart y initialSyncEnd.

replSetGetStatus.initialSyncStatus.initialSyncAttempts

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:

Campo
Descripción

durationMillis

Duración en milisegundos del intento de sincronización inicial.

Estado

Estado de salida del intento inicial de sincronización.

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.

rollBackId no aparece al usar sincronización inicial basada en copiado de archivos.

operacionesReintentadas

El número total de todos los reintentos de operaciones.

totalTimeUnreachableMillis

Tiempo total invertido en intentos de reintento de operación.

Ver también failedInitialSyncAttempts.

replSetGetStatus.initialSyncStatus.appliedOps

El número de ops que ocurrieron después de que la sincronización inicial comenzara y se aplicaran 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.initialSyncOplogStart

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.

replSetGetStatus.initialSyncStatus.initialSyncOplogEnd

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.

replSetGetStatus.initialSyncStatus.syncSourceUnreachableSince

La 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.currentOutageDurationMillis

El 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.totalTimeUnreachableMillis

El tiempo total en milisegundos que el nodo ha estado no disponible durante la sincronización inicial actual.

replSetGetStatus.initialSyncStatus.databases

Detalles sobre las bases de datos clonadas durante la sincronización inicial.

replSetGetStatus.initialSyncStatus.databases.databasesCloned

Nú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.method

Nuevo 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 en fileCopyBased, la sincronización será una sincronización inicial basada en copia de archivos.

replSetGetStatus.initialSyncStatus.approxTotalDataSize

El tamaño aproximado (en bytes) de todos los archivos que se sincronizarán durante la sincronización inicial basada en la copia de archivos.

Este campo sólo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.

replSetGetStatus.initialSyncStatus.approxTotalBytesCopied

El total de bytes ya copiados.

Este campo sólo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.

replSetGetStatus.initialSyncStatus.totalInitialSyncElapsedMillis

El tiempo total transcurrido para el intento de sincronización en curso.

Este campo sólo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.

replSetGetStatus.initialSyncStatus.remainingInitialSyncEstimatedMillis

El tiempo esperado restante para el intento de sincronización en curso.

Este campo sólo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.

replSetGetStatus.initialSyncStatus.initialBackupDataSize

El tamaño total (en bytes) del conjunto inicial de archivos que se sincronizarán.

Este campo sólo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.

replSetGetStatus.initialSyncStatus.previousOplogEnd

El optime disponible en el cursor de copia de seguridadanterior.

Este campo sólo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.

replSetGetStatus.initialSyncStatus.currentOplogEnd

El último optime garantizado que estará disponible en el cursor de copia de seguridad actual.

Este campo sólo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.

replSetGetStatus.initialSyncStatus.syncSourceLastApplied

El optime de la última actualización aplicada en la fuente de sincronización antes de iniciar este cursor de copia de seguridad.

Este campo sólo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.

replSetGetStatus.initialSyncStatus.numExtensions

El número de veces que la sincronización ha iniciado un nuevo cursor de copia de seguridad.

Este campo no aparece si no se ha iniciado un cursor de copia de seguridad.

Este campo sólo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.

replSetGetStatus.initialSyncStatus.extensionDataSize

El total de bytes en la extensión actual.

Este campo no aparece si no hay ninguna extensión en curso.

Este campo sólo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.

replSetGetStatus.initialSyncStatus.files

Un arreglo de archivos que se sincronizarán durante la sincronización inicial basada en copia de archivos.

Este campo sólo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.

replSetGetStatus.initialSyncStatus.files[n].filePath

La ruta del archivo relativa a la raíz del cursor de copia de seguridad.

Este campo sólo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.

replSetGetStatus.initialSyncStatus.files[n].fileSize

El tamaño del archivo según lo informado por el cursor de copia de seguridad.

Este campo sólo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.

replSetGetStatus.initialSyncStatus.files[n].bytesCopied

La cantidad de bytes que se han copiado hasta ahora.

Este campo sólo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.

replSetGetStatus.initialSyncStatus.files[n].extensionNumber

El número de la extensión a la que pertenece el archivo, si forma parte de una extensión.

Este campo sólo aparece cuando se utiliza la sincronización inicial basada en copia de archivos.

replSetGetStatus.members

El campo members contiene un arreglo que incluye un documento para cada nodo en el set de réplicas.

replSetGetStatus.members[n]._id

El identificador del nodo.

replSetGetStatus.members[n].name

El nombre del nodo.

replSetGetStatus.members[n].ip

La dirección IP resuelta del nodo. Si mongod no puede resolver el replSetGetStatus.members[n].name a 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].self

Un valor booleano que indica si el nodo es la mongod instancia actual.

El campo self solo se incluye en el documento para la instancia actual de mongod y, como tal, su valor siempre es true.

replSetGetStatus.members[n].health

Un número que indica si el nodo está activo (1) o inactivo (0).

replSetGetStatus.members[n].state

Un entero entre 0 y 10 que representa el estado de la réplica del nodo.

replSetGetStatus.members[n].stateStr

Una string que describe state.

replSetGetStatus.members[n].uptime

Para el nodo en el que se ejecuta el comando replSetGetStatus, uptime indica el número de segundos que el nodo ha estado en línea.

Para los otros nodos, uptime es el número de segundos que el nodo ha estado en comunicación continua con el nodo sobre el que se ejecutó el comando replSetGetStatus.

replSetGetStatus.members[n].optime

Información sobre la última operación del operation log que este nodo ha realizado.

optime devuelve un documento que contiene:

  • ts, el timestamp de la última operación aplicada a este nodo del conjunto de réplicas desde el oplog.

  • t, el term en el cual la última operación aplicada se generó originalmente en el primario.

replSetGetStatus.members[n].optimeDurable

Información sobre la última operación del operation log que este nodo ha aplicado a su bitácora.

optimeDurable devuelve un documento que contiene:

  • ts, la marca de tiempo de la operación.

  • t, el term en el que esta operación se generó originalmente en el primario.

replSetGetStatus.members[n].optimeDate

Una cadena de fecha ISODate formateada que contiene la última entrada del oplog que este nodo aplicó. Si esto difiere significativamente de lastHeartbeat es posible que este nodo esté experimentando "atraso de la replicación" o bien que no haya habido nuevas operaciones después de la última actualización. Compare members.optimeDate entre todos los nodos del conjunto.

replSetGetStatus.members[n].optimeDurableDate

Una string de fecha con formato ISODate que contiene la última entrada del oplog que este nodo aplicó a su bitácora.

replSetGetStatus.members[n].lastAppliedWallTime

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

Una cadena de fecha con formato ISODate que refleja la hora del reloj de pared en la que la última operación escrita en el diario de este nodo se aplicó por primera vez en el nodo primario.

replSetGetStatus.members[n].electionTime

Para 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].electionDate

Para 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].lastHeartbeat

Una 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 campos date y lastHeartbeatRecv para 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].lastHeartbeatRecv

Una 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 campos date y lastHeartbeat para 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].lastHeartbeatMessage

Cuando el último latido incluyó un mensaje extra, el lastHeartbeatMessage contiene una representación en string de ese mensaje.

replSetGetStatus.members[n].pingMs

El pingMs representa 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 nodo que devuelve los datos rs.status().

replSetGetStatus.members[n].syncSourceHost

El campo syncSourceHost contiene el nombre del host del nodo desde el cual esta instancia realiza la sincronización.

Si el replSetGetStatus.members[n] es un primario, syncSourceHost es una string vacía y el syncSourceId -1.

replSetGetStatus.members[n].syncSourceId

El campo syncSourceId contiene el valor replSetGetStatus.members[n]._id del syncSourceHost.

Si el replSetGetStatus.members[n] es un primario, syncSourceHost es una string vacía y el syncSourceId -1.

replSetGetStatus.members[n].configVersion

El valor configVersion es el replica set configuration version.

replSetGetStatus.tooStale

Un 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 de replSetGetStatus si su valor es true.

Consulta también Respuesta para obtener detalles sobre el campo de estado ok, el campo operationTime y el campo $clusterTime.

replSetGetStatus.optime

Presente 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.optimeDate

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

Volver

replSetGetConfig

En esta página