mirror of
https://gricad-gitlab.univ-grenoble-alpes.fr/tienyoun/presentations.git
synced 2026-09-26 13:31:01 +00:00
226 lines
3.2 KiB
Markdown
226 lines
3.2 KiB
Markdown
# Surveillance des applications
|
|
|
|
---
|
|
|
|
# Sommaire
|
|
|
|
- Pourquoi ?
|
|
- Histoire de l'application
|
|
- Quoi ?
|
|
- Métriques, logs et traces
|
|
- Comment ?
|
|
-
|
|
- Conclusion
|
|
|
|
---
|
|
|
|

|
|
|
|
---
|
|
|
|

|
|
|
|
|
|
---
|
|
|
|

|
|
|
|
---
|
|
|
|
### Pistes d'amélioration
|
|
|
|
- Détecter
|
|
- Alerter
|
|
- Prévenir
|
|
|
|
---
|
|
|
|
### Observabilité
|
|

|
|
|
|
|
|
---
|
|
|
|
### Observabilité
|
|

|
|
> Source : opentelemetry : Introduction à l'observabilité
|
|
|
|
---
|
|
|
|
### Observabilité
|
|
|
|
Différents types de données
|
|
|
|
- Métriques
|
|
- Logs
|
|
- Traces
|
|
|
|
---
|
|
|
|
### Observabilité
|
|
Métriques
|
|

|
|
|
|
---
|
|
|
|
### 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...
|
|

|
|
|
|
---
|
|
|
|
### Trace (Transaction)
|
|
Chemin d'exécution de la requête à travers l'application
|
|
|
|
--
|
|
|
|
### Span (Intervalle)
|
|
Unité de travail
|
|
|
|
---
|
|
|
|
### Traces
|
|
<!--  -->
|
|

|
|
----
|
|
|
|
### Traces
|
|

|
|
|
|
---
|
|
|
|
### Application Performance Monitoring
|
|

|
|
|
|
|
|
---
|
|
|
|
### Application Performance Monitoring
|
|

|
|
|
|
|
|
|
|
---
|
|
|
|
### Application Performance Monitoring
|
|
|
|

|
|
|
|
---
|
|
|
|
### Application Performance Monitoring
|
|
|
|

|
|
|
|
---
|
|
|
|
### Un protocole pour tous les gérer
|
|
|
|
<!--  -->
|
|

|
|
---
|
|
|
|
### 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
|
|
|
|

|
|
|
|
---
|
|
|
|
### Démo : requête HTTP
|
|

|
|
|
|
----
|
|
|
|
### Démo : requête HTTP
|
|

|
|
|
|
----
|
|
|
|
### Démo : requête HTTP
|
|

|
|
|
|
---
|
|
|
|
### Démo: Métriques
|
|

|
|
|
|
|
|
---
|
|
|
|
### 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/
|