¡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:
Nota: Ya puede utilizar las máquinas de Prometheus Grafana en el mercado de su proveedor de servidor en la nube. Hetzner, Digitalocean
En cada nodo de Galera, necesitamos instalar MySQL Exporter, que recopila métricas y las expone para Prometheus. Así es como puedes hacerlo:
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-amd64.tar.gz
tar xvfz mysqld_exporter-0.15.1.linux-amd64.tar.gz
sudo cp mysqld_exporter-0.15.1.linux-amd64/mysqld_exporter /usr/local/bin/
sudo useradd -rs /bin/false mysqld_exporter
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;
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
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://
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
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:
¡Ahora deberías ver métricas detalladas de tus nodos de MariaDB Galera Cluster en tus paneles de Grafana!
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!
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