En resumenSupervise las métricas de rendimiento de Apache Kafka en ClickStack con OTel JMX Metric Gatherer. Incluye un conjunto de datos de demostración y un dashboard preconfigurado.
Integración con una implementación existente de Kafka
Requisitos previos
- Instancia de ClickStack en ejecución
- Instalación existente de Kafka (versión 2.0 o posterior) con JMX habilitado
- Acceso a la red entre ClickStack y Kafka (puerto JMX 9999, puerto de Kafka 9092)
- Archivo JAR de OpenTelemetry JMX Metric Gatherer (instrucciones de descarga a continuación)
1
Obtener la API key de ClickStack
El JMX Metric Gatherer envía datos al endpoint OTLP de ClickStack, que requiere autenticación.- Abre HyperDX en la URL de tu ClickStack (p. ej., http://localhost:8080)
- Crea una cuenta o inicia sesión si es necesario
- Ve a configuración del equipo → API Keys
- Copia tu API key de ingesta
- Defínela como variable de entorno:
2
3
Verifique que JMX de Kafka esté habilitado
Asegúrese de que JMX esté habilitado en sus brókeres de Kafka. Para despliegues con Docker:4
Despliega JMX Metric Gatherer con Docker Compose
Este ejemplo muestra una configuración completa con Kafka, JMX Metric Gatherer y ClickStack. Ajusta los nombres de los servicios y los endpoints para que coincidan con tu despliegue actual:service:jmx:rmi:///jndi/rmi://kafka:9999/jmxrmi- URL de conexión de JMX (usa el hostname de tu Kafka)otel.jmx.target.system=kafka- Habilita las métricas específicas de Kafkahttp://clickstack:4318- endpoint HTTP de OTLP (usa el hostname de tu ClickStack)authorization=\${CLICKSTACK_API_KEY}- API key para la autenticación (obligatoria)service.name=kafka,kafka.broker.id=broker-0- Atributos de recurso para filtrar10000- Intervalo de recopilación en milisegundos (10 segundos)
5
Verificar métricas en HyperDX
Inicie sesión en HyperDX y confirme que se estén recibiendo métricas:- Vaya a Chart Explorer
- Busque
kafka.message.countokafka.partition.count - Las métricas deberían aparecer en intervalos de 10 segundos
kafka.message.count- Total de mensajes procesadoskafka.partition.count- Total de particioneskafka.partition.under_replicated- Debe ser 0 en un clúster en buen estadokafka.network.io- Throughput de redkafka.request.time.*- Percentiles de latencia de las solicitudes
Al ejecutar comandos del cliente de Kafka (kafka-topics, kafka-console-producer, etc.) desde el contenedor de Kafka, antepón
unset JMX_PORT && para evitar conflictos con el puerto JMX.Conjunto de datos de demostración
1
Descargar el conjunto de datos de muestra de métricas
Descargue los archivos de métricas pregenerados (29 horas de métricas de Kafka con patrones realistas):- 06:00-08:00: Pico matutino - Fuerte aumento del tráfico respecto al nivel base nocturno
- 10:00-10:15: Venta flash - Pico drástico de hasta 3.5x el tráfico normal
- 11:30: Evento de despliegue - Pico de 12x en el retraso del consumidor con particiones subreplicadas
- 14:00-15:30: Hora punta de compras - Tráfico alto sostenido en 2.8x el nivel base
- 17:00-17:30: Pico al final de la jornada - Pico secundario de tráfico
- 18:45: Reequilibrio de consumidores - Pico de 6x en el retraso durante el reequilibrio
- 20:00-22:00: Descenso nocturno - Caída pronunciada hasta los niveles nocturnos
2
3
4
Verificar métricas en HyperDX
Una vez cargadas, la forma más rápida de ver las métricas es a través del dashboard preconfigurado.Continúe en la sección Dashboards y visualización para importar el dashboard y ver todas las métricas de Kafka de una vez.Visualización de la zona horariaHyperDX muestra las marcas de tiempo según la zona horaria local del navegador. Los datos de demostración abarcan 2025-11-05 16:00:00 - 2025-11-06 16:00:00 (UTC). Configure el intervalo de tiempo en 2025-11-04 16:00:00 - 2025-11-07 16:00:00 para asegurarse de ver las métricas de demostración independientemente de su ubicación. Una vez que vea las métricas, puede acotar el intervalo a un período de 24 horas para obtener visualizaciones más claras.
Paneles y visualización
1
la configuración del dashboard
2
Importe el dashboard preconfigurado
- Abra HyperDX y vaya a la sección Paneles
- Haga clic en Import Dashboard en la esquina superior derecha, en el menú de puntos suspensivos
- Cargue el archivo
kafka-metrics-dashboard.jsony haga clic en Finish Import
3
Vea el dashboard
El dashboard se creará con todas las visualizaciones preconfiguradas:Para el conjunto de datos de demostración, establezca el intervalo de tiempo en 2025-11-05 16:00:00 - 2025-11-06 16:00:00 (UTC) (ajústelo según su zona horaria local). El dashboard importado no tendrá un intervalo de tiempo especificado de forma predeterminada.
Solución de problemas
No aparecen métricas en HyperDX
Errores de autenticación
Authorization failed o 401 Unauthorized:
- Verifique la API key en la UI de HyperDX (Settings → API Keys → Ingestion API Key)
- Vuelva a exportarla y reinicie:
Conflictos de puertos con los comandos del cliente de Kafka
unset JMX_PORT &&:
Problemas de conectividad de red
Connection refused:
Verifique que todos los contenedores estén en la misma red de Docker:
Siguientes pasos
- Configurar alertas para métricas críticas (particiones con replicación insuficiente, aumento del retraso del consumidor, picos de latencia de las solicitudes)
- Crear dashboards adicionales para casos de uso específicos (throughput por topic, monitorización de grupos de consumidores)
- Supervisar varios brókers de Kafka añadiendo instancias adicionales de JMX Metric Gatherer con atributos de recurso
kafka.broker.idúnicos