Monitoreo MySQL · 5 min read · Sep 15, 2025
Cómo Monitorear MySQL o MariaDB con Prometheus y Grafana

Para asegurar que el servidor MySQL/MariaDB esté funcionando correctamente, necesitas implementar monitoreo en tu infraestructura. Esto te permite optimizar el rendimiento, identificar problemas/cuellos de botella y asegurar que tu base de datos esté saludable. Con Prometheus y Grafana, puedes lograr esto y crear hermosos paneles de monitoreo para servidores MySQL.
En esta guía, aprenderás cómo monitorear servidores MySQL/MariaDB con Prometheus y Grafana. Configurarás ‘prometheus-mysqld-exporter’ para generar métricas y agregar el monitoreo de endpoint al servidor Prometheus. Después de eso, crearás un nuevo panel de Grafana para el monitoreo de MySQL.
Requisitos Previos
Para comenzar, asegúrate de tener lo siguiente:
- Un servidor MySQL/MariaDB instalado
- Un usuario no root con privilegios de administrador
- Prometheus y Grafana instalados en tu servidor
Configuración del usuario MySQL/MariaDB
Para monitorear el servidor MySQL/MariaDB, necesitas crear un nuevo usuario MySQL dedicado. Este usuario tendrá los privilegios mínimos, como PROCESS, REPLICATION CLIENT y SELECT en todas tus bases de datos.
En esta sección, estarás creando un nuevo usuario MySQL para monitorear tu servidor MySQL.
Inicia sesión en tu servidor MySQL/MariaDB con lo siguiente. Ingresa tu contraseña de ‘root‘ cuando se te solicite.
sudo mysql -u root -pAhora ejecuta las siguientes consultas para crear un nuevo usuario MySQL ‘prometheus‘ con la autenticación ‘unix_socket‘. Este usuario tendrá privilegios para ver procesos, clientes de replicación y seleccionar en todas las bases de datos en el servidor MySQL.
CREATE USER IF NOT EXISTS 'prometheus'@'localhost' IDENTIFIED WITH unix_socket;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'prometheus'@'localhost';
FLUSH PRIVILEGES;A continuación, ejecuta la consulta a continuación para verificar el usuario MySQL ‘prometheus@localhost‘. Verás al usuario ‘prometheus‘ con privilegios de SELECT, PROCESS y BINLOG MONITOR como cliente de replicación.
SHOW GRANTS FOR 'prometheus'@'localhost';Escribe ‘quit‘ para salir del servidor MySQL/MariaDB.

Instalando prometheus-mysqld-exporter
El ‘prometheus-mysqld-exporter‘ es un exportador para métricas de MySQL. Soporta MySQL >= 5.6 y MariaDB >= 10.3. Para usar el ‘prometheus-mysqld-exporter’, necesitas instalarlo en tu servidor MySQL.
En este ejemplo, el servidor MySQL está ejecutándose en el servidor Debian 12. Y por defecto, el ‘prometheus-mysqld-exporter’ está disponible en el repositorio oficial de Debian, así que lo instalaremos a través de APT. Si estás usando otra distribución, puedes descargarlo e instalarlo manualmente desde GitHub.
Primero, ejecuta el siguiente comando para actualizar tu índice de paquetes de Debian.
sudo apt update
Una vez que el repositorio esté actualizado, instala el paquete ‘prometheus-mysqld-exporter‘ con el siguiente comando. Ingresa ‘Y‘ para confirmar la instalación.
sudo apt install prometheus-mysqld-exporter
Después de que la instalación esté completa, ejecuta el comando ‘systemctl‘ a continuación para recargar el administrador de systemd.
sudo systemctl daemon-reloadLuego, puedes iniciar y habilitar el servicio ‘prometheus-mysqld-exporter‘ con el comando a continuación. Con esto, el servicio ‘prometheus-mysqld-exporter’ debería estar ejecutándose y habilitado en tu sistema.
sudo systemctl enable --now prometheus-mysqld-exporterAgregando el usuario MySQL al prometheus-mysqld-exporter
Ahora que has creado un usuario MySQL e instalado ‘prometheus-mysqld-exporter’. El siguiente paso es agregar tu MySQL a la configuración de ‘prometheus-mysqld-exporter’. Hacer esto te permite generar métricas de tu servidor MySQL y exponer el endpoint en el puerto predeterminado ‘9104’.
Abre el archivo ‘/etc/default/prometheus-mysqld-exporter‘ con el siguiente editor ‘nano‘.
sudo nano /etc/default/prometheus-mysqld-exporterDescomenta la variable de entorno ‘DATA_SOURCE_NAME‘ para integrar MySQL con el ‘prometheus-mysqld-exporter‘. En este ejemplo, el usuario MySQL ‘prometheus‘ se utilizará para monitorear el servidor MySQL a través del archivo ‘mysqld.sock‘.
DATA_SOURCE_NAME="prometheus@unix(/run/mysqld/mysqld.sock)/"Guarda el archivo y sal del editor.
Ahora ejecuta el comando ‘systemctl‘ a continuación para reiniciar el servicio ‘prometheus-mysqld-exporter‘ y aplicar tus cambios. Y luego, verifica su estado para asegurarte de que esté ejecutándose.
sudo systemctl restart prometheus-mysqld-exporter
sudo systemctl status prometheus-mysqld-exporterPuedes ver a continuación que el ‘prometheus-mysqld-exporter’ está en ejecución.

