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