Base de données · 5 min read · Sep 15, 2025

Comment surveiller MySQL ou MariaDB avec Prometheus et Grafana

Pour garantir que le serveur MySQL/MariaDB fonctionne correctement, vous devez mettre en œuvre une surveillance sur votre infrastructure. Cela vous permet d’optimiser les performances, d’identifier les problèmes/goulots d’étranglement et de vous assurer que votre base de données est en bonne santé. Avec Prometheus et Grafana, vous pouvez atteindre ces objectifs et créer de beaux tableaux de bord de surveillance pour les serveurs MySQL.

Dans ce guide, vous apprendrez à surveiller les serveurs MySQL/MariaDB avec Prometheus et Grafana. Vous configurerez ‘prometheus-mysqld-exporter’ pour générer des métriques et ajouter la surveillance des points de terminaison au serveur Prometheus. Ensuite, vous créerez un nouveau tableau de bord Grafana pour la surveillance de MySQL.

Prérequis

Pour commencer, assurez-vous d’avoir les éléments suivants :

  • Un serveur MySQL/MariaDB installé
  • Un utilisateur non-root avec des privilèges d’administrateur
  • Prometheus et Grafana installés sur votre serveur

Configuration de l’utilisateur MySQL/MariaDB

Pour surveiller le serveur MySQL/MariaDB, vous devez créer un nouvel utilisateur MySQL dédié. Cet utilisateur aura les privilèges les plus bas, tels que PROCESS, REPLICATION CLIENT et SELECT sur toutes vos bases de données.

Dans cette section, vous allez créer un nouvel utilisateur MySQL pour surveiller votre serveur MySQL.

Connectez-vous à votre serveur MySQL/MariaDB avec ce qui suit. Entrez votre mot de passe ‘ root ‘ lorsque vous y êtes invité.

sudo mysql -u root -p

Exécutez maintenant les requêtes suivantes pour créer un nouvel utilisateur MySQL ‘ prometheus ‘ avec l’authentification ‘ unix_socket ‘. Cet utilisateur aura des privilèges pour voir processus, clients de réplication et sélectionner dans toutes les bases de données du serveur MySQL.

CREATE USER IF NOT EXISTS 'prometheus'@'localhost' IDENTIFIED WITH unix_socket;  
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'prometheus'@'localhost';  
FLUSH PRIVILEGES;

Ensuite, exécutez la requête ci-dessous pour vérifier l’utilisateur MySQL ‘ prometheus@localhost ‘. Vous verrez l’utilisateur ‘ prometheus ‘ avec des privilèges de SELECT, PROCESS et BINLOG MONITOR en tant que client de réplication.

SHOW GRANTS FOR 'prometheus'@'localhost';

Tapez ‘ quit ‘ pour quitter le serveur MySQL/MariaDB.

check mysql user

Installation de prometheus-mysqld-exporter

Le ‘ prometheus-mysqld-exporter ‘ est un exportateur pour les métriques MySQL. Il prend en charge MySQL >= 5.6 et MariaDB >= 10.3. Pour utiliser le ‘prometheus-mysqld-exporter’, vous devez l’installer sur votre serveur MySQL.

Dans cet exemple, le serveur MySQL fonctionne sur le serveur Debian 12. Et par défaut, le ‘prometheus-mysqld-exporter’ est disponible dans le dépôt officiel de Debian, donc nous allons l’installer via APT. Si vous utilisez une autre distribution, vous pouvez le télécharger et l’installer manuellement depuis GitHub.

Tout d’abord, exécutez la commande ci-dessous pour mettre à jour votre index de paquets Debian.

sudo apt update

update repo

Une fois le dépôt mis à jour, installez le paquet ‘ prometheus-mysqld-exporter ‘ avec la commande suivante. Entrez ‘ Y ‘ pour confirmer l’installation.

sudo apt install prometheus-mysqld-exporter

install prometheus-mysqld-exporter

Après l’installation, exécutez la commande ‘ systemctl ‘ ci-dessous pour recharger le gestionnaire systemd.

sudo systemctl daemon-reload

Ensuite, vous pouvez démarrer et activer le service ‘ prometheus-mysqld-exporter ‘ avec la commande ci-dessous. Avec cela, le service ‘prometheus-mysqld-exporter’ devrait être en cours d’exécution et activé sur votre système.

sudo systemctl enable --now prometheus-mysqld-exporter

Ajout de l’utilisateur MySQL au prometheus-mysqld-exporter

Maintenant que vous avez créé un utilisateur MySQL et installé ‘prometheus-mysqld-exporter’. L’étape suivante consiste à ajouter votre MySQL à la configuration de ‘prometheus-mysqld-exporter’. Cela vous permet de générer des métriques de votre serveur MySQL et d’exposer le point de terminaison sur le port par défaut ‘9104’.

Ouvrez le fichier ‘ /etc/default/prometheus-mysqld-exporter ‘ avec l’éditeur ‘ nano ‘.

