#!/bin/bash # GENERE par Set-OPS (role serveur_postfix). Ne pas editer a la main. # # SONDE « file-courriel » — la file d'attente ne s'accumule pas # # Contrat : docs/supervision-conception.md (API des greffons Nagios) — une ligne, 0/1/2. # Mise en defaut PAR PARAMETRE : `serveur_postfix_sonde_avert` / `_crit` (seuils impossibles). set -uo pipefail AVERT={{ serveur_postfix_sonde_avert }} CRIT={{ serveur_postfix_sonde_crit }} systemctl is-active --quiet postfix || { echo "Postfix n'est pas actif."; exit 2; } # `mailq` PLUTOT QUE LE COMPTE DE FICHIERS : la file vit dans plusieurs repertoires # (incoming, active, deferred, hold) et seul Postfix sait ce qu'il compte comme en # attente. Un `find` sur `/var/spool` donnerait un chiffre plausible et faux. n=$(mailq 2>/dev/null | grep -cE '^[0-9A-F]{6,}' || true) diff=$(mailq 2>/dev/null | grep -cE '^[0-9A-F]+\*?[[:space:]]' || true) if (( n >= CRIT )); then echo "File de courriel : ${n} message(s) en attente — la remise ne se fait plus.|file=${n};${AVERT};${CRIT};0;" exit 2 fi if (( n >= AVERT )); then echo "File de courriel : ${n} message(s) en attente (seuil ${AVERT}).|file=${n};${AVERT};${CRIT};0;" exit 1 fi echo "File de courriel : ${n} message(s) en attente.|file=${n};${AVERT};${CRIT};0;"