ResumenRecopila y visualiza logs del journal de systemd en ClickStack mediante el
journald receiver de OpenTelemetry Collector. Incluye un conjunto de datos de demostración y un dashboard preconfigurado.Integración con sistemas existentes
Requisitos previos
- Instancia de ClickStack en ejecución
- Sistema Linux con systemd (Ubuntu 16.04+, CentOS 7+, Debian 8+)
- Docker o Docker Compose instalados en el sistema supervisado
Obtén la API key de ClickStack
El OpenTelemetry Collector envía datos al endpoint OTLP de ClickStack, que requiere autenticación.- Abre HyperDX en la URL de tu instancia de ClickStack (p. ej., http://localhost:8080)
- Crea una cuenta o inicia sesión si es necesario
- Ve a Team Settings → API Keys
- Copia tu API key de ingesta
- Configúrala como variable de entorno:
Verifica que el journal de systemd esté en ejecución
Asegúrate de que tu sistema use systemd y tenga logs del journal:Crea la configuración de OpenTelemetry Collector
Crea un archivo de configuración para OpenTelemetry Collector:Implementa con Docker Compose
El receiver
journald requiere el binario journalctl para leer los archivos del journal. La imagen oficial otel/opentelemetry-collector-contrib no incluye journalctl de forma predeterminada.Para implementaciones en contenedores, puedes instalar el collector directamente en el host o crear una imagen personalizada con utilidades de systemd. Consulta la sección de solución de problemas para obtener más información.Verifica los logs en HyperDX
Una vez configurado, inicia sesión en HyperDX y verifica que los logs se estén enviando:- Ve a la Search view
- Establece source en Logs
- Filtra por
service.name:systemd-logs - Deberías ver entradas de log estructuradas con campos como
unit,priority,MESSAGE,_HOSTNAME
Conjunto de datos de demostración
Ejecutar ClickStack con datos de demostración
Inicia ClickStack con los logs de demostración:La demo usa el receiver
filelog con logs de texto en lugar de journald para evitar tener que usar journalctl en el contenedor.Verificar los logs en HyperDX
Una vez que ClickStack esté en ejecución:- Abre HyperDX e inicia sesión en tu cuenta
- Ve a la Search view y selecciona
Logscomo source - Establece el rango de tiempo en 2025-11-14 00:00:00 - 2025-11-17 00:00:00
Visualización de la zona horariaHyperDX muestra los timestamps en la zona horaria local de tu navegador. Los datos de demostración abarcan 2025-11-15 00:00:00 - 2025-11-16 00:00:00 (UTC). El rango de tiempo amplio garantiza que verás los logs de demostración independientemente de tu ubicación.
Dashboards y visualización
la configuración del dashboard
Importar el dashboard preconfigurado
- Abre HyperDX y ve a la sección Dashboards
- Haz clic en Import Dashboard en la esquina superior derecha, dentro del menú de puntos suspensivos
- Sube el archivo
systemd-logs-dashboard.jsony haz clic en Finish Import
Ver el dashboard
El dashboard incluye visualizaciones de:- Volumen de logs a lo largo del tiempo
- Principales unidades de systemd por cantidad de logs
- Eventos de autenticación SSH
- Fallos de servicios
- Tasas de error
Para el conjunto de datos de demostración, establece el intervalo de tiempo en 2025-11-15 00:00:00 - 2025-11-16 00:00:00 (UTC) (ajústalo según tu zona horaria local).
Solución de problemas
No aparecen logs en HyperDX
error: no se encontró journalctl
exec: "journalctl": executable file not found in $PATH:
La imagen otel/opentelemetry-collector-contrib no incluye journalctl. Puedes hacer una de estas dos cosas:
- Instala el collector en el host:
- Usa el enfoque de exportación de texto (como en la demo) con el receiver
filelogpara leer exportaciones de journald
Próximos pasos
- Configura alertas para eventos críticos del sistema (fallos del servicio, errores de autenticación, cierres por OOM)
- Crea dashboards adicionales para casos de uso concretos (monitorización de la seguridad de SSH, estado del servicio)
- Filtra por unidades específicas de systemd para reducir el ruido y centrarte en los servicios que más importan
Paso a producción
- Implementar el OpenTelemetry Collector como un conjunto de daemon en Kubernetes
- Ejecutar el OpenTelemetry Collector como un servicio de systemd en cada host
- Usar OpenTelemetry Operator para automatizar el despliegue