- ClickHouse
- HyperDX
- OpenTelemetry collector (OTel)
- MongoDB
otel-collector:
13133: endpoint de comprobación de estado para la extensiónhealth_check24225: receptor de Fluentd para la ingestión de logs4317: receptor OTLP gRPC (estándar para trazas, logs y métricas)4318: receptor OTLP HTTP (alternativa a gRPC)8888: endpoint de métricas de Prometheus para supervisar el propio OpenTelemetry collector
Adecuado para
- Pruebas locales
- Pruebas de concepto
- Implementaciones en producción en las que no se requiere tolerancia a fallos y un solo servidor basta para alojar todos los datos de ClickHouse
- Al implementar ClickStack, pero alojando ClickHouse por separado; por ejemplo, con ClickHouse Cloud.
Pasos de despliegue
Clona el repositorio
Para desplegar con Docker Compose, clona el repositorio de ClickStack, sitúate en el directorio y ejecutadocker-compose up:Accede a la UI de HyperDX
Visita http://localhost:8080 para acceder a la UI de HyperDX.Crea un usuario e introduce un nombre de usuario y una contraseña que cumplan los requisitos.Al hacer clic enCreate, se crearán fuentes de datos para la instancia de ClickHouse desplegada con Docker Compose.Sobrescribir la conexión predeterminadaPuedes sobrescribir la conexión predeterminada a la instancia integrada de ClickHouse. Para obtener más información, consulta “Uso de ClickHouse Cloud”.
Completa los detalles de conexión
Para conectarte a la instancia de ClickHouse desplegada, solo tienes que hacer clic en Create y aceptar la configuración predeterminada.Si prefieres conectarte a tu propio clúster externo de ClickHouse, por ejemplo, ClickHouse Cloud, puedes introducir manualmente tus credenciales de conexión.Si se te solicita crear una fuente, conserva todos los valores predeterminados y completa el campoTable con el valor otel_logs. El resto de la configuración debería detectarse automáticamente, por lo que podrás hacer clic en Save New Source.Modificar la configuración de compose
Configuración del OpenTelemetry collector
Uso de ClickHouse Cloud
-
Eliminar el servicio de ClickHouse del archivo
docker-compose.yml. Esto es opcional si estás haciendo pruebas, ya que la instancia de ClickHouse implementada simplemente se ignorará, aunque consumirá recursos locales innecesariamente. Si eliminas el servicio, asegúrate de quitar también cualquier referencia a él, comodepends_on. -
Modificar el OTel collector para que use una instancia de ClickHouse Cloud configurando las variables de entorno
CLICKHOUSE_ENDPOINT,CLICKHOUSE_USERyCLICKHOUSE_PASSWORDen el archivo compose. En concreto, añade las variables de entorno al servicio OTel collector:CLICKHOUSE_ENDPOINTdebe ser el endpoint HTTPS de ClickHouse Cloud, incluido el puerto8443; por ejemplo,https://mxl4k3ul6a.us-east-2.aws.clickhouse.com:8443 - Al conectarte a la UI de HyperDX y crear una connection a ClickHouse, usa tus credentials de Cloud.
Elección del esquema: Map vs JSON
Map(LowCardinality(String), String) de forma predeterminada. Este es el esquema recomendado para las cargas de trabajo de observabilidad. En combinación con la serialización de mapas por buckets y los índices de texto sobre las claves y los valores del mapa, ofrece lookups selectivos sin la sobrecarga de ingesta por clave de las subcolumnas JSON dinámicas.
También hay disponible, en fase beta, un esquema de tipo JSON para evaluarlo en cargas de trabajo con un conjunto pequeño y estable de claves de atributos. No se recomienda como opción predeterminada. Consulta Map vs tipo JSON para ver la comparación completa y las variables de entorno necesarias para habilitar la compatibilidad con JSON.