LE CONSTAT. 39 roles declarent leurs flux, 32 leur empreinte, 32 leur authentification — tous derives. Et 19 groupes sur 19 declaraient une surveillance en prose que RIEN n executait ; Icinga en surveillait deux. La carte disait ce qui etait surveille, et personne ne surveillait. LE MECANISME. Un role declare ses sondes dans meta/supervision.yml et depose lui-meme son script dans /usr/local/lib/setops/sondes/. Le porteur client_sante les fait toutes tourner et pousse un resultat passif par sonde, sans savoir ce qu elles mesurent. serveur_icinga derive les objets Service ET le filtre de permission d API des memes declarations. Ajouter une sonde ne demande de toucher ni au porteur ni a Icinga. PREMIERE SONDE : client_pki/certificat. Heures restantes sur le certificat reellement pose, chaine verifiee, et empreinte SERVIE comparee au disque quand un service le consomme. 14/14 au tenant, 7/7 au site. QUATRE OBSTACLES, ET TROIS SONT LA MEME LECON. La sonde a rendu 14/14 en CRITIQUE sur une PKI saine : openssl verify -CAfile racine ne trouve pas l intermediaire qui signe nos certificats. step certificate verify, lui, repond VALIDE. Deployee au site, elle a rendu 5/7 : le seuil d avertissement (12 h) etait AU-DESSUS du point de renouvellement (8 h, le tiers restant). Elle criait avant que le mecanisme ne soit cense agir. Seuils ramenes a 6 h et 3 h. Un seuil se DERIVE du moment ou le mecanisme surveille agit. Une alarme toujours allumee ne vaut pas mieux qu une alarme jamais allumee : elle apprend a ne plus regarder. Une sonde se prouve DEUX FOIS, verte sur le sain et rouge sur le casse. Le filtre d API etait ecrit avant la lecture des declarations : les services auraient existe et Icinga aurait refuse leurs resultats. Et mon controle negatif a casse un service reel : substituer le certificat d hote a fait propager un cert sans sa clef vers node_exporter. Un controle negatif se fait sur une COPIE. P64 tient les deux bouts : declaree sans etre deposee, ou deposee sans etre declaree. Trois controles negatifs rejoues. make prouver : CONFORME, 64 OK, 0 echec, 0 saute. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
38 lines
2 KiB
YAML
38 lines
2 KiB
YAML
---
|
|
# A QUI L'ON RAPPORTE — derive du groupe, jamais ecrit en dur. Vide = pas de supervision
|
|
# dans cet ecosysteme, et le role ne pose alors ni script ni minuteur : un timer qui
|
|
# echoue chaque heure apprend a ignorer le rouge.
|
|
client_sante_icinga_hote: "{{ (groups['serveur_icinga'] | default([]) | first) | default('') }}"
|
|
|
|
# LE MEME COMPTE D'API QUE LE RAPPORT DE SAUVEGARDE, et c'est un choix.
|
|
#
|
|
# Un second compte serait plus pur — un secret par usage. Il exigerait une CLEF DE VOUTE
|
|
# DE PLUS dans chaque ecosysteme, donc un geste manuel a chaque nouvel ecosysteme, pour
|
|
# une portee identique : ce compte ne peut deja QUE poser un resultat passif, et
|
|
# seulement sur des services nommes. On elargit le filtre de deux noms a trois, on ne
|
|
# donne aucun pouvoir nouveau.
|
|
client_sante_icinga_utilisateur: "setops-depot"
|
|
client_sante_icinga_motdepasse: "{{ vault_icinga_api_depot | default('') }}"
|
|
client_sante_ca_verification: "/etc/setops/icinga-ca.crt"
|
|
client_sante_icinga_ca_source: "/var/lib/icinga2/ca/ca.crt"
|
|
|
|
# `ttl` du resultat passif. AU-DELA, ICINGA PERIME LE SERVICE DE LUI-MEME — c'est ce qui
|
|
# fait que le SILENCE alerte, et pas seulement l'echec. Un noeud eteint, un timer casse,
|
|
# un reseau coupe : trois facons de ne plus rien dire, et les trois doivent se voir.
|
|
#
|
|
# Trois fois la periode : deux passages peuvent manquer sans crier au loup.
|
|
client_sante_periode: "15min"
|
|
client_sante_ttl_icinga: 2700
|
|
|
|
# UNITES TOLEREES — nommees, jamais un motif large.
|
|
#
|
|
# Vide par defaut, et c'est le bon defaut : une unite en echec permanent use le seul
|
|
# signal qui devrait alerter. Le jour ou une VRAIE unite tombe, le compte passe de 1 a 2
|
|
# et personne ne fait la difference. Si une unite doit etre toleree, elle est ECRITE ICI,
|
|
# avec sa raison — pas absorbee par un filtre qui en cacherait d'autres.
|
|
client_sante_unites_tolerees: []
|
|
|
|
# `ttl` des sondes de ROLE. Plus long que celui de `sante` : une sonde de role peut etre
|
|
# plus lente (une poignee TLS, une requete), et on ne veut pas qu'un hoquet la perime.
|
|
# Six passages du porteur.
|
|
client_sante_ttl_sondes: 5400
|