/* * Gere par Set-OPS (role serveur_icinga). Ne pas editer a la main. * * Supervision des sauvegardes. Le controle ne porte PAS sur l'unite systemd du noeud * source : une unite verte sur un depot vide est exactement ce qui a menti pendant un * mois (2026-07-03 -> 2026-08-11). Il porte sur la VERITE DE TERRAIN, cote depot : * l'instantane du noeud existe-t-il, est-il RECENT, et n'est-il pas VIDE. * * Les HOTES sont definis ailleurs (`setops-hotes.conf`) depuis le 2026-09-09 : deux * fichiers qui definissent le meme `object Host` font rejeter TOUTE la configuration. * Ce fichier n'attache que des services. * * Les resultats sont POUSSES par `backup-01`, qui est le seul a pouvoir lire ses depots. * Le `ttl` porte dans chaque envoi fait la fraicheur : sans nouvelle, Icinga bascule tout * seul en « expire ». C'est le SILENCE qui doit alerter, pas seulement l'echec — le * silence est precisement ce qui n'a alerte personne. */ object CheckCommand "setops-passif" { // Les resultats arrivent par l'API ; cette commande n'est jamais executee. command = [ "/bin/true" ] } {% if serveur_icinga_hote_sauvegarde %} {# L'ECOSYSTEME A SON PROPRE DEPOT : c'est LUI qui rapporte, parce qu'il est le seul a voir ce qui est reellement arrive. Les services s'attachent donc a son hote. #} {% for noeud in serveur_icinga_sauvegarde_attendue | sort %} object Service "sauvegarde: {{ noeud }}" { host_name = "{{ serveur_icinga_hote_sauvegarde }}" check_command = "setops-passif" enable_active_checks = false enable_passive_checks = true volatile = false max_check_attempts = 1 vars.setops_source = "{{ noeud }}" } {% endfor %} {% else %} {# AUCUN DEPOT DANS CET ECOSYSTEME — le cas normal depuis qu'ils deposent chez leur HEBERGEUR (2026-09-02). Le site heberge des octets chiffres COTE CLIENT : il ne peut ni les lire, ni dire s'ils valent quelque chose. La verification revient donc au seul qui detient la cle, le NOEUD lui-meme — et le service s'attache a lui, ce qui est d'ailleurs plus juste : la sauvegarde de `idm-01` est un attribut de `idm-01`, pas d'une machine tierce. Le service n'est plus nomme « sauvegarde: » mais simplement « sauvegarde » : le nom du noeud est desormais porte par l'hote. Repeter le nom dans le service donnerait « idm-01 / sauvegarde: idm-01 ». #} {% for noeud in serveur_icinga_sauvegarde_attendue | sort %} object Service "sauvegarde" { host_name = "{{ noeud }}" check_command = "setops-passif" enable_active_checks = false enable_passive_checks = true volatile = false max_check_attempts = 1 vars.setops_source = "{{ noeud }}" } {% endfor %} {% endif %}