Collecteur de données Kafka
Data Infrastructure Insights utilise ce collecteur de données pour collecter des métriques à partir de Kafka.
Installation
-
Depuis Observabilité > Collecteurs, cliquez sur +Collecteur de données. Choisissez Kafka.
Sélectionnez le système d’exploitation ou la plate-forme sur laquelle l’agent Telegraf est installé.
-
Si vous n'avez pas encore installé d'agent pour la collecte, ou si vous souhaitez installer un agent pour un autre système d'exploitation ou une autre plate-forme, cliquez sur Afficher les instructions pour développer le"Installation de l'agent" instructions.
-
Sélectionnez la clé d’accès de l’agent à utiliser avec ce collecteur de données. Vous pouvez ajouter une nouvelle clé d'accès d'agent en cliquant sur le bouton + Clé d'accès d'agent. Meilleure pratique : utilisez une clé d’accès d’agent différente uniquement lorsque vous souhaitez regrouper des collecteurs de données, par exemple par système d’exploitation/plateforme.
-
Suivez les étapes de configuration pour configurer le collecteur de données. Les instructions varient en fonction du type de système d’exploitation ou de plate-forme que vous utilisez pour collecter des données.
Installation
Le plugin Kafka est basé sur le plugin Jolokia de Telegraf. En tant qu'exigence de collecte d'informations auprès de tous les courtiers Kafka, JMX doit être configuré et exposé via Jolokia sur tous les composants.
Compatibilité
La configuration a été développée sur la version 0.11.0.2 de Kafka.
Mise en place
Toutes les instructions ci-dessous supposent que votre emplacement d'installation pour Kafka est « /opt/kafka ». Vous pouvez adapter les instructions ci-dessous pour refléter votre emplacement d'installation.
Agent Jar Jolokia
Une version du fichier jar de l'agent Jolokia doit être"téléchargé" . La version testée était l'agent Jolokia 1.6.0.
Les instructions ci-dessous supposent que le fichier jar téléchargé (jolokia-jvm-1.6.0-agent.jar) est placé sous l'emplacement « /opt/kafka/libs/ ».
Courtiers Kafka
Pour configurer Kafka Brokers afin d'exposer l'API Jolokia, vous pouvez ajouter ce qui suit dans <KAFKA_HOME>/bin/kafka-server-start.sh, juste avant l'appel 'kafka-run-class.sh' :
export JMX_PORT=9999 export RMI_HOSTNAME=`hostname -I` export KAFKA_JMX_OPTS="-javaagent:/opt/kafka/libs/jolokia-jvm-1.6.0-agent.jar=port=8778,host=0.0.0.0 -Dcom.sun.management.jmxremote.password.file=/opt/kafka/config/jmxremote.password -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=$RMI_HOSTNAME -Dcom.sun.management.jmxremote.rmi.port=$JMX_PORT"
Notez que l'exemple ci-dessus utilise « hostname -I » pour configurer la variable d'environnement « RMI_HOSTNAME ». Dans le cas de machines à plusieurs IP, cela devra être modifié pour collecter l'IP qui vous intéresse pour les connexions RMI.
Vous pouvez choisir un port différent pour JMX (9999 ci-dessus) et Jolokia (8778). Si vous disposez d'une IP interne sur laquelle verrouiller Jolokia, vous pouvez remplacer le « catch all » 0.0.0.0 par votre propre IP. Notez que cette IP doit être accessible depuis le plugin Telegraf. Vous pouvez utiliser l'option '-Dcom.sun.management.jmxremote.authenticate=false' si vous ne souhaitez pas vous authentifier. Utilisez-le à vos propres risques.
Objets et compteurs
Les objets suivants et leurs compteurs sont collectés :
Objet: | Identifiants : | Attributs: |
---|---|---|
Courtier Kafka |
Courtier d'espace de noms de cluster |
Nom du nœud IP du nœud |
Dépannage
Des informations complémentaires peuvent être trouvées à partir du"Support" page.