#!/bin/bash # GENERE par Set-OPS (role serveur_openldap). Ne pas editer a la main. # # SONDE « annuaire » — l'annuaire repond ET contient ses entrees # # Contrat : docs/supervision-conception.md (API des greffons Nagios) — une ligne, 0/1/2. # Mise en defaut PAR PARAMETRE : `serveur_openldap_sonde_minimum` (seuil impossible). set -uo pipefail BASE={{ serveur_openldap_sonde_base }} MINIMUM={{ serveur_openldap_sonde_minimum }} systemctl is-active --quiet slapd || { echo "L'annuaire (slapd) n'est pas actif."; exit 2; } # ON COMPTE LES ENTREES, ON NE SE CONTENTE PAS D'UNE REPONSE. Un annuaire vide repond # `success` a tout — c'est exactement le mensonge des sauvegardes vides : vert, et sans # contenu. Sans ce comptage, la sonde dirait « tout va bien » sur un annuaire efface. n=$(ldapsearch -x -H ldapi:/// -b "${BASE}" -s sub '(objectClass=*)' dn 2>/dev/null | grep -c '^dn:') [[ "${n}" =~ ^[0-9]+$ ]] || { echo "L'annuaire ne repond pas sous ${BASE}."; exit 2; } if (( n < MINIMUM )); then echo "Annuaire a ${n} entree(s) sous ${BASE}, moins que le minimum attendu (${MINIMUM}) — plus personne ne s'authentifiera.|entrees=${n};${MINIMUM};;0;" exit 2 fi echo "Annuaire : ${n} entree(s) sous ${BASE}.|entrees=${n};${MINIMUM};;0;"