Analysieren von Protokollen für Apache Kafka in HDInsight
Erfahren Sie, wie Sie mithilfe von Azure Monitor-Protokollen in Apache Kafka generierte Protokolle in HDInsight analysieren.
Hinweis
Dieser Artikel wurde kürzlich aktualisiert, um den Begriff Azure Monitor-Protokolle anstelle von Log Analytics aufzunehmen. Protokolldaten werden immer noch in einem Log Analytics-Arbeitsbereich gespeichert und weiterhin mit dem gleichen Log Analytics-Dienst erfasst und analysiert. Die Terminologie hat sich geändert, um der Rolle von Protokollen in Azure Monitor besser Rechnung zu tragen. Weitere Informationen finden Sie unter Terminologieänderungen bei Azure Monitor.
Protokollspeicherort
Apache Kafka-Protokolle im Cluster befinden sich unter /var/log/kafka
. Kafka-Protokolle werden unabhängig davon, ob verwaltete Datenträger verwendet werden, nicht über Clusterlebenszyklen hinweg gespeichert oder beibehalten. Die verfügbaren Protokolle sind in der nachfolgenden Tabelle aufgeführt.
Log | BESCHREIBUNG |
---|---|
kafka.out | „stdout“ und „stderr“ des Kafka-Prozesses. In dieser Datei finden Sie die Protokolle zum Starten und Herunterfahren von Kafka. |
server.log | Das Hauptprotokoll des Kafka-Servers. Alle Kafka-Brokerprotokolle werden hierin aufgenommen. |
controller.log | Controllerprotokolle, wenn der Broker als Controller fungiert. |
statechange.log | Alle Statusänderungsereignisse für Broker werden in dieser Datei protokolliert. |
kafka-gc.log | Statistiken zur Kafka-Garbage Collection. |
Azure Monitor-Protokolle für Apache Kafka aktivieren
Die Schritte zum Aktivieren von Azure Monitor-Protokollen für HDInsight sind für alle HDInsight-Cluster identisch. Verwenden Sie die folgenden Links, um zu verstehen, wie die erforderlichen Dienste erstellt und konfiguriert werden:
Erstellen Sie einen Log Analytics-Arbeitsbereich. Weitere Informationen finden Sie im Dokument Protokolle in Azure Monitor.
Erstellen Sie ein Kafka-Cluster im HDInsight-Cluster. Weitere Informationen finden Sie unter Einstieg in Apache Kafka in HDInsight.
Konfigurieren Sie den Kafka-Cluster für die Verwendung von Azure Monitor-Protokollen. Weitere Informationen finden Sie im Dokument Verwenden von Azure Monitor-Protokollen zum Überwachen von HDInsight.
Wichtig
Es dauert ca. 20 Minuten, bis die Daten für Azure Monitor-Protokolle zur Verfügung stehen.
Abfrageprotokolle
Wählen Sie im Azure-Portal Ihren Log Analytics-Arbeitsbereich aus.
Wählen Sie im linken Menü unter Allgemein die Option Protokolle aus. In dieser Ansicht können Sie die von Kafka gesammelten Daten suchen. Geben Sie eine Abfrage im Abfragefenster ein, und wählen Sie dann Ausführen aus. Nachfolgend sehen Sie einige Beispielsuchen:
Datenträgerauslastung:
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)
CPU-Auslastung:
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)
Eingehende Nachrichten pro Sekunde: (Ersetzen Sie
your_kafka_cluster_name
durch den Namen des Clusters.)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)
Eingehende Bytes pro Sekunde: (Ersetzen Sie
wn0-kafka
durch den Hostnamen eines Workerknotens.)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)
Ausgehende Bytes pro Sekunde: (Ersetzen Sie
your_kafka_cluster_name
durch den Namen des Clusters.)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)
Sie können auch
*
eingeben, um alle protokollierte Typen zu suchen. Eine Liste der Protokolle, die für Abfragen verfügbar sind, finden Sie unter Kafka Workload.
Nächste Schritte
Weitere Informationen zu Azure Monitor finden Sie unter Azure Monitor – Übersicht und Abfragen von Azure Monitor-Protokollen zum Überwachen von HDInsight-Clustern.
Weitere Informationen zum Arbeiten mit Apache Kafka finden Sie in den folgenden Dokumenten: