Analyser les journaux d’activité pour Apache Kafka sur HDInsight

Découvrez comment utiliser les journaux Azure Monitor pour analyser les journaux d’activité générés par Apache Kafka sur HDInsight.

Notes

Cet article a récemment été mis à jour pour utiliser le terme journaux d’activité Azure Monitor au lieu de Log Analytics. Les données de journal sont toujours stockées dans un espace de travail Log Analytics, et elles sont toujours collectées et analysées par le même service Log Analytics. Nous mettons la terminologie à jour pour mieux refléter le rôle des journaux d’activité dans Azure Monitor. Pour plus d'informations, consultez Modifications de la terminologie d'Azure Monitor.

Emplacement des journaux

Les journaux Apache Kafka du cluster se trouvent sous /var/log/kafka. Les journaux Kafka ne sont pas enregistrés ni conservés sur les cycles de vie des clusters, et ce, que des disques managés soient utilisés ou non. Le tableau suivant présente les journaux disponibles.

Journal Description
kafka.out stdout et stderr du processus Kafka. Vous trouverez les journaux de démarrage et d’arrêt Kafka dans ce fichier.
server.log Journal principal du serveur Kafka. Tous les journaux du répartiteur Kafka se trouvent ici.
controller.log Journaux de contrôleur si le répartiteur agit comme contrôleur.
statechange.log Tous les événements de changement d’état des répartiteurs sont journalisés dans ce fichier.
kafka-gc.log Statistiques de nettoyage de la mémoire Kafka.

Activer les journaux Azure Monitor pour Apache Kafka

Les étapes permettant d’activer les journaux Azure Monitor pour HDInsight sont les mêmes pour tous les clusters HDInsight. Utilisez les liens suivants pour apprendre à créer et à configurer les services requis :

  1. Créez un espace de travail Log Analytics. Pour plus d’informations, consultez le document Journaux d’activité dans Azure Monitor.

  2. Créez un cluster Kafka dans HDInsight. Pour plus d’informations, consultez le document Démarrer avec Apache Kafka dans HDInsight.

  3. Configurez le cluster Kafka pour utiliser les journaux Azure Monitor. Pour plus d’informations, consultez le document Use Azure Monitor logs to monitor HDInsight (Utiliser les journaux Azure Monitor pour surveiller HDInsight).

Important

Un délai de 20 minutes peut s’écouler avant que les données ne soient disponibles pour les journaux Azure Monitor.

Journaux d’activité des requêtes

  1. Dans le portail Azure, sélectionnez votre espace de travail Log Analytics.

  2. Dans le menu de gauche, sous Général, sélectionnez Journaux d’activité. À ce stade, vous pouvez rechercher les données collectées par Kafka. Entrez une requête dans la fenêtre de requête, puis sélectionnez Exécuter. Voici quelques exemples de recherches :

  • Utilisation du disque :

    Perf
    | where ObjectName == "Logical Disk" and CounterName == "Free Megabytes" and InstanceName == "_Total" and ((Computer startswith_cs "hn" and Computer contains_cs "-") or (Computer startswith_cs "wn" and Computer contains_cs "-")) 
    | summarize AggregatedValue = avg(CounterValue) by Computer, bin(TimeGenerated, 1h)
    
  • Utilisation de l’UC :

    Perf 
    | where CounterName == "% Processor Time" and InstanceName == "_Total" and ((Computer startswith_cs "hn" and Computer contains_cs "-") or (Computer startswith_cs "wn" and Computer contains_cs "-")) 
    | summarize AggregatedValue = avg(CounterValue) by Computer, bin(TimeGenerated, 1h)
    
  • Messages entrants par seconde : ( remplacez your_kafka_cluster_name par le nom de votre cluster.)

    metrics_kafka_CL 
    | where ClusterName_s == "your_kafka_cluster_name" and InstanceName_s == "kafka-BrokerTopicMetrics-MessagesInPerSec-Count" 
    | summarize AggregatedValue = avg(kafka_BrokerTopicMetrics_MessagesInPerSec_Count_value_d) by HostName_s, bin(TimeGenerated, 1h)
    
  • Octets entrants par seconde : ( remplacez wn0-kafka par un nom d’hôte du nœud Worker.)

    metrics_kafka_CL 
    | where HostName_s == "wn0-kafka" and InstanceName_s == "kafka-BrokerTopicMetrics-BytesInPerSec-Count" 
    | summarize AggregatedValue = avg(kafka_BrokerTopicMetrics_BytesInPerSec_Count_value_d) by bin(TimeGenerated, 1h)
    
  • Octets sortants par seconde : ( remplacez your_kafka_cluster_name par le nom de votre cluster.)

    metrics_kafka_CL 
    | where ClusterName_s == "your_kafka_cluster_name" and InstanceName_s == "kafka-BrokerTopicMetrics-BytesOutPerSec-Count" 
    | summarize AggregatedValue = avg(kafka_BrokerTopicMetrics_BytesOutPerSec_Count_value_d) by bin(TimeGenerated, 1h)
    

    Vous pouvez également entrer * pour rechercher tous les types consignés. Actuellement, les fichiers journaux d’activité suivants sont disponibles pour les requêtes :

    Type de journal Description
    log_kafkaserver_CL Kafka broker server.log
    log_kafkacontroller_CL Kafka broker controller.log
    metrics_kafka_CL Mesures JMX Kafka

    Apache kafka log analytics cpu usage.

Étapes suivantes

Pour plus d’informations sur Azure Monitor, consultez Vue d’ensemble d’Azure Monitor et Interroger les journaux Azure Monitor pour surveiller les clusters HDInsight.

Pour plus d’informations sur l’utilisation d’Apache Kafka, consultez les documents suivants :