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
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.- Abra o HyperDX na URL do seu ClickStack (por exemplo, http://localhost:8080)
- Crie uma conta ou faça login, se necessário
- Acesse Team Settings → API Keys
- Copie sua API key de ingestão
- Defina-a como uma variável de ambiente:
2
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: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: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 Kafkahttp://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 filtragem10000- 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:- Acesse o Chart Explorer
- Pesquise por
kafka.message.countoukafka.partition.count - As métricas devem aparecer em intervalos de 10 segundos
kafka.message.count- Total de mensagens processadaskafka.partition.count- Total de partiçõeskafka.partition.under_replicated- Deve ser 0 em um cluster saudávelkafka.network.io- Throughput de redekafka.request.time.*- Percentis de latência das requisições
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
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):- 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
3
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
1
a configuração do dashboard
2
Importe o dashboard pré-configurado
- Abra o HyperDX e vá até a seção Dashboards
- Clique em Import Dashboard no canto superior direito, no menu de reticências
- Faça upload do arquivo
kafka-metrics-dashboard.jsone 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
Erros de autenticação
Authorization failed ou 401 Unauthorized:
- Verifique a API key na UI do HyperDX (Settings → API Keys → Ingestion API Key)
- Exporte novamente e reinicie:
Conflitos de porta com comandos do cliente Kafka
unset JMX_PORT && aos comandos:
Problemas de conectividade de rede
Connection refused:
Verifique se todos os contêineres estão na mesma rede do Docker:
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.idexclusivos