En resumenReenvíe los logs de AWS CloudWatch a ClickStack mediante el CloudWatch receiver del OpenTelemetry Collector. Admite grupos de logs con nombre y autodescubrimiento. Incluye un dataset de demostración y un dashboard preconfigurado.
Descripción general
- Analizar logs junto con métricas y trazas en una plataforma unificada
- Consultar logs mediante la interfaz SQL de ClickHouse
- Reducir costos archivando los logs o reduciendo la retención en CloudWatch
Integración con los grupos de logs existentes de CloudWatch
Requisitos previos
- Instancia de ClickStack en ejecución
- Cuenta de AWS con grupos de logs de CloudWatch
- Credenciales de AWS con los permisos de IAM adecuados
A diferencia de las integraciones de logs basadas en archivos (nginx, Redis), CloudWatch requiere ejecutar un OpenTelemetry Collector independiente que consulta la API de CloudWatch. Este collector no puede ejecutarse dentro de la imagen todo en uno de ClickStack, ya que necesita credenciales de AWS y acceso a la API.
Obtener 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 Configuración del equipo → API keys
- Copia tu API key de ingesta
Configura las credenciales de AWS
Exporta tus credenciales de AWS como variables de entorno. El método depende del tipo de autenticación:Para usuarios de AWS SSO (recomendado para la mayoría de las organizaciones):YOUR_PROFILE_NAME por el nombre de tu perfil de AWS SSO (por ejemplo, AccountAdministrators-123456789).Para usuarios de IAM con credenciales permanentes:YOUR_ACCOUNT_ID por el ID de tu cuenta de AWS.Configura el receptor de CloudWatch
Crea un archivootel-collector-config.yaml con la configuración del receptor de CloudWatch.Descubre los grupos de logs disponibles en tu cuenta
Descubre los grupos de logs disponibles en tu cuenta
Antes de editar la configuración, enumera los grupos de logs que existen en tu región para poder elegir nombres reales (y confirmar que la región sea la correcta):Salida de ejemplo:Usa directamente los nombres de esta lista en el bloque Como alternativa, si los grupos que quieres usar comparten un prefijo común (aquí
groups.named del Ejemplo 1 a continuación. Para la cuenta anterior, la sección de grupos con nombre quedaría así:/aws-glue/), usa el Ejemplo 2 con prefix: /aws-glue/ en lugar de enumerarlos individualmente./aws/lambda:region: Región de AWS donde se encuentran tus grupos de logspoll_interval: Frecuencia con la que se comprueba si hay logs nuevos (p. ej.,1m,5m)max_events_per_request: Número máximo de eventos de log que se obtienen en cada solicitudgroups.autodiscover.limit: Número máximo de grupos de logs que se pueden detectar automáticamentegroups.autodiscover.prefix: Filtra los grupos de logs por prefijogroups.named: Lista explícitamente los nombres de los grupos de logs que se recopilarán
${CLICKSTACK_API_KEY}→ Usa la variable de entorno que configuraste anteshttp://localhost:4318→ Tu endpoint de ClickStack (usa tu host de ClickStack si se ejecuta de forma remota)us-east-1→ Tu región de AWS- Log group names/prefixes → Tus nombres o prefijos reales de grupos de logs de CloudWatch
El CloudWatch receiver solo obtiene logs de ventanas de tiempo recientes (según
poll_interval). Cuando se inicia por primera vez, comienza desde la hora actual. Los logs históricos no se recuperan de forma predeterminada.Inicie el collector
Cree un archivodocker-compose.yaml:Verificar los logs en HyperDX
Una vez que el collector esté en funcionamiento:- Abra HyperDX en http://localhost:8080 (o en la URL de ClickStack)
- Vaya a la vista de Logs
- Espere 1-2 minutos a que aparezcan los logs (según el intervalo de sondeo configurado)
- Busque logs de sus grupos de logs de CloudWatch
ResourceAttributes['aws.region']: Su región de AWS (p. ej., “us-east-1”)ResourceAttributes['cloudwatch.log.group.name']: El nombre del grupo de logs de CloudWatchResourceAttributes['cloudwatch.log.stream']: El nombre del stream de logsBody: El contenido real del mensaje de log
Conjunto de datos de demostración
Descargar el conjunto de datos de ejemplo
- Funciones Lambda: procesamiento de pagos, gestión de pedidos, autenticación
- Servicios de ECS: API gateway con limitación de tasa y timeouts
- Trabajos en segundo plano: procesamiento por lotes con patrones de reintento
Iniciar ClickStack
Si todavía no tienes ClickStack en ejecución:Importar el conjunto de datos de demostración
Verificar los datos de demostración
Una vez importados:- Abre HyperDX en http://localhost:8080 e inicia sesión (crea una cuenta si es necesario)
- Ve a la vista de Logs
- Establece el intervalo de tiempo en 2025-12-07 00:00:00 - 2025-12-08 00:00:00 (UTC)
- Busca
cloudwatch-demoo filtra porLogAttributes['source'] = 'cloudwatch-demo'
Visualización de la zona horariaHyperDX muestra las marcas de tiempo en la zona horaria local de tu navegador. Los datos de demostración abarcan 2025-12-07 00:00:00 - 2025-12-08 00:00:00 (UTC). Establece el intervalo de tiempo en 2025-12-06 00:00:00 - 2025-12-09 00:00:00 para asegurarte de ver los logs de demostración independientemente de tu ubicación. Una vez que veas los logs, puedes reducir el intervalo a un período de 24 horas para obtener visualizaciones más claras.
Paneles y visualización
la configuración del dashboard
Importar el dashboard
- 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
cloudwatch-logs-dashboard.jsony haz clic en Finish Import
Ver el dashboard
El dashboard se creará con todas las visualizaciones ya configuradas:Para el conjunto de datos de demostración, establece el intervalo de tiempo en 2025-12-07 00:00:00 - 2025-12-08 00:00:00 (UTC) (ajústalo según tu zona horaria local). El dashboard importado no tendrá un intervalo de tiempo especificado de forma predeterminada.
Solución de problemas
No aparecen logs en HyperDX
logs:DescribeLogGroups y logs:FilterLogEvents.
Compruebe los logs del collector para ver si hay errores:
The security token included in the request is invalid: las credenciales no son válidas o han expirado. Si usas credenciales temporales (SSO), asegúrate de queAWS_SESSION_TOKENesté configurado.operation error CloudWatch Logs: FilterLogEvents, AccessDeniedException: los permisos de IAM son insuficientesfailed to refresh cached credentials, no EC2 IMDS role found: las variables de entorno de las credenciales de AWS no están configuradasconnection refused: no se puede acceder al endpoint de ClickStack
Solo ves logs antiguos o faltan logs recientes
Token de seguridad no válido / credenciales caducadas
Latencia alta o falta de logs recientes
poll_interval predeterminado es de 1 minuto. Para obtener logs casi en tiempo real, redúzcalo:
El collector consume demasiada memoria
Próximos pasos
- Configura alertas para eventos críticos (fallos de conexión, picos de errores)
- Reduce los costos de CloudWatch ajustando los períodos de retención o archivando los logs en S3, ahora que ya están en ClickStack
- Filtra los grupos de logs más ruidosos eliminándolos de la configuración del collector para reducir el volumen de ingestión