En resumenRecopila y visualiza los logs del broker de Kafka (formato Log4j) en ClickStack mediante el receptor
filelog de OTel. Incluye un conjunto de datos de demostración y un dashboard preconfigurado.Integración con Kafka existente
Requisitos previos
- Instancia de ClickStack en funcionamiento
- Instalación existente de Kafka (versión 2.0 o posterior)
- Acceso a los archivos de registro de Kafka (
server.log,controller.log, etc.)
1
Verifique la configuración de logging de Kafka
Kafka usa Log4j y escribe los logs en el directorio especificado por la propiedad del sistemakafka.logs.dir o la variable de entorno LOG_DIR. Compruebe la ubicación de su archivo de log:server.log: Registros generales del broker (inicio, conexiones, replicación, errores)controller.log: Eventos específicos del controlador (elección del líder, reasignación de particiones)state-change.log: Transiciones de estado de particiones y réplicas
Para despliegues de Kafka basados en Docker (por ejemplo,
confluentinc/cp-kafka), la configuración predeterminada de Log4j solo incluye un appender de consola; no hay ningún appender de archivo, por lo que los logs se escriben únicamente en stdout. Para usar el receiver filelog, tendrás que redirigir los logs a un archivo, ya sea añadiendo un appender de archivo a log4j.properties o redirigiendo stdout mediante una tubería (por ejemplo, | tee /var/log/kafka/server.log).2
Cree una configuración personalizada del OTel collector para Kafka
ClickStack le permite ampliar la configuración base de OpenTelemetry Collector montando un archivo de configuración personalizado y definiendo una variable de entorno. La configuración personalizada se combina con la configuración base administrada por HyperDX mediante OpAMP.Cree un archivo llamadokafka-logs-monitoring.yaml con la siguiente configuración:- En la configuración personalizada, solo defines nuevos receivers y pipelines. Los processors (
memory_limiter,transform,batch) y exporters (clickhouse) ya están definidos en la configuración base de ClickStack; solo los referencias por nombre. - La configuración
multilinegarantiza que las trazas de pila se capturen como una sola entrada de registro. - Esta configuración usa
start_at: beginningpara leer todos los logs existentes cuando se inicia el collector. En implementaciones de producción, cámbialo astart_at: endpara evitar volver a ingestar los logs cuando el collector se reinicie.
3
Configura ClickStack para cargar una configuración personalizada
Para habilitar una configuración personalizada del collector en tu despliegue actual de ClickStack, debes hacer lo siguiente:- Montar el archivo de configuración personalizado en
/etc/otelcol-contrib/custom.config.yaml - Establecer la variable de entorno
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - Montar el directorio de logs de Kafka para que el collector pueda leerlos
- Docker Compose
- Docker Run (imagen todo en uno)
Actualiza la configuración de despliegue de ClickStack:
Asegúrate de que el collector de ClickStack tenga los permisos adecuados para leer los archivos de log de Kafka. En producción, usa montajes de solo lectura (
:ro) y sigue el principio de privilegio mínimo.4
Verificar los logs en HyperDX
Una vez completada la configuración, inicia sesión en HyperDX y verifica que los logs se estén recibiendo:Conjunto de datos de demostración
1
2
Crea la configuración del collector de prueba
Crea un archivo llamadokafka-logs-demo.yaml con la siguiente configuración:3
Ejecuta ClickStack con la configuración de demostración
Ejecuta ClickStack con los logs de demostración y esta configuración:Verifica los logs en HyperDX
Una vez que ClickStack esté en ejecución:- Abre HyperDX e inicia sesión en tu cuenta (puede que primero tengas que crear una cuenta)
- Ve a la vista Search y establece la fuente en
Logs - Ajusta el intervalo de tiempo para que incluya 2026-03-09 00:00:00 - 2026-03-10 00:00:00 (UTC)
Dashboards y visualización
1
la configuración del dashboard
2
Importar dashboard preconfigurado
- Abre HyperDX y ve a la sección Dashboards.
- Haz clic en “Import Dashboard” en la esquina superior derecha, en el menú de tres puntos.
- Sube el archivo kafka-logs-dashboard.json y haz clic en Finalizar importación.
3
El dashboard se creará con todas las visualizaciones preconfiguradas
Para el dataset de demostración, establece el intervalo de tiempo para incluir 2026-03-09 00:00:00 - 2026-03-10 00:00:00 (UTC).Solución de problemas
regex_parser según corresponda.
Siguientes pasos
- Configura alertas para eventos críticos (fallos del broker, errores de replicación, problemas con el grupo de consumidores)
- Combínalo con Métricas de Kafka para una monitorización integral de Kafka
- Crea dashboards adicionales para casos de uso específicos (eventos del controlador, reasignación de particiones)