"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Cómo configurar MariaDB/MySQL Exporter en los nodos del clúster Galera para el monitoreo de Prometheus

Cómo configurar MariaDB/MySQL Exporter en los nodos del clúster Galera para el monitoreo de Prometheus

Publicado el 2024-11-08
Navegar:268

How to Set Up MariaDB/MySQL Exporter on Galera Cluster Nodes for Prometheus Monitoring

¡Hola, comunidad dev.to! ?

En esta publicación, lo guiaré a través de los pasos que tomé para configurar MariaDB/MySQL Exporter en los nodos de Galera Cluster para monitorear con Prometheus. En mi caso, estoy ejecutando un MariaDB Galera Cluster en mi proveedor de servidor en la nube con tres nodos y usando Prometheus Grafana para monitorear mi configuración. Las herramientas de configuración y monitoreo de Galera Cluster han sido increíblemente útiles, pero obtener las métricas correctas de MariaDB no fue sencillo, así que decidí documentar mi solución.

Para monitorear las métricas de MariaDB y Galera Cluster, como la cantidad de consultas por segundo, conexiones, estado de replicación, etc., debe usar un exportador MySQL en combinación con Prometheus. Este exportador expondrá métricas específicas de la base de datos, incluidas las estadísticas de Galera y MariaDB.

Pasos para configurar MariaDB/MySQL Exporter en los nodos del clúster Galera:

Requisitos previos

  • Un Clúster MariaDB Galera con múltiples nodos.
  • Un servidor Prometheus en funcionamiento.
  • Grafana para visualizar métricas (opcional pero recomendado).
  • Acceso a los nodos para instalar el exportador.

Nota: Ya puede utilizar las máquinas de Prometheus Grafana en el mercado de su proveedor de servidor en la nube. Hetzner, Digitalocean

Paso 1: Instale el exportador MySQL/MariaDB

En cada nodo de Galera, necesitamos instalar MySQL Exporter, que recopila métricas y las expone para Prometheus. Así es como puedes hacerlo:

Descargue e instale el exportador desde la fuente oficial.

wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz

Extrae los archivos

tar xvfz mysqld_exporter-0.15.1.linux-amd64.tar.gz

Mover el binario a una ruta del sistema

sudo cp mysqld_exporter-0.15.1.linux-amd64/mysqld_exporter /usr/local/bin/

Agregar un usuario del sistema para el exportador

sudo useradd -rs /bin/false mysqld_exporter

Paso 2: Configurar el exportador con credenciales MySQL/MariaDB

El exportador necesita acceso a las métricas de MariaDB. Cree un archivo .my.cnf en el directorio de inicio del exportador para almacenar las credenciales de conexión:

sudo mkdir /etc/.mysqld_exporter
sudo nano /etc/.mysqld_exporter/.my.cnf

Agregue lo siguiente al archivo:


[client]
user=exporter
password=yourpassword


Asegúrese de que el usuario tenga los permisos adecuados para acceder a las métricas necesarias:

para acceder use mysql -u root o mariadb -u root

CREAR USUARIO 'exportador'@'localhost' IDENTIFICADO POR 'tucontraseña';
OTORGAR PROCESO, CLIENTE DE REPLICACIÓN, SELECCIONAR *.* A 'exporter'@'localhost';
PRIVILEGIOS DE DESCARGA;

Paso 3: configurar el exportador como servicio

Para garantizar que MySQL Exporter se inicie al arrancar, configurémoslo como un servicio systemd:

sudo nano /etc/systemd/system/mysqld_exporter.service

Agregue el siguiente contenido al archivo:


[Unit]
Description=Prometheus MySQL Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=mysqld_exporter
Group=mysqld_exporter
ExecStart=/usr/local/bin/mysqld_exporter \
  --config.my-cnf=/etc/.mysqld_exporter/.my.cnf

[Install]
WantedBy=multi-user.target


Guarde el archivo y vuelva a cargar systemd:

sudo systemctl daemon-reload
sudo systemctl iniciar mysqld_exporter
sudo systemctl habilitar mysqld_exporter

Paso 4: Agregar objetivos exportadores a Prometheus

A continuación, actualice su configuración de Prometheus para extraer las métricas de los nodos. Agregue lo siguiente a su archivo prometheus.yml:

Antes de eso, puedes verificar si MySQL Exporter se está ejecutando visitando:

curl http://:9104/metrics

para acceder a este archivo, por ejemplo, prometheus.yml use:
sudo nano /opt/containers/prometheus-grafana/prometheus/prometheus.yml

Agregar dentro de scrape_configs::


- job_name: 'mariadb-galera'
  static_configs:
    - targets: ['node1-ip:9104', 'node2-ip:9104', 'node3-ip:9104']


Por favor, indique la IP de los nodos de su base de datos

Luego, recarga Prometheus:

sudo systemctl recarga prometheus

Paso 5: visualizar en Grafana

Si está utilizando Grafana, puede importar paneles prediseñados para el monitoreo de MySQL/MariaDB. Un ID de panel popular para las métricas de MySQL/MariaDB es 7362.

Para importar:

  1. Abre Grafana.
  2. Navega a Paneles > Importar.
  3. Ingrese 7362 en el campo "Panel de control de Grafana.com", luego haga clic en Cargar.

¡Ahora deberías ver métricas detalladas de tus nodos de MariaDB Galera Cluster en tus paneles de Grafana!

Conclusión

Con MariaDB Exporter configurado en cada nodo de Galera Cluster, Prometheus ahora puede extraer y monitorear métricas clave de la base de datos. Esta configuración proporciona una mejor visión del estado y el rendimiento de su clúster, lo que facilita la resolución de problemas y la optimización según sea necesario.

No dudes en dejar cualquier pregunta o comentario a continuación si estás configurando algo similar o tienes alguna sugerencia. ¡Gracias por leer!

Declaración de liberación Este artículo se reproduce en: https://dev.to/alighaemia/how-to-set-up-mariadbmysql-exporter-on-galera-cluster-nodes-for-prometheus-monitoring-4b3l?1 Si hay alguna infracción , comuníquese con Study_golang @ 163.com eliminar
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3