"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment configurer l'exportateur MariaDB/MySQL sur les nœuds du cluster Galera pour la surveillance Prometheus

Comment configurer l'exportateur MariaDB/MySQL sur les nœuds du cluster Galera pour la surveillance Prometheus

Publié le 2024-11-08
Parcourir:463

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

Bonjour, communauté dev.to ! ?

Dans cet article, je vais vous expliquer les étapes que j'ai suivies pour configurer l'exportateur MariaDB/MySQL sur les nœuds du cluster Galera pour la surveillance avec Prometheus. Dans mon cas, j'exécute un MariaDB Galera Cluster sur mon fournisseur de serveur cloud avec trois nœuds et j'utilise Prometheus Grafana pour surveiller ma configuration. Les outils de configuration et de surveillance du cluster Galera ont été incroyablement utiles, mais obtenir les bonnes métriques de MariaDB n'a pas été simple, j'ai donc décidé de documenter ma solution.

Pour surveiller les métriques MariaDB et Galera Cluster telles que le nombre de requêtes par seconde, les connexions, l'état de réplication, etc., vous devez utiliser un exportateur MySQL en combinaison avec Prometheus. Cet exportateur exposera des métriques spécifiques à la base de données, notamment les statistiques Galera et MariaDB.

Étapes pour configurer l'exportateur MariaDB/MySQL sur les nœuds du cluster Galera :

Conditions préalables

  • Un Cluster MariaDB Galera avec plusieurs nœuds.
  • Un serveur Prometheus opérationnel.
  • Grafana pour visualiser les métriques (facultatif mais recommandé).
  • Accès aux nœuds pour installer l'exportateur.

Remarque : Vous pouvez déjà utiliser les machines de Prometheus Grafana sur la place de marché de votre fournisseur de serveur cloud. Hetzner, Océan numérique

Étape 1 : Installer l'exportateur MySQL/MariaDB

Sur chaque nœud Galera, nous devons installer l'exportateur MySQL, qui collecte les métriques et les expose pour Prometheus. Voici comment procéder :

Téléchargez et installez l'exportateur à partir de la source officielle

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

Extraire les fichiers

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

Déplacer le binaire vers un chemin système

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

Ajouter un utilisateur système pour l'exportateur

sudo useradd -rs /bin/false mysqld_exporter

Étape 2 : Configurer l'exportateur avec les informations d'identification MySQL/MariaDB

L'exportateur doit accéder aux métriques MariaDB. Créez un fichier .my.cnf dans le répertoire personnel de l'exportateur pour stocker les informations d'identification de connexion :

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

Ajoutez ce qui suit au fichier :


[client]
user=exporter
password=yourpassword


Assurez-vous que l'utilisateur dispose des autorisations appropriées pour accéder aux métriques nécessaires :

pour y accéder, utilisez mysql -u root ou mariadb -u root

CRÉER UN UTILISATEUR 'exportateur'@'localhost' IDENTIFIÉ PAR 'votre mot de passe';
PROCESSUS D'OCTROI, CLIENT DE RÉPLICATION, SÉLECTIONNEZ SUR *.* TO 'exporter'@'localhost';
PRIVILÈGES FLUSH;

Étape 3 : configurer l'exportateur en tant que service

Pour garantir que l'exportateur MySQL démarre au démarrage, configurons-le en tant que service systemd :

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

Ajoutez le contenu suivant au fichier :


[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


Enregistrez le fichier et rechargez systemd :

sudo systemctl démon-reload
sudo systemctl start mysqld_exporter
sudo systemctl activer mysqld_exporter

Étape 4 : Ajouter des cibles d'exportateur à Prometheus

Ensuite, mettez à jour votre configuration Prometheus pour récupérer les métriques des nœuds. Ajoutez ce qui suit à votre fichier prometheus.yml :

Avant cela, vous pouvez vérifier si MySQL Exporter est en cours d'exécution en visitant :

curl http://:9104/metrics

pour accéder à ce fichier, par exemple prometheus.yml, utilisez :
sudo nano /opt/containers/prometheus-grafana/prometheus/prometheus.yml

Ajouter à l'intérieur de scrape_configs ::


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


rappelez-vous l'adresse IP de vos nœuds de base de données

Ensuite, rechargez Prometheus :

sudo systemctl recharger prometheus

Étape 5 : Visualiser dans Grafana

Si vous utilisez Grafana, vous pouvez importer des tableaux de bord prédéfinis pour la surveillance MySQL/MariaDB. Un ID de tableau de bord populaire pour les métriques MySQL/MariaDB est 7362.

Pour importer :

  1. Ouvrez Grafana.
  2. Accédez à Tableaux de bord > Importer.
  3. Entrez 7362 dans le champ « Tableau de bord Grafana.com », puis cliquez sur Charger.

Vous devriez maintenant voir les métriques détaillées de vos nœuds MariaDB Galera Cluster dans vos tableaux de bord Grafana !

Conclusion

Avec l'exportateur MariaDB configuré sur chaque nœud du cluster Galera, Prometheus peut désormais récupérer et surveiller les métriques clés de la base de données. Cette configuration fournit un meilleur aperçu de l'état et des performances de votre cluster, ce qui facilite le dépannage et l'optimisation selon les besoins.

N'hésitez pas à laisser des questions ou des commentaires ci-dessous si vous configurez quelque chose de similaire ou si vous avez des suggestions. Merci d'avoir lu !

Déclaration de sortie Cet article est reproduit sur : https://dev.to/alighaemia/how-to-set-up-mariadbmysql-exporter-on-galera-cluster-nodes-for-prometheus-monitoring-4b3l?1 En cas de violation , veuillez contacter study_golang @163.comdelete
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3