1. Activer les métriques #
Prometheus ou OTLP.
Configuration #
entryPoints:
metrics:
address: ":8082"
metrics:
prometheus:
entryPoint: metrics # point d'exposition séparé du trafic public
addRoutersLabels: true # séries par routeur (attention à la cardinalité)
addServicesLabels: true
buckets: [0.05, 0.1, 0.3, 1.2, 5.0]
# ou : metrics.otlp.grpc.endpoint: otel-collector:4317Collecter #
scrape_configs:
- job_name: traefik
static_configs: [{ targets: ['traefik:8082'] }]2. Les métriques et requêtes utiles #
Méthode RED.
Requêtes PromQL #
# Débit par service
sum by (service) (rate(traefik_service_requests_total[5m]))
# Taux d'erreurs 5xx par service
sum by (service) (rate(traefik_service_requests_total{code=~"5.."}[5m]))
/ sum by (service) (rate(traefik_service_requests_total[5m]))
# Latence p95 par service
histogram_quantile(0.95, sum by (le, service) (rate(traefik_service_request_duration_seconds_bucket[5m])))
# Backends déclarés indisponibles par le health check
traefik_service_server_up == 0
# Jours avant expiration des certificats
(traefik_tls_certs_not_after - time()) / 86400Familles de métriques #
| Préfixe | Niveau |
|---|---|
traefik_entrypoint_* | Point d'entrée (trafic global par port) |
traefik_router_* | Routeur (par règle de routage) |
traefik_service_* | Service (par backend) : le plus utile |
traefik_config_*, traefik_tls_certs_* | Rechargements de configuration, certificats |
3. Alertes #
Peu, mais utiles.
Exemples #
groups:
- name: traefik
rules:
- alert: TraefikTauxErreurs5xx
expr: |
sum by (service) (rate(traefik_service_requests_total{code=~"5.."}[5m]))
/ sum by (service) (rate(traefik_service_requests_total[5m])) > 0.05
for: 10m
labels: { severity: page }
- alert: TraefikCertificatBientotExpire
expr: (traefik_tls_certs_not_after - time()) / 86400 < 14
labels: { severity: ticket }Bonne Pratique : Importez le tableau de bord Grafana officiel de Traefik comme point de départ, puis gardez seulement les panneaux qui servent à vos diagnostics.
