sql >> Base de Datos >  >> NoSQL >> MongoDB

Supervisión del servidor Percona para MongoDB - Métricas clave

Cuando ejecutamos servicios de base de datos críticos en producción, necesitamos conocer y monitorear la base de datos. Debe comprender las métricas clave en la base de datos que está utilizando. Por ejemplo, cuando ejecuta MongoDB con un motor de almacenamiento WiredTiger, necesita conocer las conexiones, la autenticación, las operaciones, el retraso de replicación, las fallas de página, el bloqueo, etc.

En este blog, explicaremos algunas métricas clave que se utilizan para monitorear Percona Server para MongoDB.

Conexiones de base de datos

Las conexiones de base de datos son una de las métricas clave importantes en cualquier base de datos. Supervisa sus conexiones/subprocesos actuales desde las aplicaciones a la base de datos. Puede verificar las conexiones actuales a través del siguiente comando:

> db.serverStatus().connections

Proporciona una idea de cuánto acceden sus aplicaciones a la base de datos. Un aumento repentino en la cantidad de conexiones puede causar problemas en los servidores de su base de datos. ¿Se espera o no?.

ClusterControl proporciona información relacionada con las conexiones como se muestra a continuación:

Operaciones de comando

Las métricas de operaciones de comando monitorean sus operaciones actuales, ya sea insertar, actualizar, eliminar o seleccionar. Puede monitorear las operaciones de comando actuales ejecutando el siguiente comando:

>db.serverStatus().opcounters

Desde las operaciones de comando, realmente puede ver la carga de trabajo de su aplicación, si es pesada para escribir o leer. Desde este punto de vista, puede tomar algunas decisiones, por ejemplo, si tiene mucho tráfico de lectura, es posible que desee escalar los nodos secundarios para distribuir las consultas de lectura.

El monitoreo de las operaciones de comando en ClusterControl es sencillo, solo necesita habilitar el Monitoreo basado en agentes para ver las métricas de OpsCounter en el tablero del servidor MongoDB como se muestra a continuación:

Retrasos del conjunto de réplicas

Cuando ejecuta la arquitectura ReplicaSet o ShardCluster, una métrica clave importante es el retraso de la replicación. El retraso de la replicación ocurre cuando los nodos secundarios no pueden ponerse al día con los datos que se escriben en el nodo principal. Los motivos de esto pueden variar desde la latencia de la red, el rendimiento del disco, consultas lentas, etc.

Puede verificar la información de retraso de replicación actual ejecutando el siguiente comando en el nodo principal:

> rs.printSlaveReplicationInfo() 

Las métricas de información de retraso son en segundos, por lo que en conexiones concurrentes pesadas, puede retrasarse unos segundos en nodos secundarios ya que la replicación en mongodb es asíncrona.

En ClusterControl, la métrica Max Replication Lag se puede encontrar en MongoDB Replicaset panel de monitoreo.

Errores de página

Las fallas de página ocurren principalmente en aplicaciones de alta carga simultánea y alta. Las fallas de página ocurren cuando el proceso mongodb quiere obtener los datos pero no están disponibles en la memoria, entonces el servidor mongodb lee los datos del disco.

Para monitorear el estado actual de las fallas de página, puede usar el siguiente comando:

>db.serverStatus().extra_info.page_faults

Le da el número de errores de página. El valor puede aumentar durante una carga pesada y el servidor puede experimentar un bajo rendimiento. Es posible que desee comprobar también el registro de consultas lentas.

Bloqueo

El bloqueo también es una métrica importante en MongoDB, generalmente ocurre en aplicaciones de alta carga con múltiples transacciones en el mismo conjunto de datos. El bloqueo puede causar serios problemas de rendimiento.

Puede verificar las operaciones de bloqueo actuales en la base de datos usando el siguiente comando:

>db.currentOp()

Cuando ejecutamos el comando db.currentOp(), hay información relacionada con el bloqueo. ClusterControl monitorea Global Lock en su panel MongoDB como se muestra a continuación:

Conclusión

Estas son algunas de las métricas clave importantes para monitorear en Percona Server para MongoDB. Proporcionan una vista en tiempo real de lo que está sucediendo en el servidor y pueden descubrir cualquier anomalía sobre la que pueda tomar medidas. ClusterControl proporciona algunos paneles que le brindan visibilidad de sus bases de datos MongoDB.