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
- 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.lab.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 liaisons optionnelles : unité Liaisons.
Set-OPS
Unités d'apprentissage
Fondations
Communication
Données
Observabilité
Socle & méthode
- Le GUI (console d'exploitation)
- Virtualisation & clonage
- Sécurité & durcissement
- Infra as Code & idempotence
- Le plan & l'adressage dérivé
- Liaisons (bindings)
Flotte & preuve
Opérations
- Runbooks → dépôt
docs/runbooks-exploitation.md
Repères
- Glossaire
- Référence technique → dépôt
docs/