Outils pour utilisateurs

Outils du site


informatique:system_admin:prometheus

Prometheus

http://Prometheus.io

  • 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
"
informatique/system_admin/prometheus.txt · Dernière modification : de cyrille

Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki