30 lines
1.3 KiB
Text
30 lines
1.3 KiB
Text
|
|
#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}."
|