sudo nano /etc/default/prometheus-mysqld-exporter

Décommentez la variable d’environnement ‘ DATA_SOURCE_NAME ‘ pour intégrer MySQL avec le ‘ prometheus-mysqld-exporter ‘. Dans cet exemple, l’utilisateur MySQL ‘ prometheus ‘ sera utilisé pour surveiller le serveur MySQL via le fichier ‘ mysqld.sock ‘.

DATA_SOURCE_NAME="prometheus@unix(/run/mysqld/mysqld.sock)/"

Enregistrez le fichier et quittez l’éditeur.

Exécutez maintenant la commande ‘ systemctl ‘ ci-dessous pour redémarrer le service ‘ prometheus-mysqld-exporter ‘ et appliquer vos modifications. Ensuite, vérifiez son statut pour vous assurer qu’il fonctionne.

sudo systemctl restart prometheus-mysqld-exporter  
sudo systemctl status prometheus-mysqld-exporter

Vous pouvez voir ci-dessous que le ‘prometheus-mysqld-exporter’ est en cours d’exécution.

setup prometheus-mysql-exporter

Enfin, ouvrez votre navigateur web et visitez http://192.168.10.41:9104/. C’est le point de terminaison par défaut pour le ‘ prometheus-mysqld-exporter ‘. Si votre configuration est réussie, une métrique sera générée et affichée comme suit :

generated metric

Ajout du point de terminaison prometheus-mysqld-exporter au Prometheus

Maintenant que la configuration de ‘ prometheus-mysqld-exporter ‘ est complète et que la métrique est générée. Vous devez maintenant ajouter le ‘ prometheus-mysqld-exporter ‘ en tant que point de terminaison à votre serveur Prometheus. Pour ce guide, le point de terminaison ‘ prometheus-mysqld-exporter ‘ est disponible à ‘ 192.168.10.41:9104 ‘.

Si vous n’avez pas de serveur Prometheus, installez-le via Comment installer Prometheus et Node Exporter sur Debian 12.

Déplacez-vous vers votre serveur Prometheus et ouvrez le fichier de configuration ‘ /etc/prometheus/prometheus.yml ‘ avec l’éditeur ‘nano’.

sudo nano /etc/prometheus/prometheus.yml

Dans le ‘ scrape_configs ‘, ajoutez le point de terminaison de votre ‘ prometheus-mysqld-exporter ‘ comme ceci. Pour cet exemple, le ‘ prometheus-mysqld-exporter ‘ fonctionne sur le ‘ server1 ‘ avec l’adresse IP et le port ‘ 192.168.10.41:9104 ‘.

scrape_configs:  
  
- job_name: server1  
  static_configs:  
  - targets: ['192.168.10.41:9104']  
    labels:  
      alias: db1

Enregistrez le fichier et quittez l’éditeur une fois terminé.

Exécutez maintenant la commande ‘ systemctl ‘ suivante pour redémarrer le service ‘ prometheus ‘ et appliquer vos modifications.

sudo systemctl restart prometheus

Enfin, ouvrez le tableau de bord de votre serveur Prometheus et sélectionnez le menu ‘ Status > Targets ‘. Assurez-vous de voir le ‘ server1 ‘, qui est le point de terminaison de votre surveillance MySQL.

Configuration du tableau de bord Grafana pour le serveur MySQL

Après avoir ajouté le point de terminaison ‘prometheus-mysqld-exporter’ au serveur Prometheus, vous êtes maintenant prêt à construire le tableau de bord Grafana pour la surveillance du serveur MySQL. Dans cette section, vous importerez le tableau de bord de surveillance pour MySQL via GrafanaLabs.

Si vous n’avez pas Grafana installé, installez-le avec Comment installer Grafana et Prometheus sur Ubuntu 24.04.

Sur votre tableau de bord Grafana, cliquez sur le menu ‘ Dashboard > New > Import ‘. Pour cet exemple, nous utiliserons des modèles Grafana de GrafanaLabs pour surveiller le serveur MySQL.

Copiez le numéro d’identification Grafana et collez-le, puis cliquez sur ‘ Load ‘ pour confirmer.

import dashboard

Sélectionnez maintenant ‘ Prometheus ‘ comme source de données et cliquez sur ‘ Import ‘.

import dashboard

Si cela réussit, vous verrez le tableau de bord pour votre surveillance MySQL/MariaDB avec Prometheus et Grafana.

mysql monitoring dashboard

Conclusion

Félicitations ! Vous avez terminé la surveillance du serveur MySQL/MariaDB avec Prometheus et Grafana. Vous avez surveillé le serveur MySQL avec le ‘prometheus-mysqld-exporter’ et généré des métriques pour MySQL. Vous avez également ajouté le ‘prometheus-mysqld-exporter’ en tant que point de terminaison à votre serveur Prometheus. Enfin, vous avez créé un tableau de bord Grafana pour surveiller votre serveur MySQL.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.