Monitoring Apache Kafka en Production : Guide Complet
Le monitoring d'Apache Kafka en production est crucial pour maintenir la performance et la fiabilité de vos systèmes de streaming. Dans ce guide, nous explorerons les meilleures pratiques et outils pour surveiller efficacement vos clusters Kafka.
💡Métriques Essentielles à Surveiller
Métriques du Broker
Throughput et Latence :
- •kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec
- •kafka.server:type=BrokerTopicMetrics,name=BytesInPerSec
- •kafka.network:type=RequestMetrics,name=TotalTimeMs,request=Produce
Ressources Système :
- •Utilisation CPU et mémoire
- •I/O disque et réseau
- •Espace disque disponible
Métriques des Topics
# Vérifier le lag des consumer groups
kafka-consumer-groups --bootstrap-server localhost:9092 \
--describe --group my-group
💡Configuration Prometheus + JMX
1. Configuration JMX Exporter
Téléchargez le JMX Exporter et configurez le fichier jmx_prometheus_javaagent.jar
2. Démarrage Kafka avec JMX
export KAFKA_OPTS="-javaagent:/opt/jmx-exporter/jmx_prometheus_javaagent.jar=7071:/opt/jmx-exporter/kafka-jmx-config.yml"
./kafka-server-start.sh config/server.properties
💡Dashboards Grafana
Dashboard Principal
Créez un dashboard avec les panels suivants :
- •
Throughput Global
- •Messages/sec entrants et sortants
- •Bytes/sec par topic
- •
Latence des Requêtes
- •Produce latency (p95, p99)
- •Fetch latency
- •
Health des Brokers
- •Nombre de partitions par broker
- •Leader count
💡Alerting Intelligent
Alertes Critiques
# Exemple d'alerte Prometheus
- alert: KafkaHighProducerLatency
expr: kafka_producer_request_latency_avg > 100
for: 5m
labels:
severity: warning
annotations:
summary: "Latence élevée sur le producer Kafka"