Files
observability/README.md
2025-11-21 13:25:43 +01:00

57 lines
3.0 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Observabilité pour l'IoT et l'Industrie
## Les 3 piliers de l'observabilité
### Journalisation (Logging)
La journalisation désigne la pratique consistant à enregistrer les événements qui se produisent dans un système, tels que les erreurs, les avertissements et les messages informatifs.
Chaque entrée de journal (log) contient des informations sur un événement survenu à un moment précis, ce qui aide au suivi du système et au débogage.
#### Types de logs :
##### Logs simples (Plain Logs)
Des logs sous forme de texte libre, faciles à générer mais souvent difficiles à analyser car ils manquent de structure.
##### Logs structurés (Structured Logs)
Des logs généralement formatés en JSON ou dans dautres formats structurés.
Ils sont beaucoup plus faciles à analyser automatiquement, à agréger et à filtrer.
- Utiliser des bibliothèques de journalisation pour standardiser la forme des logs.
- Agréguer les logs pour gérer efficacement un grand volume et éviter les surcharges.
- Stocker les logs dans un système de stockage persistant (ex. Elasticsearch) afin de pouvoir les consulter et les analyser sur le long terme.
- Utiliser des outils de visualisation comme Kibana pour interroger, filtrer et visualiser les données de log.
### Métriques (mesures quantitatives)
Les métriques sont des représentations numériques de données qui décrivent le comportement de composants ou de services au fil du temps.
Elles permettent dobtenir une vision sur les performances et létat de santé dun système.
Les métriques sont généralement agrégées dans le temps, afin didentifier des **tendances** ou des anomalies.
Elles permettent de comprendre des indicateurs usuels de performance dun système, tels que :
- les temps de réponse,
- les taux derreur,
- lutilisation des ressources (CPU, mémoire, réseau, etc.).
La plupart des bibliothèques de programmation intègrent des mécanismes pour collecter et exposer des métriques.
Dans certains environnements, des bibliothèques dédiées aux métriques peuvent envoyer les données vers des endpoints prévus pour la supervision.
### Traçage (chemin d'une requête)
Le traçage consiste à capturer le parcours dune requête à travers les différents composants dun système.
Il permet de comprendre comment les services interagissent entre eux lors de lexécution dune même requête.
Chaque trace est associée à un identifiant global (trace ID) transmis à travers lensemble des services impliqués.
Des outils de traçage distribué comme Jaeger ou Zipkin permettent de visualiser le chemin parcouru par la requête, afin didentifier facilement les goulots détranglement ou les points de défaillance.
OpenTelemetry fournit une approche standardisée pour implémenter le traçage dans différents langages de programmation.
Le traçage permet de mettre en évidence des problèmes de performance à divers niveaux de larchitecture des services.