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>
3.1 KiB
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
- 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.