Analizzare i log per Apache Kafka in HDInsight

Informazioni su come usare i log di Monitoraggio di Azure per analizzare i log generati da Apache Kafka in HDInsight.

Nota

Questo articolo è stato aggiornato di recente in modo da usare il termine log di Monitoraggio di Azure anziché Log Analytics. I dati di log vengono comunque archiviati in un'area di lavoro Log Analytics e vengano ancora raccolti e analizzati dallo stesso servizio Log Analytics. Si sta procedendo a un aggiornamento della terminologia per riflettere meglio il ruolo dei log in Monitoraggio di Azure. Per informazioni dettagliate, vedere Modifiche della terminologia di Monitoraggio di Azure.

Percorso log

I log di Apache Kafka nel cluster si trovano in /var/log/kafka. I log Kafka non vengono salvati o persistenti nei cicli di vita del cluster, indipendentemente dal fatto che i dischi gestiti vengano usati. La tabella seguente mostra i log disponibili.

Registro Descrizione
kafka.out stdout e stderr del processo Kafka. I log di avvio e arresto di Kafka sono disponibili in questo file.
server.log Log del server Kafka principale. Tutti i log del broker Kafka finiscono qui.
controller.log Log del controller se il broker funge da controller.
statechange.log Tutti gli eventi di modifica dello stato ai broker vengono registrati in questo file.
kafka-gc.log Statistiche di Garbage Collection kafka.

Abilitare i log di Monitoraggio di Azure per Apache Kafka

I passaggi per abilitare i log di Monitoraggio di Azure per HDInsight sono uguali per tutti i cluster HDInsight. Per informazioni su come creare e configurare i servizi richiesti, usare i collegamenti seguenti:

  1. Creare un'area di lavoro Log Analytics. Per altre informazioni, vedere il documento Log in Monitoraggio di Azure .

  2. Creare un cluster Kafka in HDInsight. Per altre informazioni, vedere il documento su come iniziare a usare Apache Kafka in HDInsight.

  3. Configurare il cluster Kafka per usare i log di Monitoraggio di Azure. Per altre informazioni, vedere Usare i log di Monitoraggio di Azure per monitorare il documento HDInsight .

Importante

Potrebbero essere necessari circa 20 minuti prima che i dati siano disponibili per i log di Monitoraggio di Azure.

Log di query

  1. Nella portale di Azure selezionare l'area di lavoro Log Analytics.

  2. Dal menu a sinistra, in Generale, selezionare Log. Qui è possibile cercare i dati raccolti da Kafka. Immettere una query nella finestra di query e quindi selezionare Esegui. Di seguito alcuni esempi di ricerche:

  • Utilizzo del disco:

    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)
    
  • Utilizzo della CPU:

    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)
    
  • Messaggi in ingresso al secondo: (Sostituire your_kafka_cluster_name con il nome del 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)
    
  • Byte in ingresso al secondo: (Sostituire wn0-kafka con un nome host del nodo di lavoro).

    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)
    
  • Byte in uscita al secondo: (Sostituire your_kafka_cluster_name con il nome del 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)
    

    È anche possibile immettere * per cercare tutti i tipi registrati. Questi log sono attualmente disponibili per le query:

    Tipo di log Descrizione
    log_kafkaserver_CL Kafka broker server.log
    log_kafkacontroller_CL Kafka broker controller.log
    metrics_kafka_CL Metriche JMX Kafka

    Apache kafka log analytics cpu usage

Passaggi successivi

Per altre informazioni su Monitoraggio di Azure, vedere Panoramica di Monitoraggio di Azure e Eseguire query sui log di Monitoraggio di Azure per monitorare i cluster HDInsight.

Per altre informazioni sull'uso di Apache Kafka, vedere i documenti seguenti: