Condividi tramite


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.

Posizione dei log

I log di Apache Kafka nel cluster si trovano in /var/log/kafka. I log di Kafka non vengono salvati o persistono nei cicli di vita del cluster, indipendentemente dall'uso di 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 Log del controller se il broker funge da controller.
statechange.log Tutti gli eventi di modifica dello stato per i broker vengono registrati in questo file.
kafka-gc.log Statistiche sulla Garbage Collection di 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 di 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 nell’intervallo 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 di 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. Per un elenco dei log disponibili per le query, vedere Carico di lavoro di Kafka.

    Utilizzo della CPU di analisi dei log di Apache Kafka.

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: