Table des matières
Prometheus
- Monitoring with Prometheus Grafana Tutorial (with Mysql exported)
- Monitoring Exim (Exim4) with grok_exporter. The grok_exporter aims at porting Grok from the ELK stack to Prometheus monitoring. The goal is to use Grok patterns for extracting Prometheus metrics from arbitrary log files.
- blackbox_exporter The blackbox exporter allows blackbox probing of endpoints over HTTP, HTTPS, DNS, TCP and ICMP.
- Articles du lead developper
Prometheus differs from Grafana Loki by focusing on metrics instead of logs, and delivering logs via pull, instead of push.
prometheus-node-exporter
Désactiver les services inutiles sur des VM cloud :
sudo systemctl disable --now prometheus-node-exporter-smartmon.timer sudo systemctl disable --now prometheus-node-exporter-nvme.timer sudo systemctl disable --now prometheus-node-exporter-ipmitool-sensor.timer sudo systemctl disable --now prometheus-node-exporter-mellanox-hca-temp.timer
Purger le dossier /var/lib/prometheus/node-exporter/ des fichiers .prom de ces services. À priori il ne devrait rester que le apt.prom.
Exemple de configuration /etc/default/prometheus-node-exporter sur VM public cloud.
📢 Attention, selon les versions de l'exporter des –no-collector.xyz peuvent être inconnus et bloquer son démarrage, bien consulter le systemd journal pour les erreurs.
# Le filtre `--collector.systemd.unit-include` est important : # passe de ~550-600 (~115 units x 5) à 25 (5 units x 5 status) # et 15 ms vs 157 ms (divise par 10 le coût du scrape systemd) # À adapter selon les services à surveiller # ARGS="--web.listen-address=127.0.0.1:9100 \ --collector.diskstats.ignored-devices=\"^(ram|loop|fd|sr|(h|s|v|xv)d[a-z]|nvme\\\\d+n\\\\d+p)\\\\d+$\" \ --collector.systemd.unit-include=\"^((postfix|nginx|php.*fpm|mariadb|ssh|prometheus-*-exporter|wg-quick@.+)[.]service)$\" \ --no-collector.bcache \ --no-collector.btrfs \ --no-collector.bonding \ --no-collector.dmi \ --no-collector.drbd \ --no-collector.edac \ --no-collector.fibrechannel \ --no-collector.hwmon \ --no-collector.infiniband \ --no-collector.mdadm \ --no-collector.nfs \ --no-collector.nfsd \ --no-collector.powersupplyclass \ --no-collector.rapl \ --no-collector.tapestats \ --no-collector.thermal_zone \ --no-collector.xfs \ --no-collector.zfs \ --no-collector.wifi \ --no-collector.ipvs \ --no-collector.cpufreq \ --no-collector.entropy \ --no-collector.nvme \ --no-collector.selinux "
prometheus-postfix-exporter
ATTENTION: la version .deb fourni avec Debian 13 est buggée avec la lecture de journald, tous les logs ne sont pas captés kumina/postfix_exporter#55. Debian sid semble changer pour Hsn723/postfix_exporter, à confirmer … Ubuntu 26 utilise bien “Hsn723/postfix_exporter”
Après installation vérifier :
- dans le groupe
systemd-journal- avec
$ sudo grep ^Groups /proc/$(pidof prometheus-postfix-exporter)/status
- vérifier l'unité systemd
- dans
EnvironmentFile:ARGS='–systemd.unit=postfix@-.service'
Installer “Hsn723/postfix_exporter” par dessus le .deb de “kumina/postfix_exporter” pour bénéficier de l'unité systemd, l'utilisateur prometheus, les SupplementaryGroups (systemd-journal + postdrop) et le fichier d'environnement. Utiliser dpkg-divert sur /usr/bin/prometheus-postfix-exporter pour que les mises à jour du paquet n'écrasent pas le remplacement.
# Récup du binaire wget https://github.com/Hsn723/postfix_exporter/releases/download/v0.21.2/postfix_exporter_systemd_0.21.2_linux_amd64.tar.gz # décompression qui donne le seul fichier `postfix_exporter` tar zxf postfix_exporter_systemd_0.21.2_linux_amd64.tar.gz # stop le service sudo systemctl stop prometheus-postfix-exporter.service # Diversion dpkg sudo dpkg-divert --add --rename --divert /usr/bin/prometheus-postfix-exporter.distrib /usr/bin/prometheus-postfix-exporter Adding 'local diversion of /usr/bin/prometheus-postfix-exporter to /usr/bin/prometheus-postfix-exporter.distrib' # vérif diversion $ dpkg-divert --list | grep postfix local diversion of /usr/bin/prometheus-postfix-exporter to /usr/bin/prometheus-postfix-exporter.distrib # install le nouveau binaire sudo install -o root -g root -m 0755 postfix_exporter /usr/bin/prometheus-postfix-exporter # restart le service sudo systemctl start prometheus-postfix-exporter.service
Attention au nom des services dans journald:
Par défaut il cherche postfix/smtpd mais il peut y avoir postfix/smtps/smtpd
- ajouter 2 fois option
–postfix.${SERVICE_TYPE}_service_label=*
# Extra arguments for the daemon. ARGS="--systemd.unit=postfix@-.service \ --web.listen-address=127.0.0.1:9154 \ --postfix.smtpd_service_label=smtpd \ --postfix.smtpd_service_label=smtps/smtpd "
