Set-OPS-Public/wiki/Métriques-et-journaux.md
Daniel Allaire 716be304c5 wiki : 10 unités restantes (Communication, Données, Observabilité, Socle & méthode)
Complète les 14 unités d'apprentissage au moule à 4 temps : Reverse-proxy,
Courriel, Bases de données, Cache, Métriques & journaux, Supervision & impact,
Virtualisation, Sécurité & durcissement, Infra as Code & idempotence,
Liaisons (bindings, avec l'analogie NetScaler). Navigation complétée.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 15:33:17 -04:00

3.1 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é prouvé cette session : un serveur d'observabilité sans agents ne voit que lui-même. En déployant client_metrique/client_journal (des liaisons nœud, optionnelles), Grafana voit toute la flotte. Serveur ≠ agent : les deux sont nécessaires.


③ 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

  1. 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"'
    
  2. Vois les journaux : curl -s http://localhost:3100/loki/api/v1/label/host/values → les nœuds qui expédient leurs logs.
  3. Ouvre Grafana (https://grafana.lab.chezlepro.internal) — métriques et logs au même endroit.
  4. Casse & répare. Arrête prometheus-node-exporter sur un nœud : dans Prometheus, sa cible passe up=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 liaisons optionnelles : unité Liaisons.