From 8326ee5ea6b9c43b80b70dd5df0b8470811b2d27 Mon Sep 17 00:00:00 2001 From: Nathan Tien You Date: Mon, 7 Jul 2025 16:23:58 +0200 Subject: [PATCH] feat: observability presentation --- 2025/observability/assets/agent.png | 3 + 2025/observability/assets/apm.png | 3 + 2025/observability/assets/apm2.png | 3 + 2025/observability/assets/apm3.png | 3 + 2025/observability/assets/grafana_trace.png | 3 + 2025/observability/assets/hist.png | 3 + 2025/observability/assets/hist2.png | 3 + 2025/observability/assets/hist3.png | 3 + 2025/observability/assets/http.png | 3 + 2025/observability/assets/http2.png | 3 + 2025/observability/assets/http3.png | 3 + 2025/observability/assets/metrics.png | 3 + 2025/observability/assets/observability.png | 3 + .../assets/opentelemetry-horizontal-color.svg | 1 + 2025/observability/assets/questi.png | 3 + 2025/observability/assets/top.png | 3 + 2025/observability/assets/toto.png | 3 + 2025/observability/assets/waterfall-trace.svg | 49 ++++ 2025/observability/slides.md | 225 ++++++++++++++++++ 19 files changed, 323 insertions(+) create mode 100644 2025/observability/assets/agent.png create mode 100644 2025/observability/assets/apm.png create mode 100644 2025/observability/assets/apm2.png create mode 100644 2025/observability/assets/apm3.png create mode 100644 2025/observability/assets/grafana_trace.png create mode 100644 2025/observability/assets/hist.png create mode 100644 2025/observability/assets/hist2.png create mode 100644 2025/observability/assets/hist3.png create mode 100644 2025/observability/assets/http.png create mode 100644 2025/observability/assets/http2.png create mode 100644 2025/observability/assets/http3.png create mode 100644 2025/observability/assets/metrics.png create mode 100644 2025/observability/assets/observability.png create mode 100644 2025/observability/assets/opentelemetry-horizontal-color.svg create mode 100644 2025/observability/assets/questi.png create mode 100644 2025/observability/assets/top.png create mode 100644 2025/observability/assets/toto.png create mode 100644 2025/observability/assets/waterfall-trace.svg create mode 100644 2025/observability/slides.md diff --git a/2025/observability/assets/agent.png b/2025/observability/assets/agent.png new file mode 100644 index 0000000..f10719f --- /dev/null +++ b/2025/observability/assets/agent.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8183795e30f18b44e9197a91a42a842267a94cc1f9ea321d6386661cb3937af +size 55179 diff --git a/2025/observability/assets/apm.png b/2025/observability/assets/apm.png new file mode 100644 index 0000000..3c3e7e2 --- /dev/null +++ b/2025/observability/assets/apm.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a1e92b252c370db90c43f920434390286dcad7d62937432764c8dc672880da32 +size 83886 diff --git a/2025/observability/assets/apm2.png b/2025/observability/assets/apm2.png new file mode 100644 index 0000000..4cd309d --- /dev/null +++ b/2025/observability/assets/apm2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3e96e06fee6afb3c87b56cf1491793cd9e8fa27a097471c62de8c0ba7ed33399 +size 326308 diff --git a/2025/observability/assets/apm3.png b/2025/observability/assets/apm3.png new file mode 100644 index 0000000..f0dcfda --- /dev/null +++ b/2025/observability/assets/apm3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51b768d549cc5ae2ea4dd4295187233fb9601dbba1180c62e3f1ce6a31f60328 +size 557069 diff --git a/2025/observability/assets/grafana_trace.png b/2025/observability/assets/grafana_trace.png new file mode 100644 index 0000000..fd7bdb9 --- /dev/null +++ b/2025/observability/assets/grafana_trace.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f273da3df93d02cf1d492235e699b0a62f63a7976e5ec7b43fa014f742ba0db3 +size 187813 diff --git a/2025/observability/assets/hist.png b/2025/observability/assets/hist.png new file mode 100644 index 0000000..0bcb41c --- /dev/null +++ b/2025/observability/assets/hist.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51303d97e81d7c5d48a22528033c2e2b7e227e5ab0485c1d09a636a90c33fc11 +size 181110 diff --git a/2025/observability/assets/hist2.png b/2025/observability/assets/hist2.png new file mode 100644 index 0000000..9221421 --- /dev/null +++ b/2025/observability/assets/hist2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1900ae47a3f9f660a108c4f4f1de80d1aa46e767b5d81f867a6a062823d734a7 +size 150089 diff --git a/2025/observability/assets/hist3.png b/2025/observability/assets/hist3.png new file mode 100644 index 0000000..e634c3e --- /dev/null +++ b/2025/observability/assets/hist3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a4cdd6fe094558fa5ca527c84462dd290033b6ef929a8ab5476d33cf83cd4654 +size 162930 diff --git a/2025/observability/assets/http.png b/2025/observability/assets/http.png new file mode 100644 index 0000000..8d93d92 --- /dev/null +++ b/2025/observability/assets/http.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9594ad28cb495082bd5bba089481a80aa06746bb461e21942146eccae2ff8d8 +size 463570 diff --git a/2025/observability/assets/http2.png b/2025/observability/assets/http2.png new file mode 100644 index 0000000..41b64f2 --- /dev/null +++ b/2025/observability/assets/http2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1f3d033442355e73ea7b98c8f543aaaa8906080b0d31a83070e9c214ce47d21 +size 196893 diff --git a/2025/observability/assets/http3.png b/2025/observability/assets/http3.png new file mode 100644 index 0000000..1eeafac --- /dev/null +++ b/2025/observability/assets/http3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e6326729606f9b2542ce82b410fe4c172ff64b618d5b8880deb7a8e08c59f274 +size 202182 diff --git a/2025/observability/assets/metrics.png b/2025/observability/assets/metrics.png new file mode 100644 index 0000000..975d7b3 --- /dev/null +++ b/2025/observability/assets/metrics.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:113b94a635fd00b061f155ca46f9846177412df827d32c499ba8b297c6dd402a +size 595905 diff --git a/2025/observability/assets/observability.png b/2025/observability/assets/observability.png new file mode 100644 index 0000000..9f23f6a --- /dev/null +++ b/2025/observability/assets/observability.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88e7a352e65d26cd9c58b0bab2085e4ff1788407f1c667a06a270d34712194ad +size 50293 diff --git a/2025/observability/assets/opentelemetry-horizontal-color.svg b/2025/observability/assets/opentelemetry-horizontal-color.svg new file mode 100644 index 0000000..7294c15 --- /dev/null +++ b/2025/observability/assets/opentelemetry-horizontal-color.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/2025/observability/assets/questi.png b/2025/observability/assets/questi.png new file mode 100644 index 0000000..7ad6176 --- /dev/null +++ b/2025/observability/assets/questi.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:989083bb9dcd53d9825c3f2f54e7516c068762ac6a3b5932dd69af04bac61afd +size 67913 diff --git a/2025/observability/assets/top.png b/2025/observability/assets/top.png new file mode 100644 index 0000000..2e893f2 --- /dev/null +++ b/2025/observability/assets/top.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9eff627ed381eca6e8fc4a965ef30d4c4b44b946c6e9d12faef8d819e61bd1d +size 330668 diff --git a/2025/observability/assets/toto.png b/2025/observability/assets/toto.png new file mode 100644 index 0000000..5303293 --- /dev/null +++ b/2025/observability/assets/toto.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:784c02b53f8a6b35abd7bbc7034f7c1e0421a9890af3d402a6a57a88cce16d85 +size 242780 diff --git a/2025/observability/assets/waterfall-trace.svg b/2025/observability/assets/waterfall-trace.svg new file mode 100644 index 0000000..e2cb919 --- /dev/null +++ b/2025/observability/assets/waterfall-trace.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/2025/observability/slides.md b/2025/observability/slides.md new file mode 100644 index 0000000..2ad648b --- /dev/null +++ b/2025/observability/slides.md @@ -0,0 +1,225 @@ +# Surveillance des applications + +--- + +# Sommaire + +- Pourquoi ? + - Histoire de l'application +- Quoi ? + - Métriques, logs et traces +- Comment ? + - +- Conclusion + +--- + +![](./assets/hist.png) + +--- + +![](./assets/hist2.png) + + +--- + +![](./assets/hist3.png) + +--- + +### Pistes d'amélioration + +- Détecter +- Alerter +- Prévenir + +--- + +### Observabilité +![](./assets/questi.png) + + +--- + +### Observabilité +![](./assets/observability.png) +> Source : opentelemetry : Introduction à l'observabilité + +--- + +### Observabilité + +Différents types de données + +- Métriques +- Logs +- Traces + +--- + +### Observabilité +Métriques +![](./assets/top.png) + +--- + +### Métriques + +**Indicateur** d'un état à un instant T + +- utilisation du processeur +- nombre de processus sur la machine +- nombre de connections concurrentes à l'application +- nombre de tâches celery en cours + +--- + +### Observabilité +Logs +``` +66.249.70.99 - - [25/Jun/2025:11:23:07 +0200] "GET /item/AFST_1996_6_5_2_191_0/ HTTP/1.1" 200 9488 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" +``` + +Message horodaté +Flux d'évènement ordonné + +--- + +### Observabilité +Traces... +![](./assets/toto.png) + +--- + +### Trace (Transaction) +Chemin d'exécution de la requête à travers l'application + +-- + +### Span (Intervalle) +Unité de travail + +--- + +### Traces + +![](./assets/waterfall-trace.svg) +---- + +### Traces +![](./assets/grafana_trace.svg) + +--- + +### Application Performance Monitoring +![](./assets/apm.png) + + +--- + +### Application Performance Monitoring +![](./assets/apm2.png) + + + +--- + +### Application Performance Monitoring + +![](./assets/agent.png) + +--- + +### Application Performance Monitoring + +![](./assets/apm3.png) + +--- + +### Un protocole pour tous les gérer + + +![](./assets/opentelemetry-horizontal-color.svg.png) +--- + +### Choix des logiciels + +- Agent +- Base de données +- Dashboard de visualisation + +--- + +### Agent + +Récupérer les données et les envoyer dans une base de données. + +Classifier, filtrer, transformer. + +- OpenTelemetry exporter +- Fluentd +- Fluent bit +- Grafana Alloy +- Promtail +- Logstash + +--- + +### Base de données + +| Métriques | Logs | Traces | +| ---------- | -------------- | ------ | +| Prometheus | Elastic Search | Jaeger | +| Graphite | Loki | Tempo | +| InfluxDB | | | + +--- + +### Dashboard de visualisation + +Le dashboard va se connecter à la base de données et executer des requêtes afin d'extraire les informations utiles. + +- Kibana +- Grafana + +--- + +### Solutions cloud + +- Datadog +- Uptrace +- Honeycomb + + +--- + +### Démo + +![](./assets/apm3.png) + +--- + +### Démo : requête HTTP +![](./assets/http.png =x550) + +---- + +### Démo : requête HTTP +![](./assets/http2.png =x550) + +---- + +### Démo : requête HTTP +![](./assets/http3.png =x550) + +--- + +### Démo: Métriques +![](./assets/metrics.png =x550) + + +--- + +### Ressources + +[Logs vs Metrics vs Traces](https://microsoft.github.io/code-with-engineering-playbook/observability/log-vs-metric-vs-trace/) : https://microsoft.github.io/code-with-engineering-playbook/observability/log-vs-metric-vs-trace/