Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

replSetGetStatus

Nesta página

  • Definição
  • Compatibilidade
  • Sintaxe
  • Exemplo
  • Saída
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 dedados admin .

A instância do mongod deve ser um membro do conjunto de réplicas para replSetGetStatus 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 auxiliar rs.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.

Esse comando está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: o serviço totalmente gerenciado para implantações 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

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.

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 o replSetGetStatus.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
}

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ção replSetName. Este é o mesmo valor que _id em rs.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 e 10 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 o syncSourceId -1.

replSetGetStatus.syncSourceId

Novidade na versão 4.0,: 3.6.6, 3.4.16

O campo syncSourceId contém o replSetGetStatus.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 o syncSourceId -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 campo optimes inclui as strings de datas formatadas em ISODate correspondentes para os vários optimes.

Cada valor de tempo de operação é um documento que contém:

  • ts, o timestamp da operação.

  • t, o term no qual a operação foi originalmente gerada no primário.

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, a lastCommittedOpTime mais recente que pode atender a queries "majority". readConcernMajorityOpTime é menor ou igual a lastCommittedOpTime.

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

Somente para uso interno

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 tempo de operação alvo da primária recém-eleita para seu processo de catchup. Somente quando a primária recém-eleita atingir o tempo de operação 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 oplog new 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 tempo de operação 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 tempo de operação 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.electionParticipantMetrics.newTermAppliedDate

A data e a hora em que esse secundário aplicou a entrada new term.

O campo está disponível apenas para membros secundários.

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 estado STARTUP2).

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 estado STARTUP2).

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 estado STARTUP2).

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 estado STARTUP2).

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 estado STARTUP2).

replSetGetStatus.initialSyncStatus.initialSyncElapsedMillis

Novidade na versão 3.4.

O número de milissegundos entre initialSyncStart e initialSyncEnd.

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 estado STARTUP2).

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:

Campo
Descrição
durationMillis
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 estado STARTUP2).

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 estado STARTUP2).

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 estado STARTUP2).

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 estado STARTUP2).

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 estado STARTUP2).

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 estado STARTUP2).

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 estado STARTUP2).

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 estado STARTUP2).

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 estado STARTUP2).

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 estado STARTUP2).

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

O identificador do nó.

replSetGetStatus.members[n].name

O nome do nó.

replSetGetStatus.members[n].ip

O endereço IP resolvido do nó. Se o mongod não conseguir resolver o replSetGetStatus.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ância mongod atual e, como tal, seu valor é sempre true.

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 e 10 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 comando replSetGetStatus 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, o term 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:

  • ts, o timestamp da operação.

  • t, o term no qual essa operação foi originalmente gerada no primário.

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. Compare members.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 campos date e lastHeartbeatRecv 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 campos date e lastHeartbeat 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 o syncSourceId, -1.

replSetGetStatus.members[n].syncSourceId

Novidade na versão 4.0,: 3.6.6, 3.4.16

O campo syncSourceId contém o valor replSetGetStatus.members[n]._id do syncSourceHost.

Se o replSetGetStatus.members[n] for primário, syncSourceHost será uma string vazia e o syncSourceId, -1.

replSetGetStatus.members[n].configVersion

O valor configVersion é o replica 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ída replSetGetStatus se seu valor for true.

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

Presente após a remoção de um membro do conjunto de réplicas. Fornece a string formatada ISODate do optime da última entrada do oplog aplicada pelo membro removido.

Voltar

replSetGetConfig