Une supervision proactive est essentielle pour assurer la disponibilité et la performance de votre infrastructure. Ce guide explique comment déployer une solution complète et avancée basée sur Prometheus, Grafana et Alertmanager.
Prérequis
- Serveur Linux (Debian, Ubuntu, Rocky, AlmaLinux)
- Docker et Docker Compose installés
- Accès root ou sudo
Architecture de la solution
- Prometheus : stockage des métriques
- Grafana : visualisation des données
- Alertmanager : gestion des alertes
Installation avec Docker Compose
Créer un fichier docker-compose.yml
:
version: '3.8'
services:
prometheus:
image: prom/prometheus:latest
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
grafana:
image: grafana/grafana:latest
ports:
- "3000:3000"
volumes:
- grafana-data:/var/lib/grafana
alertmanager:
image: prom/alertmanager:latest
volumes:
- ./alertmanager.yml:/etc/alertmanager/alertmanager.yml
ports:
- "9093:9093"
volumes:
grafana-data:
Configuration de Prometheus
Créer prometheus.yml
:
global:
scrape_interval: 15s
alerting:
alertmanagers:
- static_configs:
- targets:
- alertmanager:9093
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
Configuration d’Alertmanager
Créer alertmanager.yml
:
route:
receiver: 'email'
receivers:
- name: 'email'
email_configs:
- to: 'admin@example.com'
from: 'alertmanager@example.com'
smarthost: 'smtp.example.com:587'
auth_username: 'alertmanager@example.com'
auth_password: 'password'
Démarrer la stack
docker-compose up -d
Accéder aux interfaces
- Prometheus :
http://IP_SERVEUR:9090
- Grafana :
http://IP_SERVEUR:3000
(user/password: admin/admin) - Alertmanager :
http://IP_SERVEUR:9093
Configurer Grafana
- Connectez Grafana à Prometheus via "Data Sources"
- Importez des dashboards prédéfinis depuis Grafana.com
Configurer des alertes personnalisées
Ajouter des règles dans Prometheus (prometheus.yml
ou fichier séparé) :
groups:
- name: alertes_base
rules:
- alert: InstanceDown
expr: up == 0
for: 5m
labels:
severity: critical
annotations:
summary: "Instance {{ $labels.instance }} down"
Sécurisation et bonnes pratiques
- Authentification Grafana LDAP ou OAuth
- Reverse Proxy SSL/TLS (Nginx, Traefik)
- Restreindre l'accès réseau aux interfaces web
Conclusion
Cette stack complète Prometheus, Grafana et Alertmanager fournit une supervision performante, robuste et réactive pour votre infrastructure moderne, facilitant le DevOps et garantissant la disponibilité.