Saltar al contenido principal
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

Supervise su implementación existente de Kafka ejecutando el contenedor OpenTelemetry JMX Metric Gatherer para recopilar métricas y enviarlas a ClickStack a través de OTLP. Si primero quiere probar esta integración sin modificar su configuración actual, vaya a la sección del dataset de demostración.
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.
  1. Abre HyperDX en la URL de tu ClickStack (p. ej., http://localhost:8080)
  2. Crea una cuenta o inicia sesión si es necesario
  3. Ve a configuración del equipo → API Keys
  4. Copia tu API key de ingesta
  1. Defínela como variable de entorno:
2

Descargue el JMX Metric Gatherer de OpenTelemetry

Descargue el archivo JAR del JMX Metric Gatherer:
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:
Para implementaciones que no usan Docker, configura lo siguiente al iniciar Kafka:
Verifique que JMX sea accesible:
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:
Parámetros clave de configuración:
  • 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 Kafka
  • http://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 filtrar
  • 10000 - 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:
  1. Vaya a Chart Explorer
  2. Busque kafka.message.count o kafka.partition.count
  3. Las métricas deberían aparecer en intervalos de 10 segundos
Métricas clave para verificar:
  • kafka.message.count - Total de mensajes procesados
  • kafka.partition.count - Total de particiones
  • kafka.partition.under_replicated - Debe ser 0 en un clúster en buen estado
  • kafka.network.io - Throughput de red
  • kafka.request.time.* - Percentiles de latencia de las solicitudes
Para generar actividad y recopilar más métricas:
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

Para quienes quieran probar la integración de métricas de Kafka antes de configurar sus sistemas de producción, proporcionamos un conjunto de datos pregenerado con patrones realistas de métricas de Kafka.
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):
El conjunto de datos incluye patrones realistas para un clúster de Kafka de comercio electrónico con un solo broker:
  • 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

Iniciar ClickStack

Inicie una instancia de ClickStack:
3

Cargar métricas en ClickStack

Cargue las métricas directamente en ClickHouse:
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

Para ayudarle a empezar a supervisar Kafka con ClickStack, proporcionamos visualizaciones esenciales de las métricas de Kafka.
1

la configuración del dashboard

2

Importe el dashboard preconfigurado

  1. Abra HyperDX y vaya a la sección Paneles
  2. Haga clic en Import Dashboard en la esquina superior derecha, en el menú de puntos suspensivos
  1. Cargue el archivo kafka-metrics-dashboard.json y 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

Compruebe que la API key esté configurada y se haya pasado al contenedor:
Si falta, configúralo y reinicia:
Verifique si las métricas están llegando a ClickHouse:
Si no aparece ningún resultado, revise los logs del exportador de JMX:
Genera actividad en Kafka para alimentar las métricas:

Errores de autenticación

Si ve Authorization failed o 401 Unauthorized:
  1. Verifique la API key en la UI de HyperDX (Settings → API Keys → Ingestion API Key)
  2. Vuelva a exportarla y reinicie:

Conflictos de puertos con los comandos del cliente de Kafka

Al ejecutar comandos de Kafka desde el contenedor de Kafka, es posible que vea:
Preceda los comandos con unset JMX_PORT &&:

Problemas de conectividad de red

Si los registros del exportador JMX muestran Connection refused: Verifique que todos los contenedores estén en la misma red de Docker:
Compruebe la conectividad:

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

Llevar a producción

Esta guía envía métricas directamente desde JMX Metric Gatherer al endpoint OTLP de ClickStack, lo cual funciona bien para pruebas y despliegues pequeños. Para entornos de producción, implemente su propio OpenTelemetry Collector como agente para recibir métricas del exportador JMX y reenviarlas a ClickStack. Esto proporciona procesamiento por lotes, resiliencia y una gestión centralizada de la configuración. Consulte Ingesta mediante OpenTelemetry para ver patrones de despliegue para producción y ejemplos de configuración del collector.
Última modificación el 1 de julio de 2026