⚠️ Annonce importante : ce service arrive en fin de vie

Après plus de 5 années d'existence, nous avons pris la difficile décision de mettre fin à ce service. Il restera accessible jusqu'au 31 décembre 2026 et sera définitivement fermé à compter du 1er janvier 2027.

Cette décision n'a pas été prise à la légère. Au fil des années, ce projet a évolué, tout comme nos priorités, notre disponibilité et les ressources nécessaires à son maintien. Aujourd'hui, nous ne sommes malheureusement plus en mesure de garantir le temps et l'investissement nécessaires pour continuer à faire vivre ce service dans de bonnes conditions.

Nous souhaitons adresser un immense merci à toutes les personnes qui ont participé à cette aventure. Merci à celles et ceux qui ont contribué au projet, signalé des problèmes, proposé des améliorations, partagé leurs idées ou simplement utilisé le service au quotidien. Votre confiance, vos retours et votre soutien nous ont permis de faire vivre ce projet pendant ces cinq dernières années.

Si ce service vous est indispensable, que ce soit dans un cadre personnel, associatif ou professionnel, nous vous invitons à nous en faire part. Écrivez-nous à contact@nudlle.com en nous expliquant comment vous utilisez le service et pourquoi il est important pour vous. Si plusieurs utilisateurs dépendent réellement de celui-ci, nous prendrons le temps d'étudier les différentes possibilités afin de trouver une solution adaptée.

Par ailleurs, si vous appréciez ce projet et souhaitez participer à son avenir, sachez que toute aide est la bienvenue. Nous recherchons des bénévoles prêts à consacrer un peu de leur temps au développement, à la maintenance, à la documentation ou à toute autre contribution permettant de faire évoluer le service.

Si un nombre suffisant de personnes souhaite s'impliquer durablement dans le projet, nous serons heureux de reconsidérer la fermeture et d'étudier la possibilité de poursuivre son développement sous une forme collaborative. N'hésitez donc pas à nous contacter si vous souhaitez contribuer.

Encore une fois, merci pour ces cinq belles années. Quelle que soit la suite de cette aventure, nous sommes fiers d'avoir pu aider autant de personnes grâce à ce service.

Passer au contenu principal

Installer mysqld_exporter

Pour superviser des bases de données il faut installer mysqld_exporter

Pour l'installer on télécharge la dernière version sur Github

cd /opt
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.0/mysqld_exporter-0.15.0.linux-amd64.tar.gz

Ceci est la dernière version quand j'écris. Le mieux est de regarder ici si une autre version existe. 

Ou pour télécharger la dernière version automatiquement

curl -s https://api.github.com/repos/prometheus/mysqld_exporter/releases/latest   | grep browser_download_url | grep linux-amd64 |  cut -d '"' -f 4 | wget -qi -

On extrait l'archive de mysqld_exporter

tar xvf mysqld_exporter-0.15.0.linux-amd64.tar.gz

On lui donne le droit de s'executer 

cd mysqld_exporter-0.15.0.linux-amd64
chmod +x mysqld_exporter

 On le met dans notre dossier Prometheus en créant aussi un dossier mysqld_exporter

mkdir /etc/prometheus/mysqld_exporter
mv mysqld_exporter /etc/prometheus/mysqld_exporter/

Dans notre serveur de base de données on créer simplement un utilisateur pour mysqld_exporter

CREATE USER 'mysqld_exporter'@'localhost' IDENTIFIED BY 'StrongPassword' WITH MAX_USER_CONNECTIONS 2;
GRANT PROCESS, SUPER, REPLICATION CLIENT, SELECT ON *.* TO 'mysqld_exporter'@'localhost';
FLUSH PRIVILEGES;
EXIT

On configure maintenant ces access dans un fichier caché

/etc/.mysqld_exporter.cnf

[client]
user=mysqld_exporter
password=StrongPassword

On lui applique ensuite le droit root et prometheus

chown root:prometheus /etc/.mysqld_exporter.cnf

On applique les droits sur le dossier mysqld_exporter 

chown -R prometheus:prometheus /etc/prometheus/mysqld_exporter/

 

On créer un service pour systemd

nano /etc/systemd/system/mysqld_exporter.service


[Unit]
Description=Prometheus MySQL Exporter
After=network.target
User=prometheus
Group=prometheus

[Service]
Type=simple
Restart=always
ExecStart=/etc/prometheus/mysqld_exporter/mysqld_exporter \
--config.my-cnf /etc/.mysqld_exporter.cnf \
--collect.global_status \
--collect.info_schema.innodb_metrics \
--collect.auto_increment.columns \
--collect.info_schema.processlist \
--collect.binlog_size \
--collect.info_schema.tablestats \
--collect.global_variables \
--collect.info_schema.query_response_time \
--collect.info_schema.userstats \
--collect.info_schema.tables \
--collect.perf_schema.tablelocks \
--collect.perf_schema.file_events \
--collect.perf_schema.eventswaits \
--collect.perf_schema.indexiowaits \
--collect.perf_schema.tableiowaits \
--collect.slave_status \
--web.listen-address=0.0.0.0:9104

[Install]
WantedBy=multi-user.target

On recharge le daemon de systemd et on lance mysqld_exporter et on l'active au démarrage

systemctl daemon-reload
systemctl enable --now mysqld_exporter

On ouvre le port 9104 avec ufw

ufw allow 9104
ufw reload

Dans notre prometheus on modifie notre configuration pour ajouter notre serveur de base de données.

 nano /etc/prometheus/prometheus.yml
  
  
  - job_name: 'mariadb-mysqld'
    static_configs:
      - targets: ['Localhost/IP:9104']
        labels:
          alias: db1

On redémarre notre prometheus et on devrait voir arriver nos metrics de base de données