Cette page n’est disponible qu’en français.
Retour aux événements
Webinar Introduction à Prometheus

Webinar Introduction à Prometheus 17 juin 2021

17 juin 2021, 11:00 - 12:00 Online Lionel Porcheron, CEO & co-fondateur de Bleemeo

Le 17 juin 2021, Lionel Porcheron a présenté une introduction à Prometheus, à ses concepts et à l’écosystème né autour de ce projet open source lancé chez SoundCloud : comment il fonctionne, comment l’utiliser sur son infrastructure et ses applications, et où il montre ses limites. Lionel a déployé et utilisé de nombreux outils de monitoring, de Nagios à Prometheus en passant par Munin et Graphite, sur des infrastructures de plusieurs centaines de serveurs physiques ou cloud. Le replay et les slides sont disponibles ci-dessous.

Ce que couvrait le webinar

Du monitoring à l’observabilité

Le monitoring d’hier surveillait des serveurs et des services en boîte noire, en ne regardant que leur disponibilité — c’est l’époque de Nagios. Les microservices et les conteneurs ont multiplié les composants à surveiller et rendu l’infrastructure dynamique. Graphite, apparu en 2008, a mis la métrique au centre ; Prometheus, lancé en 2012 chez SoundCloud et aujourd’hui projet diplômé de la CNCF, est devenu le standard de fait. L’observabilité va plus loin : le code est instrumenté pour exposer aussi des métriques métier.

Les indicateurs clés : RED et USE

La méthode RED pour les services : taux de requêtes par seconde, taux d’erreurs, distribution des durées. La méthode USE pour les ressources : utilisation (« un disque à 90 % »), saturation (« une file d’attente de quatre processus sur le CPU »), erreurs (« cinquante collisions tardives sur cette interface réseau »).

L’architecture de Prometheus

Le serveur Prometheus vient chercher (pull) les métriques sur des endpoints HTTP, en s’appuyant si besoin sur la service discovery. La Pushgateway permet les envois ponctuels, l’Alertmanager envoie les alarmes déclenchées par le serveur, et le stockage longue durée est confié à des projets externes comme Thanos ou Cortex. Une requête PromQL typique :

rate(http_requests_total[5m])

renvoie le taux par seconde, mesuré sur les cinq dernières minutes, de toutes les séries de la métrique http_requests_total. Les labels permettent ensuite de filtrer : application, environnement, révision…

Instrumenter son code

Des bibliothèques existent dans la plupart des langages. La démonstration utilisait une petite application Django affichant une citation du jour, instrumentée avec django-prometheus ; son code est publié sur github.com/bleemeolabs/quote.

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)