telemetrygen es el generador de datos de OpenTelemetry Collector Contrib. Emite logs, traces y métricas OTLP sintéticos, y expone indicadores que te permiten definir la forma de los datos: varios servicios, severidades de logs, estados de spans y spans hijo, y distintos tipos de métricas. Úsalo para confirmar que un collector de OpenTelemetry de ClickStack está aceptando datos y que en la UI de ClickStack se muestren eventos variados y realistas.
Esta guía asume que el collector ya se está ejecutando con endpoints OTLP en 4317 (gRPC) y 4318 (HTTP).
- ClickStack gestionado
- ClickStack Open Source
Requisitos previos
Esta guía asume que ha completado la guía de primeros pasos de Managed ClickStack y que tiene un collector de OpenTelemetry en ejecución, con los endpoints OTLP gRPC (4317) y HTTP (4318) accesibles desde la máquina en la que ejecuta telemetrygen. Si protegió el collector con un OTLP_AUTH_TOKEN, tenga ese valor a mano.Instalar telemetrygen
Ejecutetelemetrygen desde su imagen de Docker (no requiere instalación). Defina un pequeño envoltorio para que los comandos de abajo sigan siendo legibles; --add-host permite que el contenedor pueda acceder a un collector que esté escuchando en el host:localhost:Configurar variables de entorno
Exporte el token de autenticación si el collector está protegido:Colector sin protecciónEl ClickStack OpenTelemetry collector no requiere autenticación de forma predeterminada. Si no has seguido Protección del collector para configurar un
OTLP_AUTH_TOKEN, elimina la línea --otlp-header del helper siguiente.tg para que cada comando solo especifique lo que cambia (servicio, severidad, estado y atributos):Generar logs
Envía los logs como una combinación realista de niveles de severidad entre servicios: en su mayoría informativos, con alguna advertencia y algún error, en lugar de un flujo uniforme:--serviceestableceservice.namepara que los eventos se atribuyan a un servicio.--severity-texty--severity-numberestablecen el nivel (severity-numberva del 1 al 24).--bodyestablece el mensaje del log.--otlp-attributesestablece atributos a nivel de recurso (key="value",key=trueokey=<integer>).--telemetry-attributesestablece atributos por registro.
Generar trazas
Envía trazas con varios spans desde varios servicios en buen estado y una dependencia con fallos. Esto le da al mapa de servicios una forma realista: en su mayor parte saludable, con un servicio que presenta errores, y además puebla las vistas de errores:--child-spansgenera esa cantidad de spans secundarios por traza, lo que aporta una profundidad real a cada traza.--span-durationestablece cuánto dura cada span (por ejemplo,120ms,2s).--status-codepuede serUnset,ErroruOk(o0,1,2). UsaErrorpara probar las vistas de error.--span-linksañade enlaces entre spans.--workersejecuta varios generadores en paralelo para lograr un volumen mayor y más variado.
Generar métricas
Envía los tres tipos de métricas más comunes para que los dashboards tengan contadores, gauges y una distribución. A diferencia de algunos generadores,telemetrygen respeta --duration para las métricas, así que no hace falta detenerlo manualmente:--metric-type acepta Gauge, Sum, Histogram o ExponentialHistogram. --otlp-metric-name asigna un nombre a la serie para que puedas encontrarla en la UI, y --aggregation-temporality es delta o cumulative.Verificar en ClickStack
Abra la UI de ClickStack desde la consola de ClickHouse Cloud. En la vistaBúsqueda, establezca el intervalo de tiempo en Last 15 minutes y cambie la fuente entre Logs y Traces. Filtre por ServiceName para ver los servicios frontend, checkout, cart y payment, y por SeverityText para encontrar las líneas de registro de advertencia y error. Abra un trace de payment para ver los spans secundarios y el estado de error. Abra el Chart Explorer, seleccione Metrics y cree un gráfico con uno de los nombres de métricas que configuró arriba (por ejemplo, http.server.requests) para verificar la ingestión de métricas.