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

Configurar a integridade do cluster fragmentado autogerenciado com health manager

Nesta página

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

Este documento descreve como usar gerenciadores de integridade para monitorar e gerenciar problemas de integridade em clusters fragmentados.

Um Health Manager executa verificações de saúde em umfaceta do gerenciador de integridade 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 disponíveis do gerenciador de integridade:

Nível de intensidade
Descrição
critical
O gerenciado de integridade nessa faceta está habilitado e tem a capacidade de mover os mongos com falha para fora do cluster se ocorrer um erro. O gerenciador de integridade 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 gerenciador de integridade é definido como critical, o gerenciador de integridade 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 esses testes em intervalos especificados por interval. Se uma verificação de integridade começar, mas não for concluída dentro do tempo limite fornecido por 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:

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:

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:

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 esses testes em intervalos especificados por interval. Se uma verificação de integridade começar, mas não for concluída dentro do tempo limite fornecido por 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:

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.

Voltar

Desativar Hugepages transparentes