sql >> Base de Datos >  >> RDS >> PostgreSQL

Consejos para monitorear PostgreSQL para Moodle

Moodle es un sistema de gestión de aprendizaje (LMS) diseñado para proporcionar a los educadores, administradores y estudiantes un único sistema sólido, seguro e integrado para crear entornos de aprendizaje personalizados. Es compatible con diferentes tecnologías de bases de datos (por ejemplo, MariaDB, MySQL, PostgreSQL, etc.).

Debido al COVID-19, trabajar y estudiar desde casa ha aumentado de manera exponencial recientemente, por lo que la disponibilidad y el rendimiento de este tipo de plataforma de aprendizaje son cada vez más importantes. La única forma en que puede asegurarse de que todo va bien es tener un buen sistema de monitoreo y alerta, pero la pregunta es qué necesita monitorear para asegurarse de que sus sistemas funcionen de manera saludable.

En este blog, veremos lo que necesita monitorear en una base de datos Moodle de PostgreSQL y cómo puede hacerlo más fácilmente usando ClusterControl.

Qué monitorear en PostgreSQL

Al monitorear un nodo o clúster de base de datos, hay dos cosas principales a tener en cuenta:el sistema operativo y la base de datos en sí. Deberá definir qué métricas va a monitorear desde ambos lados y cómo lo va a hacer.

Supervisión del sistema operativo

Una cosa importante (que es común a todos los motores de base de datos e incluso a todos systems) es monitorear el comportamiento del sistema operativo. Aquí hay algunos puntos para verificar aquí.

Uso de CPU

Un porcentaje excesivo de uso de CPU podría ser un problema si no es el comportamiento habitual. En este caso, es importante identificar el proceso/procesos que están generando este problema. Si el problema es el proceso de la base de datos, deberá verificar qué sucede dentro de la base de datos.

Uso de memoria RAM o SWAP

Si ve un valor alto para esta métrica y nada ha cambiado en su sistema, probablemente necesite verificar la configuración de su base de datos. Parámetros como shared_buffers y work_mem pueden afectar esto directamente ya que definen la cantidad de memoria que se puede usar para la base de datos PostgreSQL.

Uso de disco

Un aumento anormal en el uso del espacio en disco o un consumo excesivo de acceso al disco son cosas importantes que se deben monitorear, ya que podría tener una gran cantidad de errores registrados en el archivo de registro de PostgreSQL o una mala configuración de caché que podría generar un importante consumo de acceso a disco en lugar de usar memoria para procesar las consultas.

Promedio de carga

Está relacionado con los tres puntos mencionados anteriormente. Se podría generar un promedio de carga alto debido al uso excesivo de CPU, RAM o disco.

Red

Un problema de red puede afectar a todos los sistemas ya que la aplicación no puede conectarse (o conectar paquetes perdidos) a la base de datos, por lo que esta es una métrica importante para monitorear. Puede monitorear la latencia o la pérdida de paquetes, y el problema principal podría ser una saturación de la red, un problema de hardware o simplemente una mala configuración de la red.

Supervisión de la base de datos

Supervisar su base de datos PostgreSQL no solo es importante para ver si tiene algún problema, sino también para saber si necesita cambiar algo para mejorar el rendimiento de su base de datos, que es probablemente una de las cosas más importantes monitorear en una base de datos. Veamos algunas métricas que son importantes para esto.

Supervisión de consultas

En general, las bases de datos se configuran teniendo en cuenta la compatibilidad y la estabilidad de forma predeterminada, por lo que debe conocer sus consultas y su patrón, y configurar sus bases de datos según el tráfico que tenga. Aquí, puede usar el comando EXPLAIN para verificar el plan de consulta para una consulta específica, y también puede monitorear la cantidad de SELECCIONAR, INSERTAR, ACTUALIZAR o ELIMINAR en cada nodo. Si tiene una consulta larga o una gran cantidad de consultas ejecutándose al mismo tiempo, eso podría ser un problema para todos los sistemas.

Sesiones activas

También debe controlar el número de sesiones activas. Si está cerca del límite, debe verificar si algo está mal o si solo necesita incrementar el valor máximo de conexión en la configuración de la base de datos. La diferencia en el número puede ser un aumento o disminución de conexiones. El mal uso de la agrupación de conexiones, el bloqueo o los problemas de red son los problemas más comunes relacionados con la cantidad de conexiones.

Cerraduras

Si tiene una consulta en espera de otra consulta, debe verificar si esa otra consulta es un proceso normal o algo nuevo. En algunos casos, si alguien está realizando una actualización en una tabla grande, por ejemplo, esta acción puede estar afectando el comportamiento normal de su base de datos, generando una gran cantidad de bloqueos.

Replicación

Las métricas clave para monitorear la replicación son el retraso y el estado de la replicación. Los problemas más comunes son problemas de red, problemas de recursos de hardware o problemas de subdimensionamiento. Si se enfrenta a un problema de replicación, deberá saberlo lo antes posible, ya que deberá solucionarlo para garantizar un entorno de alta disponibilidad.

Copias de seguridad

Evitar la pérdida de datos es una de las tareas básicas de DBA, por lo que no solo necesita realizar la copia de seguridad, debe saber si la copia de seguridad se completó y si se puede utilizar. Por lo general, este último punto no se tiene en cuenta, pero probablemente sea la comprobación más importante en un proceso de copia de seguridad.

Registros de la base de datos

Debe monitorear el registro de su base de datos en busca de errores, problemas de autenticación o incluso consultas de ejecución prolongada. La mayoría de los errores se escriben en el archivo de registro con información detallada y útil para corregirlos.

Notificaciones y alertas

Solo monitorear un sistema no es suficiente si no recibe una notificación sobre cada problema. Sin un sistema de alertas, debe ir a la herramienta de monitoreo para ver si todo está bien, y es posible que tenga un gran problema desde hace muchas horas. Este trabajo de alerta podría realizarse mediante el uso de alertas por correo electrónico, alertas de texto u otras herramientas como Slack.

Monitoreo de su base de datos PostgreSQL Moodle con ClusterControl

ClusterControl es un sistema de administración y monitoreo que ayuda a implementar, administrar, monitorear y escalar sus bases de datos desde una interfaz amigable. ClusterControl es compatible con las principales tecnologías de base de datos de código abierto y puede automatizar muchas de las tareas de la base de datos que debe realizar regularmente, como agregar y escalar nuevos nodos, ejecutar copias de seguridad y restauraciones, y más.

Le permite monitorear sus servidores en tiempo real con un conjunto predefinido de paneles para analizar algunas de las métricas más comunes.

Te permite personalizar los gráficos disponibles en el clúster, y puedes habilite el monitoreo basado en agentes para generar tableros más detallados.

También puede crear alertas que le informen sobre eventos en su clúster, o integrarlo con diferentes servicios como PagerDuty o Slack.

En la sección del monitor de consultas, puede encontrar las consultas principales, las consultas en ejecución consultas, consultas de valores atípicos y estadísticas de consultas para monitorear el tráfico de su base de datos.

Para la administración de copias de seguridad, ClusterControl lo centraliza para proteger, asegurar y recuperar su datos, y con la función de copia de seguridad de verificación, puede confirmar si la copia de seguridad está lista para funcionar.

Este trabajo de copia de seguridad de verificación restaurará la copia de seguridad en un host independiente separado, por lo que puede asegurarse de que la copia de seguridad esté funcionando.

Finalmente, no necesita acceder a su nodo de base de datos para verificar los registros, puede encontrar todos los registros de su base de datos centralizados en la sección Registro de ClusterControl.

Como puede ver, puede manejar todas las cosas mencionadas desde el mismo sistema centralizado:ClusterControl.

Supervisión con la línea de comandos de ClusterControl

Para secuencias de comandos y tareas de automatización, o incluso si prefiere la línea de comandos, ClusterControl tiene la herramienta s9s. Es una herramienta de línea de comandos para administrar su clúster de base de datos.

Lista de grupos

Lista de nodos

Puede realizar todas las tareas que puede ver en el ClusterControl UI (e incluso más), y puede integrar esta función con algunas herramientas externas como Slack, para administrarla desde allí.

Conclusión

El monitoreo de su base de datos Moodle PostgreSQL es necesario, pero también una tarea que requiere mucho tiempo si no tiene ninguna herramienta que lo ayude con esto. En este blog, mencionamos algunas métricas clave para monitorear en su base de datos Moodle PostgreSQL y cómo mantener sus sistemas bajo control usando ClusterControl.