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 dei log

I log di Apache Kafka nel cluster si trovano in /var/log/kafka. I log Kafka non vengono salvati o salvati in modo permanente tra i cicli di vita del cluster, indipendentemente dal fatto che vengano usati dischi gestiti. Nella tabella seguente vengono illustrati i log disponibili.

Log 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 principale del server Kafka. Tutti i log del broker Kafka finiscono qui.
controller.log Il controller registra se il broker funge da controller.
statechange.log Tutti gli eventi di modifica dello stato in 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 gli stessi 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 l'uso dei log di Monitoraggio di Azure. Per altre informazioni, vedere il documento Usare i log di Monitoraggio di Azure per monitorare 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. Nel portale di Azure selezionare l'area di lavoro Log Analytics.

  2. Nel 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 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 arrivo 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 registro 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: