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

Gerenciar a integridade do cluster fragmentado com gerenciadores de integridade

Nesta página

  • Visão geral
  • Duração da falha ativa
  • Monitor de progresso
  • Exemplos

Este documento descreve como usar o Health Managers para monitorar e gerenciar problemas de integridade de cluster fragmentado.

Um Health Manager executa verificações de saúde em um facet de health manager em umnível de intensidade especificado. As verificações do health manager são executadas em intervalos de tempo especificados. Um health manager pode ser configurado para mover automaticamente um mongos com falha fora de um cluster. O Monitor de Progresso garante que as verificações do Gerenciador de Integridade não fiquem presas ou deixem de responder.

A tabela a seguir mostra as facets do Health Manager disponíveis:

Facet
O que o observador de integridade verifica
configServer
Problemas de integridade do cluster relacionados à conectividade com o servidor de configuração.
dns
Problemas de integridade do cluster relacionados à disponibilidade e funcionalidade de DNS.
ldap
Problemas de integridade do cluster relacionados à disponibilidade e funcionalidade do LDAP.

A tabela a seguir mostra os níveis de intensidade do Health Manager disponíveis:

Nível de intensidade
Descrição
critical
O Health Manager nessa faceta está habilitado e tem a capacidade de mover os mongos com falha para fora do cluster se ocorrer um erro. O Health Manager espera o tempo especificado por activeFaultDurationSecs antes de parar e mover os mongos para fora do cluster automaticamente.
non-critical
O health manager nesta facet está habilitado e registra erros, mas o mongos permanece no cluster se forem encontrados erros.
off
O health manager nesta facet está desabilitado. O mongos não realiza nenhuma verificação de integridade nesta facet. Este é o nível de intensidade padrão.

Quando uma falha é detectada e o nível de intensidade do Health Manager é definido como critical, o Health Manager espera o tempo especificado por activeFaultDurationSecs antes de parar e mover os mongos para fora do cluster automaticamente.

O Monitor de Progresso executa testes para garantir que as verificações do Gerenciador de Integridade não fiquem presas ou deixem de responder. O Monitor de progresso executa estes testes em intervalos especificados pelo interval. Se uma verificação de integridade começar, mas não for concluída dentro do tempo limite fornecido pelo deadline, o Monitor de Progresso interromperá os mongos e o removerá do cluster.

Campo
Descrição
Unidades
interval
Com que frequência os health managers não trancam ou ficam sem resposta.
Milissegundos
deadline
Tempo limite antes da falha automática do mongos se uma verificação do health manager não estiver progredindo.
Segundos

Os exemplos a seguir mostram como os health managers podem ser configurados. Para obter informações sobre os parâmetros do health manager, consulte Parâmetros do health manager.

Por exemplo, para definir dns Health Manager facet para o nível de intensidade critical, emita o seguinte na inicialização:

mongos --setParameter 'healthMonitoringIntensities={ values:[ { type:"dns", intensity: "critical"} ] }'

Ou se estiver usando o comando setParameter em uma sessão mongosh conectada a um mongos execução :

db.adminCommand(
{
setParameter: 1,
healthMonitoringIntensities: { values: [ { type: "dns", intensity: "critical" } ] } } )
}
)

Os parâmetros configurados com setParameter não persistem entre reinicializações. Consulte a página setParameter para obter detalhes.

Para tornar essa configuração persistente, defina healthMonitoringIntensities em seu arquivo de configuração do mongos usando a opção setParameter, como no exemplo a seguir:

setParameter:
healthMonitoringIntensities: "{ values:[ { type:\"dns\", intensity: \"critical\"} ] }"

healthMonitoringIntensities aceita uma série de documentos, values. Cada documento no values tem dois campos:

  • type, a faceta do Health Manager

  • intensity, o nível de intensidade

Consulte healthMonitoringIntensities para obter detalhes.

Por exemplo, para definir a ldap Health Manager facet para executar verificações de integridade a cada 30 segundos, execute o seguinte na inicialização:

mongos --setParameter 'healthMonitoringIntervals={ values:[ { type:"ldap", interval: "30000"} ] }'

Ou se estiver usando o comando setParameter em uma sessão mongosh conectada a um mongos execução :

db.adminCommand(
{
setParameter: 1,
healthMonitoringIntervals: { values: [ { type: "ldap", interval: "30000" } ] } } )
}
)

Os parâmetros configurados com setParameter não persistem entre reinicializações. Consulte a página setParameter para obter detalhes.

Para tornar essa configuração persistente, defina healthMonitoringIntervals em seu arquivo de configuração do mongos usando a opção setParameter, como no exemplo a seguir:

setParameter:
healthMonitoringIntervals: "{ values: [{type: \"ldap\", interval: 200}] }"

healthMonitoringIntervals aceita uma série de documentos, values. Cada documento no values tem dois campos:

  • type, a faceta do Health Manager

  • interval, o intervalo de tempo em que ele é executado, em milissegundos

Consulte healthMonitoringIntervals para obter detalhes.

Por exemplo, para definir a duração de falha para cinco minutos, emita o seguinte na inicialização:

mongos --setParameter activeFaultDurationSecs=300

Ou se estiver usando o comando setParameter em uma sessão mongosh conectada a um mongos execução :

db.adminCommand(
{
setParameter: 1,
activeFaultDurationSecs: 300
}
)

Os parâmetros configurados com setParameter não persistem entre reinicializações. Consulte a página setParameter para obter detalhes.

Para tornar essa configuração persistente, defina activeFaultDurationSecs em seu arquivo de configuração do mongos usando a opção setParameter, como no exemplo a seguir:

setParameter:
activeFaultDurationSecs: 300

Consulte activeFaultDurationSecs para obter detalhes.

O Monitor de Progresso executa testes para garantir que as verificações do Gerenciador de Integridade não fiquem presas ou deixem de responder. O Monitor de progresso executa estes testes em intervalos especificados pelo interval. Se uma verificação de integridade começar, mas não for concluída dentro do tempo limite fornecido pelo deadline, o Monitor de Progresso interromperá os mongos e o removerá do cluster.

Para definir os interval a 1000 milissegundos e os deadline a 300 segundos, emita o seguinte na inicialização:

mongos --setParameter 'progressMonitor={"interval": 1000, "deadline": 300}'

Ou se estiver usando o comando setParameter em uma sessão mongosh conectada a um mongos execução :

db.adminCommand(
{
setParameter: 1,
progressMonitor: { interval: 1000, deadline: 300 } )
}
)

Os parâmetros configurados com setParameter não persistem entre reinicializações. Consulte a página setParameter para obter detalhes.

Para tornar essa configuração persistente, defina progressMonitor em seu arquivo de configuração do mongos usando a opção setParameter, como no exemplo a seguir:

setParameter:
progressMonitor: "{ interval: 1000, deadline: 300 }"

Consulte progressMonitor para obter detalhes.

← Desabilitar páginas grandes transparentes (THP)