Publié le : 08/12/2024 à 10:00 Mis à jour le : 07/06/2026 à 13:41 Vues : 502

Comment activer le tableau de bord de statistiques natif et exposer des métriques pour Prometheus.

1. La page de statistiques native

Une interface web légère pour surveiller vos serveurs.

Configuration du bloc Listen

Il est recommandé d'écouter sur un port séparé et de sécuriser l'accès par mot de passe.

listen stats
    bind *:8404
    stats enable
    stats uri /admin?stats
    stats refresh 10s
    stats auth admin:MonMotDePasse

2. Intégration avec Prometheus

Exposer les métriques pour une surveillance à long terme.

Utilisation du module prometheus-exporter

Depuis la version 2.0, HAProxy peut exposer directement des métriques au format Prometheus sans agent tiers.

frontend stats
    bind *:8405
    http-request use-service prometheus-exporter if { path /metrics }

3. Support natif OpenTelemetry (OTLP)

HAProxy s'intègre désormais au standard de l'industrie pour les traces et les métriques.

Exportation vers un collecteur OTLP

Depuis la version 2.9, HAProxy supporte nativement OpenTelemetry. Cette fonctionnalité permet d'envoyer des données de télémétrie directement vers un collecteur OTel (ou des outils comme Jaeger, Honeycomb ou Grafana Tempo) sans agent intermédiaire.

Ce que cela apporte :
  • Standardisation : Un format unique pour les traces et les métriques, compatible avec tous les outils modernes.
  • Traces distribuées : Permet de corréler une requête passant par HAProxy avec les traces de vos microservices pour un débogage de bout en bout.
  • Richesse des données : Exportation de métadonnées précises sur le cycle de vie des requêtes HTTP.
# Exemple de configuration (nécessite le module otlp.so)
module-load /usr/lib/haproxy/otlp.so

otlp
    endpoint my-otel-collector:4317
    interval 5s
    add-header x-otel-traceid

4. Interpréter les indicateurs clés

Quelles métriques surveiller en priorité ?

Sessions et Erreurs

  • Cur : Nombre de connexions actives.
  • Rate : Nombre de nouvelles connexions par seconde.
  • Check status : État de santé des serveurs backends.
  • Errors (Req/Resp) : Taux d'erreurs 4xx ou 5xx.

Conclusion

L'observabilité est la clé.

Anticiper les pannes

Grâce aux statistiques, vous pouvez détecter un serveur qui ralentit avant qu'il ne tombe complètement en panne.

Lien copié dans le presse-papiers !