Outils pour utilisateurs

Outils du site


software:applications:prometheus

Table des matières

Prometheus

Prometheus est inspiré du projet Borgmon de Google. Son principal objectif est de lever des alertes à partir de time series récoltées.

Quelques points caractéristiques:

  • Écrit en Go: produit un binaire standalone facile à déployer et exécuter.
  • Fonctionne en pull de métriques (c'est Prometheus qui envoie les requêtes sur les services pour récupérer leurs métriques).
  • Base de données de type séries temporelles
  • Langage de requête spécifique

Prometheus envoie des requêtes à intervalle régulier afin de récupérer et sauvegarder les métriques (mode pull). Prometheus récupère les métrique sur des endpoints HTTP ou GRPC disponibles sur le réseau. Les métrique sont exportées au format texte. Go, Python, Spring mettent à disposition des bibliothèques pour exporter facilement les métriques.

Pour de nombreuses applications il existe des exporters des modules qui se chargent de mettre à disposition de Prometheus les métriques internes.

Il existe de nombreux exporteurs.

Prometheus ne permet pas:

  • Le stockage des logs (voir Elastic search)
  • Le traçage des requêtes (voir OpenTracing)
  • L'enregistrement à long terme de valeurs
  • mise a l'échelle horizontale automatique
  • Pas de gestion des utilisateurs

Exporters

Exposent les métriques

  • nodexporteur: métriques de la machine hote (cpu, mémoire, système de fichier, interfaces réseau etc).

Le pushgateway est une application tampon qui reçoit les métriques envoyées en mode push, les expose en HTTP a Prometheus qui les récupèrera périodiquement en mode pull.

Alertes

Prometheus est conçu pour lever des alertes:

  • on crée les règles de déclenchement d'alertes;
  • on associe l'alert manager qui définit la réaction. Chaque alerte manager se charge d'un mode de notification (mail, slack, hipchat, pagerduty, opsgenie, etc)

Métriques

La métrique est formée:

  • d'un nom
  • un ensemble de labels (ensemble de paires clé/valeur)
  • une valeur

Les types de métriques pouvant être collectées:

  • valeurs brutes exposées (basic counters): Gauge ou counter
  • valeurs travaillées (Sampling counters): histogram, Summary
software/applications/prometheus.txt · Dernière modification : 2021/03/01 21:19 de yoann