Por último, abre tu navegador web y visita http://192.168.10.41:9104/. Este es el endpoint predeterminado para el ‘prometheus-mysqld-exporter‘. Si tu configuración es exitosa, se generará una métrica y se mostrará como la siguiente:

Agregando el endpoint prometheus-mysqld-exporter al Prometheus
Ahora que la configuración del ‘prometheus-mysqld-exporter‘ está completa y la métrica se ha generado. Ahora necesitas agregar el ‘prometheus-mysqld-exporter‘ como un endpoint a tu servidor Prometheus. Para esta guía, el endpoint ‘prometheus-mysqld-exporter‘ está disponible en ‘192.168.10.41:9104‘.
Si no tienes un servidor Prometheus, instálalo a través de Cómo Instalar Prometheus y Node Exporter en Debian 12.
Muévete a tu servidor Prometheus y abre el archivo de configuración ‘/etc/prometheus/prometheus.yml‘ con el editor ‘nano’.
sudo nano /etc/prometheus/prometheus.ymlDentro de ‘scrape_configs‘, agrega el endpoint de tu ‘prometheus-mysqld-exporter‘ así. Para este ejemplo, el ‘prometheus-mysqld-exporter‘ está ejecutándose en el ‘server1‘ con la dirección IP y puerto ‘192.168.10.41:9104‘.
scrape_configs:
- job_name: server1
static_configs:
- targets: ['192.168.10.41:9104']
labels:
alias: db1Guarda el archivo y sal del editor cuando termines.
Ahora ejecuta el siguiente comando ‘systemctl‘ para reiniciar el servicio ‘prometheus‘ y aplicar tus cambios.
sudo systemctl restart prometheusPor último, abre el panel de tu servidor Prometheus y selecciona el menú ‘Status > Targets‘. Asegúrate de que puedas ver el ‘server1‘, que es el endpoint de tu monitoreo MySQL.
Configurando el Panel de Grafana para el servidor MySQL
Después de agregar el endpoint ‘prometheus-mysqld-exporter’ al servidor Prometheus, ahora estás listo para construir el panel de Grafana para el monitoreo del servidor MySQL. En esta sección, importarás el monitoreo del panel para MySQL a través de GrafanaLabs.
Si no tienes Grafana instalado, instálalo con Cómo Instalar Grafana y Prometheus en Ubuntu 24.04.
En tu panel de Grafana, haz clic en el menú ‘Dashboard > New > Import‘. Para este ejemplo, utilizaremos plantillas de Grafana de GrafanaLabs para monitorear el servidor MySQL.
Copia el número de ID de Grafana y pégalo, luego haz clic en ‘Load‘ para confirmar.

Ahora selecciona ‘Prometheus‘ como tu fuente de datos y haz clic en ‘Import‘.

Si es exitoso, verás el panel para tu monitoreo MySQL/MariaDB con Prometheus y Grafana.

Conclusión
¡Felicidades! Has completado el monitoreo del servidor MySQL/MariaDB con Prometheus y Grafana. Has monitoreado el servidor MySQL con el ‘prometheus-mysqld-exporter’ y generado métricas para MySQL. También has agregado el ‘prometheus-mysqld-exporter’ como un endpoint a tu servidor Prometheus. Por último, has creado un panel de Grafana para monitorear tu servidor MySQL.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.