Analyze logs for Apache Kafka on HDInsight (Analizowanie dzienników na potrzeby platformy Apache Kafka w usłudze HDInsight)
Dowiedz się, jak używać dzienników usługi Azure Monitor do analizowania dzienników generowanych przez platformę Apache Kafka w usłudze HDInsight.
Uwaga
Ten artykuł został niedawno zaktualizowany, aby użyć terminu Dzienniki usługi Azure Monitor zamiast usługi Log Analytics. Dane dziennika są nadal przechowywane w obszarze roboczym usługi Log Analytics i są nadal zbierane i analizowane przez tę samą usługę Log Analytics. Aktualizujemy terminologię, aby lepiej odzwierciedlać rolę dzienników w usłudze Azure Monitor. Aby uzyskać szczegółowe informacje, zobacz Zmiany terminologii usługi Azure Monitor.
Lokalizacja dzienników
Dzienniki platformy Apache Kafka w klastrze znajdują się w lokalizacji /var/log/kafka
. Dzienniki platformy Kafka nie są zapisywane ani utrwalane w cyklach życia klastra, niezależnie od tego, czy są używane dyski zarządzane. W poniższej tabeli przedstawiono dostępne dzienniki.
Dziennik | opis |
---|---|
kafka.out | stdout i stderr procesu Kafka. W tym pliku znajdziesz dzienniki uruchamiania i zamykania platformy Kafka. |
server.log | Główny dziennik serwera platformy Kafka. Wszystkie dzienniki brokera platformy Kafka kończą się tutaj. |
controller.log | Kontroler rejestruje, czy broker działa jako kontroler. |
statechange.log | Wszystkie zdarzenia zmiany stanu na brokerów są rejestrowane w tym pliku. |
kafka-gc.log | Statystyki odzyskiwania pamięci platformy Kafka. |
Włączanie dzienników usługi Azure Monitor dla platformy Apache Kafka
Kroki włączania dzienników usługi Azure Monitor dla usługi HDInsight są takie same dla wszystkich klastrów usługi HDInsight. Skorzystaj z poniższych linków, aby dowiedzieć się, jak utworzyć i skonfigurować wymagane usługi:
Utworzenie obszaru roboczego usługi Log Analytics. Aby uzyskać więcej informacji, zobacz dokument Dzienniki w usłudze Azure Monitor .
Tworzenie platformy Kafka w klastrze usługi HDInsight. Aby uzyskać więcej informacji, zobacz dokument Start with Apache Kafka on HDInsight (Rozpoczynanie pracy z platformą Apache Kafka w usłudze HDInsight ).
Skonfiguruj klaster Platformy Kafka do korzystania z dzienników usługi Azure Monitor. Aby uzyskać więcej informacji, zobacz dokument Monitorowanie usługi HDInsight przy użyciu dzienników usługi Azure Monitor.
Ważne
Zanim dane będą dostępne dla dzienników usługi Azure Monitor, może upłynąć około 20 minut.
Wykonywanie zapytań dotyczących dzienników
W witrynie Azure Portal wybierz obszar roboczy usługi Log Analytics.
W menu po lewej stronie w obszarze Ogólne wybierz pozycję Dzienniki. W tym miejscu możesz przeszukiwać dane zebrane z platformy Kafka. Wprowadź zapytanie w oknie zapytania, a następnie wybierz pozycję Uruchom. Poniżej przedstawiono kilka przykładowych wyszukiwań:
Użycie dysku:
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)
Użycie procesora 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)
Komunikaty przychodzące na sekundę: (Zastąp
your_kafka_cluster_name
ciąg nazwą klastra).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)
Bajty przychodzące na sekundę: (Zastąp
wn0-kafka
ciąg nazwą hosta węzła roboczego).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)
Bajty wychodzące na sekundę: (Zastąp
your_kafka_cluster_name
ciąg nazwą klastra).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)
Możesz również wprowadzić wyszukiwanie
*
wszystkich zarejestrowanych typów. Aby uzyskać listę dzienników dostępnych dla zapytań, zobacz Obciążenie platformy Kafka.
Następne kroki
Aby uzyskać więcej informacji na temat usługi Azure Monitor, zobacz Omówienie usługi Azure Monitor i Wykonywanie zapytań dotyczących dzienników usługi Azure Monitor w celu monitorowania klastrów usługi HDInsight.
Aby uzyskać więcej informacji na temat pracy z platformą Apache Kafka, zobacz następujące dokumenty:
- Dublowanie platformy Apache Kafka między klastrami usługi HDInsight
- Zwiększanie skali platformy Apache Kafka w usłudze HDInsight
- Używanie przesyłania strumieniowego platformy Apache Spark (DStreams) z platformą Apache Kafka
- Używanie przesyłania strumieniowego ze strukturą platformy Apache Spark z platformą Apache Kafka