En brefSurveillez les métriques de performance d’Apache Kafka dans ClickStack à l’aide du OTel JMX Metric Gatherer. Comprend un jeu de données de démonstration et un tableau de bord préconfiguré.
Intégration avec un déploiement Kafka existant
Prérequis
- Instance ClickStack en cours de fonctionnement
- Installation existante de Kafka (version 2.0 ou plus récente) avec JMX activé
- Accès réseau entre ClickStack et Kafka (port JMX 9999, port Kafka 9092)
- JAR OpenTelemetry JMX Metric Gatherer (instructions de téléchargement ci-dessous)
1
Obtenir la clé API ClickStack
Le JMX Metric Gatherer envoie des données vers l’endpoint OTLP de ClickStack, qui nécessite une authentification.- Ouvrez HyperDX à l’URL de votre instance ClickStack (par exemple, http://localhost:8080)
- Créez un compte ou connectez-vous si nécessaire
- Accédez à Team Settings → API Keys
- Copiez votre Ingestion API Key
- Définissez-la comme variable d’environnement :
2
Téléchargez JMX Metric Gatherer pour OpenTelemetry
Téléchargez le fichier JAR de JMX Metric Gatherer :3
Vérifiez que JMX est activé pour Kafka
Assurez-vous que JMX est activé sur vos brokers Kafka. Pour les déploiements Docker :4
Déployer JMX Metric Gatherer avec Docker Compose
Cet exemple présente une configuration complète avec Kafka, JMX Metric Gatherer et ClickStack. Ajustez les noms des services et les endpoints pour qu’ils correspondent à votre déploiement existant :service:jmx:rmi:///jndi/rmi://kafka:9999/jmxrmi- URL de connexion JMX (utilisez le hostname de votre instance Kafka)otel.jmx.target.system=kafka- Active les metrics spécifiques à Kafkahttp://clickstack:4318- endpoint HTTP OTLP (utilisez le hostname de votre instance ClickStack)authorization=\${CLICKSTACK_API_KEY}- API key pour l’authentification (obligatoire)service.name=kafka,kafka.broker.id=broker-0- resource attributes pour le filtrage10000- Intervalle de collecte en millisecondes (10 secondes)
5
Vérifier les métriques dans HyperDX
Connectez-vous à HyperDX et vérifiez que les métriques remontent bien :- Accédez à Chart Explorer
- Recherchez
kafka.message.countoukafka.partition.count - Les métriques doivent apparaître toutes les 10 secondes
kafka.message.count- Nombre total de messages traitéskafka.partition.count- Nombre total de partitionskafka.partition.under_replicated- Doit être égal à 0 dans un cluster sainkafka.network.io- Débit réseaukafka.request.time.*- Percentiles de latence des requêtes
Lorsque vous exécutez des commandes du client Kafka (kafka-topics, kafka-console-producer, etc.) depuis le conteneur Kafka, faites-les précéder de
unset JMX_PORT && afin d’éviter les conflits de port JMX.Jeu de données de démonstration
1
Télécharger l’exemple de jeu de données de métriques
Téléchargez les fichiers de métriques pré-générés (29 heures de métriques Kafka avec des schémas réalistes) :- 06:00-08:00: Pic matinal - Forte montée du trafic à partir du niveau nocturne de référence
- 10:00-10:15: Vente flash - Pic spectaculaire à 3,5 fois le trafic normal
- 11:30: Événement de déploiement - Pic de consumer lag multiplié par 12 avec des partitions sous-répliquées
- 14:00-15:30: Pic d’achats - Trafic soutenu à 2,8 fois le niveau de référence
- 17:00-17:30: Pic de fin de journée - Pic de trafic secondaire
- 18:45: Rééquilibrage du consumer - Pic de lag multiplié par 6 pendant le rééquilibrage
- 20:00-22:00: Baisse en soirée - Forte baisse jusqu’aux niveaux nocturnes
2
3
4
Vérifier les métriques dans HyperDX
Une fois chargées, le moyen le plus rapide de visualiser vos métriques est d’utiliser le tableau de bord préconfiguré.Rendez-vous dans la section Tableaux de bord et visualisation pour importer le tableau de bord et afficher toutes les métriques Kafka d’un seul coup.Affichage du fuseau horaireHyperDX affiche les horodatages dans le fuseau horaire local de votre navigateur. Les données de démonstration couvrent 2025-11-05 16:00:00 - 2025-11-06 16:00:00 (UTC). Réglez votre intervalle de temps sur 2025-11-04 16:00:00 - 2025-11-07 16:00:00 pour être sûr de voir les métriques de démonstration, où que vous soyez. Une fois les métriques visibles, vous pouvez réduire l’intervalle à une période de 24 heures pour obtenir des visualisations plus claires.
Tableaux de bord et visualisations
1
la configuration du tableau de bord
2
Importer le tableau de bord préconfiguré
- Ouvrez HyperDX et accédez à la section Dashboards
- Cliquez sur Import Dashboard dans l’angle supérieur droit, dans le menu à trois points
- Téléversez le fichier
kafka-metrics-dashboard.json, puis cliquez sur Finish Import
3
Afficher le tableau de bord
Le tableau de bord sera créé avec toutes les visualisations préconfigurées :Pour le jeu de données de démonstration, définissez l’intervalle de temps sur 2025-11-05 16:00:00 - 2025-11-06 16:00:00 (UTC) (à ajuster selon votre fuseau horaire local). Par défaut, aucun intervalle de temps ne sera défini pour le tableau de bord importé.
Dépannage
Aucune métrique ne s’affiche dans HyperDX
Erreurs d’authentification
Authorization failed ou 401 Unauthorized :
- Vérifiez la clé API dans l’interface utilisateur HyperDX (Paramètres → Clés API → Clé API d’ingestion)
- Exportez-la de nouveau, puis redémarrez :
Conflits de ports avec les commandes du client Kafka
unset JMX_PORT && :
Problèmes de connectivité réseau
Connection refused :
Vérifiez que tous les conteneurs se trouvent sur le même réseau Docker :
Prochaines étapes
- Configurez des alertes pour les métriques critiques (partitions sous-répliquées, hausse du consumer lag, pics de latence des requêtes)
- Créez des tableaux de bord supplémentaires pour des cas d’utilisation spécifiques (débit par topic, surveillance des groupes de consommateurs)
- Surveillez plusieurs brokers Kafka en ajoutant des instances JMX Metric Gatherer supplémentaires avec des attributs de ressource
kafka.broker.iduniques