Docs Menu
Docs Home
/

Configurar el estado del clúster fragmentado autoadministrado con administradores de estado

Este documento describe cómo usar Health Managers para monitorear y administrar problemas de salud del clúster fragmentado.

Un administrador de salud realiza controles de salud en un faceta de gerente de salud en un momento específico Nivel de intensidad. Las comprobaciones del Administrador de Estado se ejecutan a intervalos de tiempo específicos. Se puede configurar un Administrador de Estado para que retire automáticamente un mongos fallido del clúster. ElMonitor de Progreso garantiza que las comprobaciones del Administrador de Estado no se bloqueen ni dejen de responder.

La siguiente tabla muestra las facetas de gestión de verificaciónes de estado disponibles:

Facet
Qué verifica el Health Observer

configServer

Problemas de salud del clúster relacionados con la conectividad al servidor de configuración.

dns

Problemas de salud del clúster relacionados con la disponibilidad y funcionalidad del DNS.

ldap

Problemas de salud del clúster relacionados con la disponibilidad y funcionalidad de LDAP.

La siguiente tabla muestra los niveles de intensidad del Administrador de Salud disponibles:

Nivel de intensidad
Descripción

critical

El gestor de verificaciones de estado en esta faceta está habilitado y tiene la capacidad de mover los mongos que fallan fuera del clúster si ocurre un error. El gestor de verificaciones de estado espera el tiempo especificado por activeFaultDurationSecs antes de detenerse y mover el mongos fuera del clúster automáticamente.

non-critical

El gestor de verificaciones de estado en esta faceta está habilitado y registra errores, pero el mongos permanece en el clúster si se encuentran errores.

off

El gestor de verificaciones de estado en esta faceta está deshabilitado. El mongos no realiza ninguna verificación de estado en esta faceta. Este es el nivel de intensidad por defecto.

Cuando se detecta una falla y el nivel de intensidad del Administrador de salud se establece critical en, el Administrador de salud espera la cantidad de tiempo especificada por antes de activeFaultDurationSecs detenerse y mover los mongos fuera del clúster automáticamente.

Progress Monitor ejecuta pruebas para garantizar que las comprobaciones del Administrador de Estado no se bloqueen ni dejen de responder. Progress Monitor ejecuta estas pruebas en los intervalos especificados interval por. Si una comprobación de estado comienza pero no se completa dentro del tiempo de espera especificado deadline por, Progress Monitor detiene mongos y lo elimina del clúster.

Campo
Descripción
Unidades

interval

Con qué frecuencia se garantiza que los gestores de verificaciones de estado no se atasquen o dejen de responder.

Milisegundos

deadline

Tiempo de espera antes de fallar automáticamente el mongos si una verificación del gestor de verificaciones de estado no está progresando.

Segundos

Los siguientes ejemplos muestran cómo configurar los administradores de salud. Para obtener información sobre sus parámetros, consulte Parámetros del administrador de salud.

Por ejemplo, para establecer la faceta de gestión de verificaciones de estado dns al nivel de intensidad critical, emita lo siguiente al inicio:

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

O si usas el comando setParameter en una sesión de mongosh que está conectada a un mongos en ejecución:

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

Los parámetros establecidos con setParameter no persisten después de reiniciar. Consulte la página setParameter para más detalles.

Para que esta configuración sea persistente, se debe establecer healthMonitoringIntensities en el archivo de configuración de mongos con la opción setParameter como en el siguiente ejemplo:

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

healthMonitoringIntensities acepta un arreglo de documentos, values. Cada documento en values requiere dos campos:

  • type, la faceta de gestión de verificaciónes de estado

  • intensity, el nivel de intensidad

Consulta healthMonitoringIntensities para obtener más detalles.

Por ejemplo, para configurar la faceta de gestión de verificaciones de estado ldap para ejecutar verificaciones de estado cada 30 segundos, emita lo siguiente al inicio.

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

O si usas el comando setParameter en una sesión de mongosh que está conectada a un mongos en ejecución:

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

Los parámetros establecidos con setParameter no persisten después de reiniciar. Consulte la página setParameter para más detalles.

Para que esta configuración sea persistente, se debe establecer healthMonitoringIntervals en el archivo de configuración de mongos con la opción setParameter como en el siguiente ejemplo:

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

healthMonitoringIntervals acepta un arreglo de documentos, values. Cada documento en values requiere dos campos:

  • type, la faceta de gestión de verificaciónes de estado

  • interval, el intervalo de tiempo en el que se ejecuta, en milisegundos

Consulta healthMonitoringIntervals para obtener más detalles.

Por ejemplo, para establecer la duración desde la falla hasta la caída del sistema en cinco minutos, emite lo siguiente durante la iniciación:

mongos --setParameter activeFaultDurationSecs=300

O si usas el comando setParameter en una sesión de mongosh que está conectada a un mongos en ejecución:

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

Los parámetros establecidos con setParameter no persisten después de reiniciar. Consulte la página setParameter para más detalles.

Para que esta configuración sea persistente, se debe establecer activeFaultDurationSecs en el archivo de configuración de mongos con la opción setParameter como en el siguiente ejemplo:

setParameter:
activeFaultDurationSecs: 300

Consulta activeFaultDurationSecs para obtener más detalles.

Progress Monitor ejecuta pruebas para garantizar que las comprobaciones del Administrador de Estado no se bloqueen ni dejen de responder. Progress Monitor ejecuta estas pruebas en los intervalos especificados interval por. Si una comprobación de estado comienza pero no se completa dentro del tiempo de espera especificado deadline por, Progress Monitor detiene mongos y lo elimina del clúster.

Para establecer interval en 1000 milisegundos y deadline en 300 segundos, emite lo siguiente durante la iniciación:

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

O si usas el comando setParameter en una sesión de mongosh que está conectada a un mongos en ejecución:

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

Los parámetros establecidos con setParameter no persisten después de reiniciar. Consulte la página setParameter para más detalles.

Para que esta configuración sea persistente, se debe establecer progressMonitor en el archivo de configuración de mongos con la opción setParameter como en el siguiente ejemplo:

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

Consulta progressMonitor para obtener más detalles.

Volver

Solucionar problemas

En esta página