Analyze logs for Apache Kafka on HDInsight (Analisar registos do Apache Kafka no HDInsight)

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

Nota

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. Consulte Alterações de terminologia do Azure Monitor para obter detalhes.

Localização dos registos

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

Registo Description
kafka.out stdout e stderr do processo de Kafka. Você encontrará os logs de inicialização e desligamento do Kafka neste arquivo.
server.log O log principal do servidor Kafka. Todos os registros do corretor Kafka acabam aqui.
controller.log O controlador registra se o broker está agindo como controlador.
statechange.log Todos os eventos de alteração de estado para corretores são registrados neste arquivo.
kafka-gc.log Estatísticas de Kafka Garbage Collection.

Habilitar logs do Azure Monitor para Apache Kafka

As etapas para habilitar os logs do Azure Monitor para 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 uma área de trabalho do Log Analytics. Para obter mais informações, consulte o documento Logs no Azure Monitor .

  2. Crie um cluster Kafka no HDInsight. Para obter mais informações, consulte o documento Iniciar com o Apache Kafka no HDInsight .

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

Importante

Pode levar cerca de 20 minutos até que os dados estejam disponíveis para os logs do Azure Monitor.

Logs de consulta

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

  2. No menu à esquerda, em Geral, selecione Logs. A partir daqui, você pode pesquisar os dados coletados de Kafka. Insira uma consulta na janela de consulta e selecione Executar. Seguem-se alguns exemplos de pesquisas:

  • Utilização do 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 da 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 recebidas 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)
    

    Você também pode entrar * para pesquisar todos os tipos registrados. Atualmente, os seguintes logs estão disponíveis para consultas:

    Tipo de log Description
    log_kafkaserver_CL Corretor Kafka server.log
    log_kafkacontroller_CL Corretor Kafka controller.log
    metrics_kafka_CL Métricas Kafka JMX

    Apache kafka log analytics cpu usage.

Próximos passos

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

Para obter mais informações sobre como trabalhar com o Apache Kafka, consulte os seguintes documentos: