En brefCollectez et visualisez les logs du broker Kafka (au format Log4j) dans ClickStack avec le receiver OTel
filelog. Inclut un jeu de données de démonstration et un tableau de bord préconfiguré.Intégration avec une installation Kafka existante
Prérequis
- Instance ClickStack en fonctionnement
- Installation Kafka existante (version 2.0 ou ultérieure)
- Accès aux fichiers journaux de Kafka (
server.log,controller.log, etc.)
Vérifier la configuration de journalisation de Kafka
Kafka utilise Log4j et écrit les logs dans le répertoire indiqué par la propriété systèmekafka.logs.dir ou la variable d’environnement LOG_DIR. Vérifiez l’emplacement de votre fichier de logs :server.log: Logs généraux du broker (démarrage, connexions, réplication, erreurs)controller.log: Événements propres au contrôleur (élection du leader, réattribution des partitions)state-change.log: Transitions d’état des partitions et des répliques
Pour les déploiements Kafka basés sur Docker (par ex.,
confluentinc/cp-kafka), la configuration Log4j par défaut inclut uniquement un appender de console — il n’y a pas d’appender de fichier, donc les logs sont écrits uniquement sur stdout. Pour utiliser le receiver filelog, vous devrez rediriger les logs vers un fichier, soit en ajoutant un appender de fichier à log4j.properties, soit en redirigeant stdout (par ex., | tee /var/log/kafka/server.log).Créez une configuration personnalisée de l’OTel collector pour Kafka
ClickStack vous permet d’étendre la configuration de base de l’OpenTelemetry Collector en montant un fichier de configuration personnalisé et en définissant une variable d’environnement. Cette configuration personnalisée est fusionnée avec la configuration de base gérée par HyperDX via OpAMP.Créez un fichier nommékafka-logs-monitoring.yaml contenant la configuration suivante :- Vous ne définissez de nouveaux receivers et pipelines que dans la configuration personnalisée. Les processors (
memory_limiter,transform,batch) et les exporters (clickhouse) sont déjà définis dans la configuration ClickStack de base : il suffit d’y faire référence par leur nom. - La configuration
multilinegarantit que les stack traces sont capturées comme une seule entrée de journal. - Cette configuration utilise
start_at: beginningpour lire tous les logs existants au démarrage du collector. Pour les déploiements de production, remplacez-le parstart_at: endafin d’éviter de réingérer les logs lors du redémarrage du collector.
Configurer ClickStack pour charger une configuration personnalisée
Pour activer une configuration personnalisée du collector dans votre déploiement ClickStack existant, vous devez :- Monter le fichier de configuration personnalisé sur
/etc/otelcol-contrib/custom.config.yaml - Définir la variable d’environnement
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - Monter votre répertoire de logs Kafka afin que le collector puisse les lire
- Docker Compose
- Docker Run (image tout-en-un)
Mettez à jour la configuration de votre déploiement ClickStack :
Assurez-vous que le collecteur ClickStack dispose des autorisations appropriées pour lire les fichiers de logs Kafka. En production, utilisez des montages en lecture seule (
:ro) et appliquez le principe du moindre privilège.Vérifier les logs dans HyperDX
Une fois la configuration terminée, connectez-vous à HyperDX et vérifiez que les logs sont bien ingérés :Jeu de données de démonstration
Créer une configuration de collector de test
Créez un fichier nommékafka-logs-demo.yaml avec la configuration suivante :Exécuter ClickStack avec la configuration de démonstration
Exécutez ClickStack avec les logs de démonstration et cette configuration :Vérifier les logs dans HyperDX
Une fois ClickStack démarré :- Ouvrez HyperDX et connectez-vous à votre compte (vous devrez peut-être d’abord en créer un)
- Accédez à la vue Search et définissez la source sur
Logs - Réglez l’intervalle de temps pour inclure 2026-03-09 00:00:00 - 2026-03-10 00:00:00 (UTC)
Tableaux de bord et visualisations
la configuration du tableau de bord
Importer un tableau de bord préconfiguré
- Ouvrez HyperDX et accédez à la section Dashboards.
- Cliquez sur « Import Dashboard » en haut à droite, sous le menu à trois points.
- Téléversez le fichier kafka-logs-dashboard.json, puis cliquez sur « Finish import ».
Le tableau de bord sera créé avec toutes les visualisations préconfigurées
Pour le jeu de données de démonstration, définissez la plage horaire pour inclure 2026-03-09 00:00:00 - 2026-03-10 00:00:00 (UTC).Résolution des problèmes
regex_parser en conséquence.
Prochaines étapes
- Configurez des alertes pour les événements critiques (pannes de broker, erreurs de réplication, problèmes de groupe de consommateurs)
- Combinez avec les métriques Kafka pour une supervision complète de Kafka
- Créez des Dashboards supplémentaires pour des cas d’utilisation précis (événements du contrôleur, réaffectation des partitions)