ResumoColete e visualize os logs do broker Kafka (formato Log4j) no ClickStack usando o receiver
filelog do OTel. Inclui um conjunto de dados de demonstração e um dashboard pré-configurado.Integração com Kafka existente
Pré-requisitos
- Instância do ClickStack em execução
- Instalação existente do Kafka (versão 2.0 ou superior)
- Acesso aos arquivos de log do Kafka (
server.log,controller.log, etc.)
Verifique a configuração de logging do Kafka
O Kafka usa Log4j e grava os logs no diretório especificado pela propriedade do sistemakafka.logs.dir ou pela variável de ambiente LOG_DIR. Verifique onde seu arquivo de log está localizado:server.log: Logs gerais do broker (inicialização, conexões, replicação, erros)controller.log: Eventos específicos do controlador (eleição de líder, reatribuição de partições)state-change.log: Transições de estado de partições e réplicas
Para implantações do Kafka baseadas em Docker (por exemplo,
confluentinc/cp-kafka), a configuração padrão do Log4j inclui apenas um appender de console — não há appender de arquivo, portanto os logs são gravados apenas no stdout. Para usar o receiver filelog, você precisará redirecionar os logs para um arquivo, seja adicionando um appender de arquivo ao log4j.properties ou encaminhando o stdout por um pipe (por exemplo, | tee /var/log/kafka/server.log).Crie uma configuração personalizada do OTel collector para o Kafka
O ClickStack permite estender a configuração básica do OpenTelemetry Collector montando um arquivo de configuração personalizado e definindo uma variável de ambiente. A configuração personalizada é mesclada à configuração básica gerenciada pelo HyperDX via OpAMP.Crie um arquivo chamadokafka-logs-monitoring.yaml com a seguinte configuração:- Você só precisa definir novos receivers e pipelines na configuração personalizada. Os processors (
memory_limiter,transform,batch) e exporters (clickhouse) já estão definidos na configuração base do ClickStack — basta referenciá-los pelo nome. - A configuração
multilinegarante que stack traces sejam capturados como uma única entrada de log. - Esta configuração usa
start_at: beginningpara ler todos os logs existentes quando o coletor é iniciado. Em implantações de produção, altere parastart_at: endpara evitar ingerir novamente os logs quando o coletor for reiniciado.
Configure o ClickStack para carregar uma configuração personalizada
Para habilitar uma configuração personalizada do coletor na implantação existente do ClickStack, você deve:- Montar o arquivo de configuração personalizado em
/etc/otelcol-contrib/custom.config.yaml - Definir a variável de ambiente
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - Montar o diretório de logs do Kafka para que o coletor possa lê-los
- Docker Compose
- Docker Run (Imagem All-in-One)
Atualize a configuração da implantação do ClickStack:
Certifique-se de que o coletor do ClickStack tenha as permissões adequadas para ler os arquivos de log do Kafka. Em produção, use montagens somente leitura (
:ro) e siga o princípio do menor privilégio.Verifique os logs no HyperDX
Depois de configurar, faça login no HyperDX e verifique se os logs estão chegando:Conjunto de dados de demonstração
Crie uma configuração de teste do collector
Crie um arquivo chamadokafka-logs-demo.yaml com a seguinte configuração:Execute o ClickStack com a configuração de demonstração
Execute o ClickStack com os logs de demonstração e essa configuração:Verifique os logs no HyperDX
Depois que o ClickStack estiver em execução:- Abra o HyperDX e faça login na sua conta (talvez seja necessário criar uma conta primeiro)
- Vá para a Search view e defina a source como
Logs - Defina o intervalo de tempo para incluir 2026-03-09 00:00:00 - 2026-03-10 00:00:00 (UTC)
Dashboards e visualização
a configuração do dashboard
Importe o dashboard pré-configurado
- Abra o HyperDX e navegue até a seção Dashboards.
- Clique em “Import Dashboard” no canto superior direito, no menu de reticências.
- Faça upload do arquivo kafka-logs-dashboard.json e clique em Finish Import.
O dashboard será criado com todas as visualizações pré-configuradas
Para o dataset de demonstração, defina o intervalo de tempo para incluir 2026-03-09 00:00:00 - 2026-03-10 00:00:00 (UTC).Solução de problemas
regex_parser conforme necessário.
Próximos passos
- Configure alertas para eventos críticos (falhas de broker, erros de replicação e problemas de consumer group)
- Use junto com Kafka Metrics para um monitoramento completo do Kafka
- Crie dashboards adicionais para casos de uso específicos (eventos do controller, reatribuição de partições)