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:

  1. Utworzenie obszaru roboczego usługi Log Analytics. Aby uzyskać więcej informacji, zobacz dokument Dzienniki w usłudze Azure Monitor .

  2. 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 ).

  3. 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

  1. W witrynie Azure Portal wybierz obszar roboczy usługi Log Analytics.

  2. 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. Obecnie dla zapytań są dostępne następujące dzienniki:

    Typ dziennika opis
    log_kafkaserver_CL Server.log brokera platformy Kafka
    log_kafkacontroller_CL Controller.log brokera platformy Kafka
    metrics_kafka_CL Metryki platformy Kafka JMX

    Apache kafka log analytics cpu usage.

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: