La revision a commence par un balayage par motifs — chemins morts, cibles make absentes, comptes derives. Il a trouve une trentaine d ecarts et rate presque tout le reste : un motif ne voit que ce qui s exprime en motif. make hote-planifier en est l exemple. La cible EXISTE, donc le controle passait au vert. C est une cible depreciee qui refuse et sort en 2, recommandee par AGENTS.md, et qui contredit la REGLE D OR du meme fichier trois ecrans plus haut. Il fallait lire pour la voir. 74 documents lus un par un. 66 corriges, 8 exacts. CE QUI ETAIT FRANCHEMENT FAUX AGENTS.md, la source d autorite, annoncait la flotte pas encore executee contre des VM reelles. Elle a ete rasee et remontee depuis zero trois fois. ecosysteme-chezlepro.md, le document montre a un client, portait la meme phrase : il se sous-vendait gravement. courriel-conception.md s ouvrait sur aucun role n est encore ecrit, au-dessus de son propre paragraphe 1 qui les nomme. autorisation.md se terminait sur rien n est construit alors qu il rapporte des mesures datees du role en fonctionnement. hebergeur-exploitation.md disait rien n est fait d un depot qui existe. filiation-emancipation.md se contredisait a deux ecrans de distance. DES MODELES DECRITS D APRES UN MONDE ANTERIEUR Le resolveur : cinq documents decrivaient un Unbound par VM en opt-in, trois le donnaient en exemple d integration FACULTATIVE — il est universel depuis le 2026-08-24. L adressage de nomenclature-vm.md : reseau unique, VLAN 11-15, VMID a cinq chiffres. Le nommage SDN de sdn-evpn.md contre le code : c est le wiki qui avait raison. CE QUI CASSE AU PREMIER ESSAI Le nom du gabarit dore etait faux a quatre endroits, dont la procedure qui le FABRIQUE et le critere R2 de l epreuve d operateur independant. preparer-un-site-hebergeur.md avertissait qu une VM faite a la main serait detruite : raser derive du plan, il ne la detruira jamais — le risque est l inverse. Un mot de passe d essai en clair dans un depot public. DEUX PREUVES ETENDUES, ET UNE QUI SE TROMPAIT ELLE-MEME P57 couvre les groupes : elle a signale aussitot 29 groupes annonces au-dessus d un tableau qui en cite 40. P29 confronte le tableau de authentification.md aux declarations reelles : 12 annonces, 21 reels. Et P57 imposait un chiffre faux — 56 preuves alors que le depot en porte 57, la conditionnelle vivant hors de tout comptage. Un garde-fou qui fait respecter une erreur ajoute l assurance a l erreur. CE QUI RESTE, ET QU AUCUNE PREUVE NE TIENT Deux comptes trouves a la main. Et une lacune reelle : rien ne garde les meta/acces.yml — ni qu un service web-sso en porte un, ni que le groupe qu il nomme existe. P29 tient les positions d authentification, personne ne tient les habilitations. make prouver : CONFORME, 56 OK, 0 echec, 1 saute. 0 lien mort. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
3.8 KiB
Métriques & journaux
Unité d'apprentissage. Moule : ① concept → ② Set-OPS → ③ transférable → ④ à toi de jouer.
① Le concept (générique)
Observer un système, c'est trois familles de données :
- Métriques : des nombres dans le temps (CPU, mémoire, requêtes/s) — des séries temporelles.
- Journaux (logs) : des événements textuels datés (« service démarré », « erreur X »).
- (Traces : le parcours d'une requête — hors périmètre ici.)
Deux modèles de collecte opposés, à bien distinguer :
- Pull / scrape : le collecteur va chercher les métriques chez chaque nœud (qui les expose).
- Push / ship : chaque nœud envoie ses journaux vers un collecteur central.
Le motif agent/exporter : sur chaque machine, un petit agent expose des métriques (exporter) ou expédie des logs (shipper). Le serveur central agrège ; un tableau de bord visualise.
② Comment Set-OPS le fait
| Pièce | Modèle | Rôle |
|---|---|---|
Prometheus (serveur_prometheus) |
PULL | scrape node_exporter (installé par client_metrique) sur chaque nœud, port :9100. |
Loki (serveur_loki) |
PUSH | reçoit les journaux journald expédiés par client_journal. |
Grafana (serveur_grafana) |
— | tableaux de bord au-dessus des deux (au SSO). |
Le point-clé : un serveur d'observabilité sans agents ne voit que lui-même. Avec
client_metrique/client_journal sur les nœuds, Grafana voit toute la flotte.
Serveur ≠ agent : les deux sont nécessaires.
Ces deux liaisons ne sont PAS optionnelles, contrairement à ce que cette unité a dit jusqu'au 2026-09-06. Elles portent
universelle: truedans leurmeta/integration.yml: tout hôte les reçoit par dérivation, sans qu'on écrive une ligne au plan, et P26 refuse qu'un hôte y échappe. C'est exactement la leçon du paragraphe ci-dessus, tirée à son terme : le plan portait 28 lignes qui disaient « oui » à quelque chose de vrai pour tous — elles n'existaient que pour être oubliées, et quatre l'avaient été. Deux serveurs n'étaient alors ni supervisés ni journalisés, et une machine non supervisée ne proteste pas. Aujourd'hui on ne peut plus oublier : il faut exempter, et dire pourquoi.
③ Pourquoi c'est transférable
| Set-OPS | Équivalents ailleurs |
|---|---|
| Prometheus (pull) | tout Prometheus, VictoriaMetrics, la logique scrape |
| Loki (push) | ELK/Elasticsearch, Graylog, la logique ship |
| Grafana | Kibana, Datadog, Grafana Cloud |
| exporter/shipper | motif universel (node_exporter, Fluent Bit, Vector…) |
Tu as appris métriques vs logs, pull vs push, le motif agent — pas « Prometheus ».
④ À toi de jouer
- Interroge les métriques (sur obs-01) — combien de nœuds scrapés, tous UP ?
curl -s 'http://localhost:9090/api/v1/query?query=up{job="node"}' | python3 -m json.tool | grep -E 'instance|"1"' - Vois les journaux :
curl -s http://localhost:3100/loki/api/v1/label/host/values→ les nœuds qui expédient leurs logs. - Ouvre Grafana (
https://grafana.chezlepro.internal) — métriques et logs au même endroit. - Casse & répare. Arrête
prometheus-node-exportersur un nœud : dans Prometheus, sa cible passeup=0(DOWN). Redémarre : elle repasse UP. Tu sens que c'est l'agent qui nourrit le serveur (modèle pull).
Pour aller plus loin (dépôt)
- Rôles :
roles/serveur_prometheus,roles/serveur_loki,roles/serveur_grafana. - Agents :
roles/client_metrique(node_exporter),roles/client_journal(→ Loki). - Ces agents sont des intégrations universelles (posées par dérivation, gardées par P26) : unités Liaisons et
docs/integrations-vm.md.