#jinja2: comment_start_string:'{=#', comment_end_string:'#=}' #!/bin/bash # GENERE par Set-OPS (role serveur_nginx). Ne pas editer a la main. # # SONDE « edge » — l'edge ecoute et sa configuration tient au prochain demarrage # # Contrat : docs/supervision-conception.md (API des greffons Nagios) — une ligne, 0/1/2. # Mise en defaut PAR PARAMETRE : `serveur_nginx_sonde_ports` (port qui n'ecoute pas). set -uo pipefail PORTS="{{ serveur_nginx_sonde_ports }}" systemctl is-active --quiet nginx || { echo "L'edge (nginx) n'est pas actif."; exit 2; } # LA CONFIGURATION SUR DISQUE, PAS SEULEMENT CELLE EN MEMOIRE. nginx garde la derniere # configuration VALIDE et continue de servir ; une configuration cassee ne se voit qu'au # prochain redemarrage — c'est-a-dire au pire moment, souvent des mois plus tard. nginx -t >/dev/null 2>&1 \ || { echo "L'edge sert, mais sa configuration sur disque est INVALIDE : le prochain demarrage echouera."; exit 2; } manquants=() for p in ${PORTS}; do ss -ltn 2>/dev/null | grep -qE "[:.]${p}[[:space:]]" || manquants+=("${p}") done if (( ${#manquants[@]} > 0 )); then echo "L'edge n'ecoute pas sur : ${manquants[*]} — ce qui est publie derriere est injoignable." exit 2 fi echo "Edge : configuration valide, ecoute sur ${PORTS}."