Cette page n’est disponible qu’en français.
Retour aux événements
Webinar Monitoring Applications

Webinar Monitoring Applications 8 Juillet 2021

8 juillet 2021, 11:00 - 12:00 Online Ingénieur Bleemeo

Le monitoring des serveurs est aujourd’hui largement déployé ; celui des applications demande un effort sur le code, mais des outils standards le rendent presque gratuit. Le 8 juillet 2021, ce webinar a montré comment instrumenter son code simplement et comment corréler informations système et informations applicatives, avec des exemples basés sur StatsD et Prometheus. Le replay et les slides sont disponibles ci-dessous.

Ce que couvrait le webinar

Des serveurs aux applications

Surveiller le disque, la mémoire, le CPU et le réseau est devenu un standard, tout comme les statistiques des services courants. Mais avec des applications de plus en plus complexes et découpées en microservices, une seule équipe système ne peut plus tout connaître : Google a introduit le rôle de SRE, Amazon le principe « you build it, you run it ». Les équipes qui développent une application sont les mieux placées pour définir ses métriques.

StatsD : pousser ses métriques

Créé par Etsy, StatsD reçoit les données envoyées par l’application et les transmet à un backend — historiquement Graphite, couple très répandu dans les startups des années 2010. Trois types de valeurs couvrent l’essentiel : le compteur, la gauge (une valeur qui monte et descend) et la durée. Des bibliothèques légères existent pour la plupart des langages ; il faut en revanche déployer le démon StatsD et un backend. Prometheus propose un exporter StatsD pour faire le lien entre les deux mondes.

Prometheus : exposer ses métriques

Avec Prometheus, l’application expose une page texte lisible par un humain, une métrique par ligne, que le serveur vient lire régulièrement. Les données s’interrogent ensuite en PromQL et alimentent tout l’écosystème : Alertmanager, Grafana… La démonstration instrumentait une petite application Django avec django-prometheus ; son code est publié sur github.com/bleemeolabs/quote.

Couvrir toute la pile

Le même serveur Prometheus peut collecter les métriques des serveurs (node exporter, cAdvisor ou un agent comme Glouton), des services (via leurs exporters), de Kubernetes (kube-state-metrics) et de l’application instrumentée. C’est ce qui permet de rapprocher une hausse du taux d’erreurs applicatif d’une saturation mémoire sur le nœud qui l’héberge. Pour aller plus loin, OpenTelemetry est le cadre à regarder.

Aller plus loin

Replay

Voir le replay sur la chaîne Youtube de Bleemeo:

Slides

Les slides présentés lors de ce webinar:

Télécharger les slides (PDF)