Ceci est une ancienne révision du document !
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 envoi 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 endpoint HTTP ou GRPC disponibles sur le réseau. Les métrique sont au format texte. Il existe de nombreux exporteurs.
Prometheus ne permet pas:
Le stockage des logs (Elastic search)
Le traçage des requêtes (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:
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