Qu’est-ce que Prometheus ?
Outil open source de monitoring de systèmes, serveurs, applications et autres infrastructures IT, Prometheus a été développé par SoundCloud en 2012. Il est conçu pour surveiller, suivre les événements et gérer les alertes, en s’appuyant sur une base de données en séries temporelles.
Une base de données en séries temporelles est une base de données où la dimension temps est intégrée par défaut. Ceci permet de suivre l’évolution des variables et métriques dans le temps et en temps réel.
Plus qu’un logiciel, Prometheus est un écosystème constitué de plusieurs composantes, ayant chacune une fonction précise :
- Le serveur principal : chargé du scraping et stockage des données en séries temporelles.
- Manger d’alertes: pour créer et gérer les différentes alertes.
- Bibliothèques clients : pour l’instrumentation du code source des applications.
- Une passerelle push : pour suivre les applications à durée courte.
- Interface Web: pour filtrer et visualiser les données.
Source : Prometheus
Pourquoi utiliser Prometheus ?
Le monitoring système est une tâche cruciale pour toute équipe de développement, IT ou DevOps. Et si les solutions de monitoring ne sont pas rares, Prometheus se distingue comme une solution de choix.
- Il est en effet open source et gratuit.
- Il s’intègre facilement avec les bases de données et ERP populaires.
- Il extrait la data directement du système pour une précision optimale.
- Il met à jour la data en temps réel pour ne présenter que les données pertinentes.
- Il est très populaire et utilisé par les plus grandes entreprises, dans tous les domaines d’activités
Comment fonctionne Prometheus ?
Après installation et configuration de Prometheus et des différents outils qui composent son écosystème, il se met à extraire les données en utilisant l’une des 3 techniques.
Source : Devconnected
L’instrumentation : cela veut dire que l’application en question va révéler la métrique cible dans une URL. Prometheus ira la scanner au moment T.
Les exporters : Prometheus dispose d’une grande collection d’exporters pour les différentes technologies disponibles sur le marché.
Les passerelles push : utilisées plus rarement, notamment quand l’application cible n’offre pas de moyens directs d’accéder à ces données.
Ces données sont stockées et contrôlées depuis le serveur principal Prometheus. Elles vont ensuite être transférées vers un outil de visualisation qui s’intègre à Prometheus, comme Grafana.
Concepts clés
# – Le modèle de données Clé-Valeur
Prometheus collecte et stocke les données sous forme de paires de clés et valeurs. Il n’est ainsi pas conçu pour traiter des données brutes, mais plutôt des métriques et variables décrivant le “quoi” et le “combien” de ce qu’on veut collecter et stocker.
# – Types de métriques
Prometheus distingue plusieurs types de métriques pouvant être utilisés pour des objectifs et dans des contextes différents:
- Counter : ce type de métrique est utilisée pour compter des éléments dans le temps.
- Gauge: ce type de métrique est quant à elle destinée aux variables dont les valeurs peuvent augmenter et diminuer dans le temps. Comme un thermomètre, une métrique de type Gauge donne une représentation de la valeur d’une métrique à un moment T.
Source : Sysdig
- Histogram : métrique plus complexe que les deux autres, elle fournit des données supplémentaires comme la comparaison des données et le calcul de leurs somme, moyenne, etc.
- Summary : c’est une extension de la métrique histogram, qui, en plus de calculer la somme des données d’une observation, fournies les quantiles de ces données.
# – Instrumentation
Avant de pouvoir récupérer les données de la plupart des applications, Prometheus doit exécuter ce qu’on appelle l’instrumentation. Il s’agit d’ajouter au code de l’application les bibliothèques clients adaptées, pour que Prometheus puisse avoir accès à ces données et métriques. Il existe plusieurs bibliothèques selon le langage de programmation en question.
# – Exporters
Pour les applications, serveurs, et bases de données les plus connues, il est possible d’utiliser des exporters à la place de l’instrumentation.
C’est un moyen facile, pratique et rapide d’accéder aux données et métriques, et de mettre en place vos dashboards en quelques minutes.
# – Les alertes
Alert Manager est un outil indépendant pouvant être ajouté à Prometheus pour configurer et gérer les alertes et événements qui les déclenchent.
Une fois les conditions de déclenchement vérifiées une alerte est créée et envoyée par Prometheus aux destinataires prédéfinis dans Alert Manager.
Qui est concerné ?
Le monitoring et la supervision des systèmes et applications sont des fonctions clés pour plusieurs profils et équipes de développement et IT. Prometheus est donc un outil essentiel dans l’arsenal des équipes de développements logiciels ou encore des administrateurs système.
Sa fiabilité et son large champ d’applications (serveurs, systèmes, application et base de données) le rendent aussi idéal pour les ingénieurs et équipes adoptant l’approche Devops.
Se faire accompagner par des experts
Vous souhaitez minimiser les risques d’erreurs et simplifier les actions complexes de mise en production ?
Vous vous voulez assurer la performance et la stabilité de votre système d’information, de vos serveurs ou de vos applications ? Vous souhaitez mettre en place des actions efficaces de monitoring et supervision de votre infrastructure IT ?
Contactez-nous pour en savoir plus sur nos offres de monitoring et supervision et vous faire accompagner des experts Devops.
Les commentaires sont fermés.