Skip to main content
ResumoMonitore as métricas de desempenho do Apache Kafka no ClickStack usando o OTel JMX Metric Gatherer. Inclui um dataset de demonstração e um dashboard pré-configurado.

Integração com uma implantação existente do Kafka

Monitore sua implantação atual do Kafka executando o contêiner OpenTelemetry JMX Metric Gatherer para coletar métricas e enviá-las ao ClickStack via OTLP. Se quiser testar essa integração primeiro sem modificar sua configuração atual, vá para a seção do dataset de demonstração.
Pré-requisitos
  • Instância do ClickStack em execução
  • Instalação existente do Kafka (versão 2.0 ou superior) com JMX habilitado
  • Acesso à rede entre o ClickStack e o Kafka (porta JMX 9999, porta Kafka 9092)
  • JAR do OpenTelemetry JMX Metric Gatherer (instruções de download abaixo)
1

Obtenha a API key do ClickStack

O JMX Metric Gatherer envia dados para o endpoint OTLP do ClickStack, que exige autenticação.
  1. Abra o HyperDX na URL do seu ClickStack (por exemplo, http://localhost:8080)
  2. Crie uma conta ou faça login, se necessário
  3. Acesse Team Settings → API Keys
  4. Copie sua API key de ingestão
  1. Defina-a como uma variável de ambiente:
2

Faça download do JMX Metric Gatherer do OpenTelemetry

Baixe o arquivo JAR do JMX Metric Gatherer:
3

Verifique se o JMX do Kafka está habilitado

Certifique-se de que o JMX esteja habilitado nos brokers do Kafka. Para implantações com Docker:
Para implantações que não usam Docker, defina o seguinte na inicialização do Kafka:
Verifique se o JMX está acessível:
4

Implante o JMX Metric Gatherer com Docker Compose

Este exemplo mostra uma configuração completa com Kafka, o JMX Metric Gatherer e ClickStack. Ajuste os nomes dos serviços e os endpoints para corresponder à sua implantação existente:
Principais parâmetros de configuração:
  • service:jmx:rmi:///jndi/rmi://kafka:9999/jmxrmi - URL de conexão JMX (use o hostname do seu Kafka)
  • otel.jmx.target.system=kafka - Habilita métricas específicas do Kafka
  • http://clickstack:4318 - endpoint HTTP OTLP (use o hostname do seu ClickStack)
  • authorization=\${CLICKSTACK_API_KEY} - API key para autenticação (obrigatória)
  • service.name=kafka,kafka.broker.id=broker-0 - Atributos de resource para filtragem
  • 10000 - Intervalo de coleta em milissegundos (10 segundos)
5

Verifique as métricas no HyperDX

Faça login no HyperDX e confirme que as métricas estão sendo coletadas:
  1. Acesse o Chart Explorer
  2. Pesquise por kafka.message.count ou kafka.partition.count
  3. As métricas devem aparecer em intervalos de 10 segundos
Principais métricas para verificar:
  • kafka.message.count - Total de mensagens processadas
  • kafka.partition.count - Total de partições
  • kafka.partition.under_replicated - Deve ser 0 em um cluster saudável
  • kafka.network.io - Throughput de rede
  • kafka.request.time.* - Percentis de latência das requisições
Para gerar atividade e preencher mais métricas:
Ao executar comandos do cliente Kafka (kafka-topics, kafka-console-producer etc.) de dentro do contêiner do Kafka, adicione o prefixo unset JMX_PORT && para evitar conflitos de porta do JMX.

Dataset de demonstração

Para usuários que querem testar a integração Kafka Metrics antes de configurar seus sistemas de produção, fornecemos um dataset pré-gerado com padrões realistas de métricas do Kafka.
1

Baixe o dataset de exemplo de métricas

Baixe os arquivos de métricas pré-gerados (29 horas de métricas do Kafka com padrões realistas):
O dataset inclui padrões realistas para um cluster Kafka de e-commerce com um único broker:
  • 06:00-08:00: Pico da manhã - Aumento acentuado do tráfego em relação ao nível da madrugada
  • 10:00-10:15: Promoção relâmpago - Pico dramático para 3,5x o tráfego normal
  • 11:30: Evento de Implantação - Pico de 12x no consumer lag com partições sub-replicadas
  • 14:00-15:30: Pico de compras - Tráfego intensamente elevado e sustentado em 2,8x o nível de base
  • 17:00-17:30: Pico após o expediente - Pico secundário de tráfego
  • 18:45: Rebalanceamento do consumer - Pico de 6x no lag durante o rebalanceamento
  • 20:00-22:00: Queda no período da noite - Queda acentuada até os níveis da madrugada
2

Inicie o ClickStack

Inicie uma instância do ClickStack:
3

Carregue as métricas no ClickStack

Carregue as métricas diretamente no ClickHouse:
4

Verifique as métricas no HyperDX

Depois de carregar os dados, a forma mais rápida de ver suas métricas é pelo dashboard pré-configurado.Vá para a seção Dashboards e visualizações para importar o dashboard e visualizar todas as métricas do Kafka de uma só vez.
Exibição do fuso horárioO HyperDX exibe os timestamps no fuso horário local do seu navegador. Os dados de demonstração cobrem o período de 2025-11-05 16:00:00 - 2025-11-06 16:00:00 (UTC). Defina o intervalo de tempo como 2025-11-04 16:00:00 - 2025-11-07 16:00:00 para garantir que você veja as métricas de demonstração independentemente da sua localização. Quando visualizar as métricas, você poderá restringir o intervalo para um período de 24 horas e obter visualizações mais claras.

Dashboards e visualizações

Para ajudar você a começar a monitorar o Kafka com o ClickStack, fornecemos visualizações essenciais para as métricas do Kafka.
1

Baixe a configuração do dashboard

.
2

Importe o dashboard pré-configurado

  1. Abra o HyperDX e vá até a seção Dashboards
  2. Clique em Import Dashboard no canto superior direito, no menu de reticências
  1. Faça upload do arquivo kafka-metrics-dashboard.json e clique em Finish Import
3

Visualize o dashboard

O dashboard será criado com todas as visualizações pré-configuradas:
Para o dataset de demonstração, defina o intervalo de tempo como 2025-11-05 16:00:00 - 2025-11-06 16:00:00 (UTC) (ajuste com base no seu fuso horário local). O dashboard importado não terá um intervalo de tempo definido por padrão.

Solução de problemas

Nenhuma métrica aparece no HyperDX

Verifique se a chave de API está configurada e sendo passada para o container:
Se não estiver definido, defina-o e reinicie:
Verifique se as métricas estão chegando ao ClickHouse:
Se você não vir nenhum resultado, verifique os logs do exporter JMX:
Gere atividade no Kafka para popular as métricas:

Erros de autenticação

Se você vir Authorization failed ou 401 Unauthorized:
  1. Verifique a API key na UI do HyperDX (Settings → API Keys → Ingestion API Key)
  2. Exporte novamente e reinicie:

Conflitos de porta com comandos do cliente Kafka

Ao executar comandos do cliente Kafka de dentro do contêiner do Kafka, você poderá ver:
Adicione o prefixo unset JMX_PORT && aos comandos:

Problemas de conectividade de rede

Se os logs do exporter JMX mostrarem Connection refused: Verifique se todos os contêineres estão na mesma rede do Docker:
Teste a conectividade:

Próximas etapas

  • Configure alertas para métricas críticas (partições sub-replicadas, aumento do consumer lag, picos de latência das solicitações)
  • Crie dashboards adicionais para casos de uso específicos (throughput por tópico, monitoramento de grupos de consumidores)
  • Monitore vários brokers do Kafka adicionando instâncias adicionais do JMX Metric Gatherer com atributos de recurso kafka.broker.id exclusivos

Em produção

Este guia envia métricas diretamente do JMX Metric Gatherer para o endpoint OTLP do ClickStack, o que funciona bem para testes e implantações pequenas. Para ambientes de produção, implante seu próprio OpenTelemetry Collector como agente para receber métricas do JMX Exporter e encaminhá-las ao ClickStack. Isso oferece processamento em lote, resiliência e gerenciamento centralizado da configuração. Consulte Ingestão com OpenTelemetry para ver padrões de implantação em produção e exemplos de configuração do coletor.
Última modificação em 23 de julho de 2026