Intermédiaire
⭐ Article vedette

Monitoring Apache Kafka en Production : Guide Complet

Découvrez comment mettre en place un monitoring robuste pour vos clusters Kafka avec Prometheus, Grafana et JMX.

Publié le
10 novembre 2024
Lecture
12 min
Vues
1.8k
Auteur
Florian Courouge
Kafka
Monitoring
Prometheus
Grafana
JMX
Production

Table des matières

📋 Vue d'ensemble rapide des sujets traités dans cet article

Cliquez sur les sections ci-dessous pour naviguer rapidement

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 :

  1. Throughput Global

    • Messages/sec entrants et sortants
    • Bytes/sec par topic
  2. Latence des Requêtes

    • Produce latency (p95, p99)
    • Fetch latency
  3. 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"

💡Outils Complémentaires

Kafka Manager

Interface web pour :

  • Visualiser la topologie des clusters
  • Monitorer les consumer groups
  • Gérer les topics et partitions

Confluent Control Center

Solution entreprise avec :

  • Monitoring avancé
  • Stream lineage
  • Alerting intégré

💡Conclusion

Un monitoring efficace de Kafka nécessite :

  • Surveillance proactive des métriques clés
  • Alerting intelligent basé sur des seuils métier
  • Dashboards visuels pour l'équipe
  • Automatisation des réponses aux incidents

Le monitoring n'est pas seulement technique, c'est un élément stratégique pour la fiabilité de vos systèmes distribués.

💡
Conseil Expert

Commencez par surveiller les métriques business (messages/sec par topic) avant d'aller dans le détail technique.

Cet article fait partie d'une série sur l'exploitation de Kafka en production. Consultez mes autres guides pour approfondir vos connaissances.

À propos de l'auteur

Florian Courouge - Expert DevOps et Apache Kafka avec plus de 5 ans d'expérience dans l'architecture de systèmes distribués et l'automatisation d'infrastructures.

Cet article vous a été utile ?

Découvrez mes autres articles techniques ou contactez-moi pour discuter de vos projets DevOps et Kafka.