replSetGetStatus
Nesta página
Definição
replSetGetStatus
O comando
replSetGetStatus
retorna o status do conjunto de réplicas a partir do ponto de vista do servidor que processou o comando.replSetGetStatus
deve ser executado no banco debanco de dados admin .A instância
mongod
deve ser um membro do conjunto de réplicas parareplSetGetStatus
retornar com sucesso.Os dados fornecidos por esse comando derivam dos dados incluídos nos heartbeats enviados ao servidor por outros membros do conjunto de réplicas. Devido à frequência dos heartbeats, esses dados podem estar desatualizados em vários segundos.
Dica
Em
mongosh
, esse comando também pode ser executado por meio do método auxiliarrs.status()
.Os métodos auxiliares são práticos para os usuários
mongosh
, mas podem não retornar o mesmo nível de informações que os comandos do banco de dados. Nos casos em que a praticidade não for necessária ou os campos de retorno adicionais forem necessários, use o comando de banco de dados.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Importante
Este comando não é suportado em clusters M0, M2 e M5 . Para obter mais informações, consulte Comandos não suportados.
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Sintaxe
O comando tem a seguinte sintaxe:
db.adminCommand( { replSetGetStatus: 1 } )
Se você executar replSetGetStatus
ou o auxiliar mongosh
rs.status()
em um nó durante sua sincronização inicial (ou seja, estado STARTUP2
), o comando retorna métricas replSetGetStatus.initialSyncStatus
.
Após o nó concluir a sincronização inicial e transições para outro estado, as métricas replSetGetStatus.initialSyncStatus
não estarão mais disponíveis.
Exemplo
O exemplo a seguir executa o replSetGetStatus
comando no banco de dados admin do primário do conjunto de réplicas:
db.adminCommand( { replSetGetStatus : 1 } )
O comando retorna o seguinte resultado para um exemplo de conjunto de réplicas definido como primary:
{ "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) }
O exemplo a seguir executa o replSetGetStatus
comando no banco de dados admin do conjunto de réplicas secundário.
db.adminCommand( { replSetGetStatus : 1 } )
O comando retorna a seguinte saída para um exemplo de conjunto de réplicas secundário:
{ "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), }
- Em versões anteriores (3.4.x-4,2,0)
Você pode incluir o
initialSync: 1
opcional para incluir oreplSetGetStatus.initialSyncStatus
na saída (ou omitir se não quiser retornar o status da sincronização inicial):db.adminCommand( { replSetGetStatus : 1, initialSync: 1} )
Se você executar replSetGetStatus
em um membro durante sua sincronização inicial, o comando retornará replSetGetStatus.initialSyncStatus
métricas.
db.adminCommand( { replSetGetStatus : 1 } )
Após o nó concluir a sincronização inicial e transições para outro estado, as métricas replSetGetStatus.initialSyncStatus
não estarão mais disponíveis.
O exemplo a seguir executa o comando replSetGetStatus
no banco de dados admin do membro do conjunto de réplicas 4.4 durante sua sincronização 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 }
Saída
O comando replSetGetStatus retorna um documento com os seguintes campos:
replSetGetStatus.set
O valor
set
é o nome do conjunto de réplicas, configurado na configuraçãoreplSetName
. Este é o mesmo valor que_id
emrs.conf()
.
replSetGetStatus.date
Uma data e hora formatadas em ISODate que reflete a hora atual de acordo com o servidor que processou o comando replSetGetStatus . Compare isto com os valores de
replSetGetStatus.members[n].lastHeartbeat
para localizar a latência operacional entre este servidor e os outros membros do conjunto de réplicas.
replSetGetStatus.myState
Um número inteiro entre
0
e10
que representa o estado de réplica do membro atual.
replSetGetStatus.term
Novo na versão 3.2.
A contagem de eleições para o conjunto de réplicas, conforme conhecido por esse membro do conjunto de réplicas. O
term
é utilizado pelo algoritmo de consenso distribuído para garantir a correção.
replSetGetStatus.syncSourceHost
Novidade na versão 4.0,: 3.6.6, 3.4.16
O campo
syncSourceHost
contém o nome do host do nó a partir do qual essa instância é sincronizada.Se essa instância for primária,
syncSourceHost
será uma string vazia e osyncSourceId
-1
.
replSetGetStatus.syncSourceId
Novidade na versão 4.0,: 3.6.6, 3.4.16
O campo
syncSourceId
contém oreplSetGetStatus.members[n]._id
do membro a partir do qual essa instância é sincronizada.Se essa instância for primária,
syncSourceHost
será uma string vazia e osyncSourceId
-1
.
replSetGetStatus.heartbeatIntervalMillis
Novo na versão 3.2.
A frequência em milésimos de segundo das batidas cardíacas.
replSetGetStatus.majorityVoteCount
O número de votos majoritários necessários para eleger uma nova primária em uma eleição.
replSetGetStatus.writeMajorityCount
O número de membros votantes portadores de dados (ou seja, não árbitros) necessários para atender à write concern
"majority"
. As gravações só podem ser aplicadas a membros que contêm dados.Para o cálculo de
replSetGetStatus.writeMajorityCount
, consulte Calculando a maioria da preocupação de gravação.
replSetGetStatus.votingMembersCount
O número de membros configurados com
votes: 1
, incluindo árbitros.
replSetGetStatus.writableVotingMembersCount
O número de membros portadores de dados configurados com
votes: 1
; ou seja, a contagem não inclui árbitros.
replSetGetStatus.optimes
Novidade na versão 3.4.
O campo
optimes
contém um documento contendo optimes usados para inspecionar o progresso da replicação. O campooptimes
inclui as strings de datas formatadas em ISODate correspondentes para os vários optimes.Cada valor de optime é um documento que contém:
replSetGetStatus.optimes.lastCommittedOpTime
Informação, do ponto de vista deste membro, sobre a operação mais recente que foi gravada para a maioria dos membros do conjunto de réplicas.
replSetGetStatus.optimes.lastCommittedWallTime
A string de datas formatada em ISODate correspondente a
lastCommittedOpTime
.
replSetGetStatus.optimes.readConcernMajorityOpTime
Informações, do ponto de vista desse membro, sobre a operação mais recente que pode atender a queries de preocupação de leitura
"majority"
; ou seja, alastCommittedOpTime
mais recente que pode atender a queries"majority"
.readConcernMajorityOpTime
é menor ou igual alastCommittedOpTime
.
replSetGetStatus.optimes.readConcernMajorityWallTime
A string de datas formatada em ISODate correspondente a
readConcernMajorityOpTime
.
replSetGetStatus.optimes.appliedOpTime
Informação, do ponto de vista deste membro, sobre a operação mais recente que foi aplicada a este membro do conjunto de réplicas.
replSetGetStatus.optimes.lastAppliedWallTime
A string de datas formatada em ISODate correspondente a
appliedOpTime
.
replSetGetStatus.optimes.durableOpTime
Informação, do ponto de vista deste nó, sobre a operação mais recente que foi gravada para o diário deste nó do conjunto de réplicas.
replSetGetStatus.optimes.lastDurableWallTime
A string de datas formatada em ISODate correspondente a
durableOpTime
.
replSetGetStatus.electionCandidateMetrics
Métricas relacionadas à eleição da primária atual.
electionCandidateMetrics
só está disponível nas primárias ou em um candidato à eleição. Para um candidato, as métricas ficam indisponíveis quando o candidato perde a eleição.replSetGetStatus.electionCandidateMetrics.lastElectionReason
Motivo pelo qual o membro convocou a eleição.
replSetGetStatus.electionCandidateMetrics.lastElectionDate
A data e a hora em que o membro convocou a eleição.
replSetGetStatus.electionCandidateMetrics.electionTerm
A contagem eleitoral do membro (ou seja,
term
) no momento em que convocou a nova eleição.
replSetGetStatus.electionCandidateMetrics.lastCommittedOpTimeAtElection
O mais recente
majority-committed optime
, como visto por este membro, na época em que convocou a nova eleição.
replSetGetStatus.electionCandidateMetrics.lastSeenOpTimeAtElection
O mais recente
applied optime
do nó na época em que convocou a nova eleição.
replSetGetStatus.electionCandidateMetrics.numVotesNeeded
O número de votos necessários para vencer a eleição.
replSetGetStatus.electionCandidateMetrics.priorityAtElection
O
priority
do membro no momento em que convocou a eleição.
replSetGetStatus.electionCandidateMetrics.electionTimeoutMillis
O conjunto de réplicas configurou o cenário
electionTimeoutMillis
no momento da eleição.
replSetGetStatus.electionCandidateMetrics.priorPrimaryMemberId
O
members[n]._id
da primária anterior. Se não houver primária anterior, o campo não estará presente.
replSetGetStatus.electionCandidateMetrics.targetCatchupOpTime
O optime alvo da primária recém-eleita para seu processo de catchup. Somente quando a primária recém-eleita atingir o optime de catchup alvo ele poderá começar a aceitar gravações.
replSetGetStatus.electionCandidateMetrics.numCatchUpOps
O número de operações aplicadas pela primária recém-eleita à medida que conclui com êxito o seu processo de recuperação.
replSetGetStatus.electionCandidateMetrics.newTermStartDate
A data e a hora em que o termo do nó como principal começou (ou seja, a data e a hora em que uma entrada
new term
foi gravada no oplog).
replSetGetStatus.electionCandidateMetrics.wMajorityWriteAvailabilityDate
A data e a hora em que a referência de escrita
"majority"
ficou disponível após a eleição para o conjunto de réplicas (ou seja, a data e a hora em que a entrada oplognew term
foi confirmada por maioria).
replSetGetStatus.electionParticipantMetrics
Métricas relacionadas à última eleição em que o membro participou.
replSetGetStatus.electionParticipantMetrics.votedForCandidate
Um booleano que indica se o membro votou no candidato que convocou a eleição.
replSetGetStatus.electionParticipantMetrics.electionTerm
O termo da eleição em que o membro participou. O termo identifica a eleição associada às métricas do participante.
replSetGetStatus.electionParticipantMetrics.lastVoteDate
Uma sequência de datas formatada ISODate que reflete quando o participante votou.
replSetGetStatus.electionParticipantMetrics.electionCandidateMemberId
O
members[n]._id
do candidato convocando a eleição.
replSetGetStatus.electionParticipantMetrics.voteReason
O motivo do voto se o membro não votou no candidato. Se o membro votou no candidato, o valor é uma cadeia de caracteres vazia.
replSetGetStatus.electionParticipantMetrics.lastAppliedOpTimeAtElection
O último optime aplicado deste membro no momento da eleição.
O valor ideal é um documento que contém o registro de data/hora (
ts
) e o termo (t
).
replSetGetStatus.electionParticipantMetrics.maxAppliedOpTimeInSet
O optime aplicado mais recente para qualquer membro desse conjunto de réplicas, conforme conhecido por esse membro.
O valor ideal é um documento que contém o registro de data/hora (
ts
) e o termo (t
).
replSetGetStatus.electionParticipantMetrics.priorityAtElection
O
priority
do membro no momento da eleição.
replSetGetStatus.electionParticipantMetrics.newTermStartDate
A data e a hora em que o mandato da primária eleita começou; isso corresponde a quando a primária escreveu a entrada
new term
em seu oplog e não quando a entrada foi adicionada (ou seja, replicada) para o oplog do segundo.O campo está disponível apenas para nós secundários. no caso do primário, consulte
replSetGetStatus.electionCandidateMetrics.newTermStartDate
.
replSetGetStatus.initialSyncStatus
Novidade na versão 3.4.
Um documento fornece informações sobre o progresso e o status da sincronização inicial desse membro.
Importante
Disponibilidade
As métricas
replSetGetStatus.initialSyncStatus
só estão disponíveis quando executadas em um nó durante sua sincronização inicial (ou seja, o estadoSTARTUP2
).replSetGetStatus.initialSyncStatus.failedInitialSyncAttempts
Novidade na versão 3.4.
O número de vezes que a sincronização inicial falhou e teve que reiniciar neste nó.
Importante
Disponibilidade
As métricas
replSetGetStatus.initialSyncStatus
só estão disponíveis quando executadas em um nó durante sua sincronização inicial (ou seja, o estadoSTARTUP2
).
replSetGetStatus.initialSyncStatus.maxFailedInitialSyncAttempts
Novidade na versão 3.4.
O número máximo de vezes que a sincronização inicial pode ser reiniciada neste nó antes que o nó seja desligado.
Importante
Disponibilidade
As métricas
replSetGetStatus.initialSyncStatus
só estão disponíveis quando executadas em um nó durante sua sincronização inicial (ou seja, o estadoSTARTUP2
).
replSetGetStatus.initialSyncStatus.initialSyncStart
Novidade na versão 3.4.
O registro de data/hora inicial da sincronização inicial deste nó.
Importante
Disponibilidade
As métricas
replSetGetStatus.initialSyncStatus
só estão disponíveis quando executadas em um nó durante sua sincronização inicial (ou seja, o estadoSTARTUP2
).
replSetGetStatus.initialSyncStatus.initialSyncEnd
Novidade na versão 3.4.
O registro de data/hora final da sincronização inicial deste nó.
Importante
Disponibilidade
As métricas
replSetGetStatus.initialSyncStatus
só estão disponíveis quando executadas em um nó durante sua sincronização inicial (ou seja, o estadoSTARTUP2
).
replSetGetStatus.initialSyncStatus.initialSyncElapsedMillis
Novidade na versão 3.4.
O número de milissegundos entre
initialSyncStart
einitialSyncEnd
.Importante
Disponibilidade
As métricas
replSetGetStatus.initialSyncStatus
só estão disponíveis quando executadas em um nó durante sua sincronização inicial (ou seja, o estadoSTARTUP2
).
replSetGetStatus.initialSyncStatus.initialSyncAttempts
Novidade na versão 3.4.
Array de documentos onde cada documento corresponde a uma única tentativa de initial sync . Por exemplo:
"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 contém as seguintes informações para a tentativa de initial sync:
CampoDescriçãodurationMillis
Duração em milissegundos da tentativa de initial sync.
Status
Sair do status da tentativa de initial sync.
syncSource
Fonte de sincronização para a tentativa de initial sync.
rollBackId
O identificador de rollback da fonte de sincronização no início da tentativa de sincronização inicial.
operationsRetried
Número total de todas as tentativas de repetição de operação.
totalTimeUnreachableMillis
Tempo total gasto em tentativas de repetição de operação.
Consulte também
failedInitialSyncAttempts
.Importante
Disponibilidade
As métricas
replSetGetStatus.initialSyncStatus
só estão disponíveis quando executadas em um nó durante sua sincronização inicial (ou seja, o estadoSTARTUP2
).
replSetGetStatus.initialSyncStatus.appliedOps
Novidade na versão 3.4.
O número de operações que ocorreram após o início da initial sync e foram aplicadas após a clonagem dos bancos de dados.
Como parte do processo de initial sync, o membro usa o oplog para atualizar seu conjunto de dados para refletir o estado atual do conjunto de réplicas.
Importante
Disponibilidade
As métricas
replSetGetStatus.initialSyncStatus
só estão disponíveis quando executadas em um nó durante sua sincronização inicial (ou seja, o estadoSTARTUP2
).
replSetGetStatus.initialSyncStatus.initialSyncOplogStart
Novidade na versão 3.4.
O registro de data/hora de início do estágio do aplicativo oplog da sincronização inicial em que o nó aplica as alterações que ocorreram após o início da sincronização inicial.
Como parte do processo de initial sync, o membro usa o oplog para atualizar seu conjunto de dados para refletir o estado atual do conjunto de réplicas.
Importante
Disponibilidade
As métricas
replSetGetStatus.initialSyncStatus
só estão disponíveis quando executadas em um nó durante sua sincronização inicial (ou seja, o estadoSTARTUP2
).
replSetGetStatus.initialSyncStatus.initialSyncOplogEnd
Novidade na versão 3.4.
A data e hora de término do estágio de aplicação oplog da initial sync em que o membro aplica as alterações que ocorreram após o início da sincronização inicial.
Como parte do processo de initial sync, o membro usa o oplog para atualizar seu conjunto de dados para refletir o estado atual do conjunto de réplicas.
Importante
Disponibilidade
As métricas
replSetGetStatus.initialSyncStatus
só estão disponíveis quando executadas em um nó durante sua sincronização inicial (ou seja, o estadoSTARTUP2
).
replSetGetStatus.initialSyncStatus.syncSourceUnreachableSince
A data e a hora em que a fonte de sincronização se tornou inacessível.
Presente somente se a fonte de sincronização if não estiver disponível durante a initial sync atual.
Importante
Disponibilidade
As métricas
replSetGetStatus.initialSyncStatus
só estão disponíveis quando executadas em um nó durante sua sincronização inicial (ou seja, o estadoSTARTUP2
).
replSetGetStatus.initialSyncStatus.currentOutageDurationMillis
O tempo em milissegundos em que a fonte de sincronização ficou indisponível.
Presente somente se a fonte de sincronização if não estiver disponível durante a initial sync atual.
Importante
Disponibilidade
As métricas
replSetGetStatus.initialSyncStatus
só estão disponíveis quando executadas em um nó durante sua sincronização inicial (ou seja, o estadoSTARTUP2
).
replSetGetStatus.initialSyncStatus.totalTimeUnreachableMillis
O tempo total em milissegundos em que o nó esteve indisponível durante a sincronização inicial atual.
Importante
Disponibilidade
As métricas
replSetGetStatus.initialSyncStatus
só estão disponíveis quando executadas em um nó durante sua sincronização inicial (ou seja, o estadoSTARTUP2
).
replSetGetStatus.initialSyncStatus.databases
Novidade na versão 3.4.
Detalhes sobre os bancos de dados clonados durante a initial sync.
Importante
Disponibilidade
As métricas
replSetGetStatus.initialSyncStatus
só estão disponíveis quando executadas em um nó durante sua sincronização inicial (ou seja, o estadoSTARTUP2
).
replSetGetStatus.initialSyncStatus.databases.databasesCloned
Novidade na versão 3.4.
Número de bancos de dados clonados durante a initial sync.
Importante
Disponibilidade
As métricas
replSetGetStatus.initialSyncStatus
só estão disponíveis quando executadas em um nó durante sua sincronização inicial (ou seja, o estadoSTARTUP2
).
replSetGetStatus.initialSyncStatus.databases.<dbname>
Novidade na versão 3.4.
Para cada banco de dados, um documento que retorna informações sobre o progresso da clonagem desse banco de dados.
{ "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
Disponibilidade
As métricas
replSetGetStatus.initialSyncStatus
só estão disponíveis quando executadas em um nó durante sua sincronização inicial (ou seja, o estadoSTARTUP2
).
replSetGetStatus.members
O campo
members
contém uma matriz que contém um documento para cada nó no conjunto de réplicas.replSetGetStatus.members[n].ip
O endereço IP resolvido do nó. Se o
mongod
não conseguir resolver oreplSetGetStatus.members[n].name
para um endereço IP, o valor de retorno será um BSON nulo. Caso contrário, o valor retornado será uma representação de string do endereço IP resolvido.
replSetGetStatus.members[n].self
Um booleano que indica se o nó é a instância
mongod
atual.O campo
self
é incluído somente no documento para a instânciamongod
atual e, como tal, seu valor é sempretrue
.
replSetGetStatus.members[n].health
Um número que indica se o membro está ativo (ou seja,
1
) ou para baixo (ou seja,0
).
replSetGetStatus.members[n].state
Um número inteiro entre
0
e10
que representa o estado de réplica do nó.
replSetGetStatus.members[n].stateStr
Uma string que descreve
state
.
replSetGetStatus.members[n].uptime
Para o membro no qual o comando
replSetGetStatus
é executado,uptime
é o número de segundos que o membro esteve on-line.Para os outros nós,
uptime
é o número de segundos em que o nó esteve em comunicação contínua com o nó no qual o comandoreplSetGetStatus
foi executado.
replSetGetStatus.members[n].optime
Informações sobre a última operação a partir do registro de operação que este nó aplicou.
Alterado na versão 3,2.
optime
retorna um documento que contém:ts
, o Registro de data/hora da última operação aplicada a esse nó do conjunto de réplicas do oplog.t
, oterm
no qual a última operação aplicada foi originalmente gerada no primário.
replSetGetStatus.members[n].optimeDurable
Novidade na versão 3.4.
Informações sobre a última operação de registro de operações que esse nó aplicou ao seu diário.
optimeDurable
retorna um documento que contém:
replSetGetStatus.members[n].optimeDate
Uma string de data formatada ISODate que reflete a última entrada do oplog que este nó aplicou. Se isso for significativamente diferente de
lastHeartbeat
esse nó está enfrentando "atraso de replicação" ou não houve novas operações desde a última atualização. Comparemembers.optimeDate
entre todos os nós do conjunto.
replSetGetStatus.members[n].optimeDurableDate
Novidade na versão 3.4.
Uma cadeia de caracteres de data formatada ISODate que reflete a última entrada do oplog que esse nó aplicou ao seu diário.
replSetGetStatus.members[n].lastAppliedWallTime
Novidade na versão 5,0,5.
Uma string de data formatada ISODate que reflete a hora do relógio de parede em que a última operação aplicada por esse nó do conjunto de réplicas foi aplicada no nó primário.
replSetGetStatus.members[n].lastDurableWallTime
Novidade na versão 5,0,5.
Uma string de data formatada ISODate que reflete a hora do relógio de parede em que a última operação gravada no diário desse nó foi aplicada pela primeira vez no nó primário.
replSetGetStatus.members[n].electionTime
Para a primária atual, informações sobre a eleição Registro de data/hora do registro de operações. Consulte Alta Disponibilidade do Conjunto de Réplicas para obter mais informações sobre eleições.
replSetGetStatus.members[n].electionDate
Para a primária atual, uma cadeia de caracteres de data formatada ISODate que reflete a data da eleição. Consulte Alta Disponibilidade do Conjunto de Réplicas para obter mais informações sobre eleições.
replSetGetStatus.members[n].lastHeartbeat
Uma data e hora formatadas ISODate que reflete a última vez que o servidor que processou o comando replSetGetStatus recebeu uma resposta de um heartbeat enviado a esse nó (
members[n]
). Compare este valor com os valores dos camposdate
elastHeartbeatRecv
para rastrear a latência entre estes nós do conjunto de réplicas.Esse valor só está disponível para nós do conjunto de réplicas que não sejam o servidor especificado por
replSetGetStatus.members[n].self
.
replSetGetStatus.members[n].lastHeartbeatRecv
Uma data e hora formatadas ISODate que reflete a última vez que o servidor que processou o comando replSetGetStatus recebeu uma solicitação de pulsação desse nó (
members[n]
). Compare este valor com os valores dos camposdate
elastHeartbeat
para rastrear a latência entre estes nós do conjunto de réplicas.Esse valor só está disponível para nós do conjunto de réplicas que não sejam o servidor especificado por
replSetGetStatus.members[n].self
.
replSetGetStatus.members[n].lastHeartbeatMessage
Quando a última pulsação incluiu uma mensagem extra, o
lastHeartbeatMessage
contém uma representação de string dessa mensagem.
replSetGetStatus.members[n].pingMs
O
pingMs
representa o número de milissegundos (ms) que um pacote de ida e volta leva para viajar entre o nó remoto e a instância local.Este valor não aparece para o nó que retorna os dados do
rs.status()
.
replSetGetStatus.members[n].syncSourceHost
Novidade na versão 4.0,: 3.6.6, 3.4.16
O campo
syncSourceHost
contém o nome do host do nó a partir do qual essa instância é sincronizada.Se o
replSetGetStatus.members[n]
for primário,syncSourceHost
será uma string vazia e osyncSourceId
,-1
.
replSetGetStatus.members[n].syncSourceId
Novidade na versão 4.0,: 3.6.6, 3.4.16
O campo
syncSourceId
contém o valorreplSetGetStatus.members[n]._id
dosyncSourceHost
.Se o
replSetGetStatus.members[n]
for primário,syncSourceHost
será uma string vazia e osyncSourceId
,-1
.
replSetGetStatus.members[n].configVersion
O valor
configVersion
é oreplica set configuration version
.
replSetGetStatus.tooStale
Um booleano que indica que um nó do conjunto de réplicas ficou muito atrás do oplog do primário e está preso no estado
RECOVERING
. Esse campo só será incluído na saídareplSetGetStatus
se seu valor fortrue
.
Consulte também Resposta para detalhes sobre o campo de status do ok
, o campo operationTime
e o campo $clusterTime
.
replSetGetStatus.optime
Presente após a remoção de um membro do conjunto de réplicas. Fornece o optime da última entrada do oplog aplicada pelo membro removido.
replSetGetStatus.optimeDate
Apresente após a remoção de um membro do conjunto de réplicas. Fornece a string formatada IsoDate do optime da última entrada oplog aplicada pelo membro removido.