feat: observability presentation

This commit is contained in:
Nathan Tien You
2025-07-07 16:23:58 +02:00
parent b2740fd6d7
commit 8326ee5ea6
19 changed files with 323 additions and 0 deletions
+225
View File
@@ -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
<!-- ![](https://opentelemetry.io/img/waterfall-trace.svg) -->
![](./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
<!-- ![](https://opentelemetry.io/img/logos/opentelemetry-horizontal-color.svg =x400) -->
![](./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/