Analise logs do Apache Kafka no HDInsight

Saiba como usar os logs do Azure Monitor para analisar os logs gerados pelo Apache Kafka no HDInsight.

Observação

Este artigo foi atualizado recentemente para usar o termo logs do Azure Monitor em vez de Log Analytics. Os dados de log ainda são armazenados em um espaço de trabalho do Log Analytics e ainda são coletados e analisados pelo mesmo serviço do Log Analytics. Estamos atualizando a terminologia para refletir melhor a função dos logs no Azure Monitor. Confira as alterações de terminologia do Azure Monitor para obter detalhes.

Local dos logs

Os logs de Apache Kafka no cluster estão localizados em /var/log/kafka. Os logs do Kafka não são salvos ou persistidos entre os ciclos de vida do cluster, independentemente de os discos gerenciados serem usados. A tabela a seguir mostra os logs disponíveis.

Log Descrição
kafka.out stdout e stderr do processo Kafka. Você encontrará logs de inicialização e desligamento do Kafka neste arquivo.
server.log O log principal do servidor do Kafka. Todos os logs do agente do Kafka terminam aqui.
controller.log Os logs do controlador se o agente estiver agindo como controlador.
statechange.log Todos os eventos de alteração de estado para os agentes são registrados nesse arquivo.
kafka-gc.log Estatísticas de Coleta de Lixo do Kafka.

Habilitar logs de Azure Monitor para Apache Kafka

As etapas para habilitar os logs do Azure Monitor para o HDInsight são as mesmas para todos os clusters HDInsight. Use os links a seguir para entender como criar e configurar os serviços necessários:

  1. Criar um espaço de trabalho do Log Analytics. Para obter mais informações, consulte o documento Logs no Azure Monitor.

  2. Criar um Kafka no cluster HDInsight. Para obter mais informações, consulte o documento Introdução ao Apache Kafka no HDInsight.

  3. Configure o cluster Kafka para usar logs de Azure Monitor. Para obter mais informações, consulte o documento Usar os logs do Azure Monitor para monitorar o HDInsight.

Importante

Pode levar cerca de 20 minutos antes dos dados serem disponibilizados para os logs do Azure Monitor.

Logs de consulta

  1. No Portal do Azure, selecione o espaço de trabalho do Log Analytics.

  2. No menu à esquerda, em Geral, selecione Logs. A partir desse ponto, é possível pesquisar os dados coletados do Kafka. Insira uma consulta na janela de consulta e, em seguida, selecione Executar. Veja a seguir alguns exemplos de pesquisas:

  • Uso de 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)
    
  • Uso de 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)
    
  • Mensagens de entrada por segundo: (Substitua your_kafka_cluster_name pelo nome do 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)
    
  • Bytes de entrada por segundo: (Substitua wn0-kafka por um nome de host do nó de trabalho.)

    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)
    
  • Bytes de saída por segundo: (Substitua your_kafka_cluster_name pelo nome do 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)
    

    Também é possível inserir * para pesquisas todos os tipos registrados. Atualmente, os logs a seguir estão disponíveis para consultas:

    Tipo de log Descrição
    log_kafkaserver_CL Kafka broker server.log
    log_kafkacontroller_CL Kafka broker controller.log
    metrics_kafka_CL Métricas do Kafka JMX

    Apache kafka log analytics cpu usage.

Próximas etapas

Para obter mais informações sobre Azure Monitor, consulte Visão geral do Azure Monitor e Consultar logs do Azure Monitor para monitorar clusters HDInsight.

Para saber mais sobre como trabalhar com o Apache Kafka, confira os seguintes documentos: