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

SCUMM:la infraestructura de monitoreo de bases de datos basada en agentes en ClusterControl

Con el lanzamiento 1.7 de nuestro producto estrella ClusterControl, presentamos nuestra nueva infraestructura de monitoreo basada en agentes:SCUMM, que se analiza en más detalle en este blog.

Como elemento central de nuestro producto, ClusterControl proporciona un sistema de monitoreo completo con datos en tiempo real para saber qué está sucediendo ahora, con métricas de alta resolución para una mayor precisión, paneles preconfigurados y una amplia gama de servicios de notificación de terceros para alertar. .

Los sistemas locales y en la nube se pueden monitorear y administrar desde un solo punto.

Se implementan comprobaciones de estado inteligentes para topologías distribuidas, por ejemplo, detección de particiones de red aprovechando la vista del equilibrador de carga de los nodos de la base de datos.

Y... el monitoreo puede ser sin agente a través de SSH o basado en agente... ¡que es donde entra SCUMM!

El nuevo sistema SCUMM de ClusterControl está basado en agentes, con un servidor que extrae métricas de agentes que se ejecutan en los mismos hosts que las bases de datos monitoreadas y utiliza agentes de Prometheus para una mayor precisión y opciones de personalización mientras monitorea los clústeres de su base de datos.

¿Pero por qué SCUMM y de qué se trata?

Introducción a SCUMM

SCUMM - Supervisión y gestión unificadas de CMON de varios nueves - es nuestra nueva infraestructura de supervisión basada en agentes.

Esta infraestructura de monitoreo consta de dos componentes principales:

El primer componente es el servidor Prometheus, que actúa como base de datos de series temporales y almacena las métricas recopiladas.

El segundo componente es el exportador. Puede haber uno o más exportadores responsables de recopilar métricas de un nodo o un servicio. El servidor Prometheus recopila estas métricas (esto se denomina raspado) de los exportadores a través de HTTP. Además de esto, hemos creado un conjunto de paneles para visualizar las métricas recopiladas.

Los principales beneficios son:

  1. Recopilar métricas con exportadores de Prometheus respaldados por la comunidad
    1. Por ejemplo, datos de MySQL Performance Schema o ProxySQL
  2. Varios paneles especializados que muestran las métricas más importantes y las tendencias históricas de cada servicio supervisado
  3. El monitoreo de alta frecuencia hace posible raspar los objetivos con un intervalo de un segundo
  4. Una arquitectura que escala con la cantidad de clústeres y servidores de bases de datos. Una sola instancia de Prometheus puede ingerir miles de muestras por segundo.
  5. No se depende de la conectividad SSH para recopilar métricas de host y procesos, lo que significa un sistema más escalable en comparación con una solución de monitoreo sin agente
  6. La capacidad de crear paneles personalizados con reglas personalizadas (esté atento a nuestros próximos lanzamientos)

Los agentes/exportadores de SCUMM que están instalados en los nodos supervisados ​​se denominan exportadores de Prometheus. Los exportadores recopilan métricas del nodo (por ejemplo, CPU, RAM, disco y red) y de servicios como servidores MySQL o PostgreSQL. El servidor Prometheus está instalado en un servidor y raspa (muestra) los exportadores con un intervalo personalizado.

¿Por qué Prometeo?

Prometheus es una base de datos de series temporales muy popular que ha ganado una gran adopción con un ecosistema activo. Ofrece un modelo de datos enriquecido y un lenguaje de consulta con un sistema de encuesta basado en http. También es fácil de instalar, mantener y configurar en la configuración de alta disponibilidad.

Prometheus extrae métricas de trabajos instrumentados, ya sea directamente o a través de una puerta de enlace push intermedia para trabajos de corta duración. Almacena localmente todas las muestras extraídas y ejecuta reglas sobre estos datos para agregar y registrar nuevas series temporales a partir de datos existentes o generar alertas.

Prometheus funciona bien para registrar cualquier serie de tiempo puramente numérica. Se adapta tanto al monitoreo centrado en la máquina como al monitoreo de arquitecturas altamente dinámicas y orientadas a servicios. En un mundo de microservicios, su soporte para la recopilación y consulta de datos multidimensionales es una fortaleza particular.

Prometheus está diseñado para brindar confiabilidad, para ser el sistema al que acudir durante una interrupción que le permita diagnosticar problemas rápidamente. Cada servidor Prometheus es independiente, no depende del almacenamiento en red ni de otros servicios remotos. Puede confiar en él cuando se rompen otras partes de su infraestructura, y no necesita configurar una infraestructura extensa para usarlo. Por lo tanto, para una alta disponibilidad, es posible simplemente instalar un segundo servidor Prometheus extrayendo los mismos datos que el primer servidor Prometheus.

Además, Prometheus es una base de datos de series temporales muy popular y su adopción ha crecido muy rápido. Es posible que otro servidor Prometheus que esté más arriba en la organización raspe los servidores Prometheus más cerca del nivel de la base de datos. Esto permite una infraestructura de supervisión escalable en la que, en el nivel de la base de datos, la resolución de los datos es más alta que en los niveles superiores de una organización.

Exportadores

Uno o más exportadores están instalados en el servidor monitoreado y son responsables de recopilar métricas sobre una parte específica de la infraestructura. Por ejemplo, puede haber un exportador para capturar información específica del host, un exportador para capturar métricas de MySQL y métricas de ProxySQL.

También hemos creado un exportador de procesos específico que monitorea los procesos en ejecución del servidor. Este exportador es fundamental para las características de alta disponibilidad en ClusterControl y permite que ClusterControl reaccione rápidamente ante fallas y estados de procesos. El uso del exportador de procesos (que se instala de forma predeterminada cuando se habilita la supervisión basada en agentes) reduce la carga del sistema en los servidores supervisados.

Habilitación de la supervisión basada en agentes en ClusterControl

Habilitar el monitoreo basado en agentes es tan simple como hacer clic en el panel y luego hacer clic en "Habilitar monitoreo basado en agentes". Seleccione un host donde se instalará el servidor Prometheus. Este servidor Prometheus se puede compartir con otros clústeres.

Con su versión 1.7.1, ClusterControl viene con los siguientes paneles:

  • Descripción general del sistema
  • Descripción general del clúster
  • Servidor MySQL - General
  • Servidor MySQL - Cachés
  • Métricas de MySQL InnoDB
  • Resumen del clúster de Galera
  • Descripción general del servidor Galera
  • Descripción general de PostgreSQL
  • Descripción general de ProxySQL
  • Descripción general de HAProxy
  • Descripción general del clúster de MongoDB
  • Conjunto de réplicas de MongoDB
  • Servidor MongoDB

Para resumir...

Ya sea que uno quiera usar un agente de monitoreo o ir por la ruta sin agente, se basa completamente en los requisitos de la política organizacional y las necesidades personalizadas. Y aunque nos encanta la simplicidad de no tener que instalar o administrar agentes en los hosts de bases de datos monitoreados, un enfoque basado en agentes puede proporcionar una mayor resolución de los datos de monitoreo y tiene ciertas ventajas en términos de seguridad.

El nuevo sistema SCUMM de ClusterControl utiliza agentes de Prometheus para una mayor precisión y opciones de personalización mientras supervisa los clústeres de su base de datos.

¿Por qué no intentarlo y comprobarlo por ti mismo?

Instale ClusterControl hoy (es gratis con nuestra Community Edition) o descargue nuestra nueva Guía de ClusterControl si primero desea obtener más información sobre nuestro producto.