Prometheus
Définition
Prometheus est un kit de surveillance et d’alerting open-source qui collecte des métriques depuis des cibles configurées à des intervalles donnés, évalue des expressions de règles, affiche les résultats et déclenche des alertes lorsque les conditions sont remplies.
Développé par SoundCloud et maintenant hébergé par la CNCF, Prometheus utilise un modèle pull (il récupère les métriques depuis des endpoints) et stocke les données dans une base de données chronologique sur stockage local.
Concepts clés
- Types de métriques : Counter (croissance monotone), Gauge (montée/descente), Histogram (distribution), Summary (percentiles)
- Labels : Paires clé-valeur qui différencient les dimensions de métriques (par ex.
job="nginx",instance="server1") - PromQL : Langage de requête pour sélectionner et agréger des données chronologiques
- Cible : Un endpoint surveillé (par ex.
/metricssur un serveur web) - Exporter : Un service qui expose des métriques au format Prometheus (par ex. node_exporter, mysqld_exporter)
- Alertmanager : Gère les alertes de Prometheus (notifications, silence, inhibition)
- Service Discovery : Découverte automatique des cibles (Kubernetes, DNS, basé sur fichier)
Architecture
Prometheus Server → Base de données chronologique
↑ (récupération)
Cibles (exporters, métriques d'applications)
↓
Alertmanager → Notifications (Slack, PagerDuty, email)
↓
Grafana → Tableaux de bord et visualisation
Exporters courants
|| Exporter | Surveille | ||———-|———-| || node_exporter | Métriques d’hôte Linux (CPU, mémoire, disque, réseau) | || mysqld_exporter | Métriques de base de données MySQL | || postgres_exporter | Métriques de base de données PostgreSQL | || redis_exporter | Métriques Redis | || blackbox_exporter | Sondes HTTP, DNS, TCP, ICMP | || cadvisor | Métriques de conteneurs |
Prometheus vs autres outils de surveillance
|| Outil | Modèle | Meilleur pour | ||——|——-|———-| || Prometheus | Pull-based, chronologique | Cloud-native, Kubernetes | || Grafana | Visualisation (pas de stockage) | Tableaux de bord (souvent avec Prometheus) | || Datadog | Pull/push, propriétaire | Enterprise, multi-cloud | || Zabbix | Push/pull, traditionnel | Infrastructure traditionnelle | || Nagios | Push-based, legacy | Surveillance traditionnelle |
Termes liés
- Grafana — outil de visualisation couramment associé à Prometheus
- Alertmanager — composant d’alerting de Prometheus
- Exporters — services qui exposent des métriques pour Prometheus
- Kubernetes