telemetrygen é o gerador de dados do OpenTelemetry Collector Contrib. Ele emite logs, traces e métricas OTLP sintéticos e expõe flags que permitem definir o formato dos dados: vários serviços, severidades de log, status de span e spans filhos, além de diferentes tipos de métrica. Use-o para confirmar que um collector OpenTelemetry do ClickStack está aceitando dados e que eventos variados e realistas aparecem na ClickStack UI.
Este guia pressupõe que o collector já esteja em execução com endpoints OTLP nas portas 4317 (gRPC) e 4318 (HTTP).
- ClickStack Gerenciado
- ClickStack Open Source
1
Pré-requisitos
Este guia pressupõe que você tenha concluído o Guia de primeiros passos do Managed ClickStack e esteja com um coletor OpenTelemetry em execução, com os endpoints OTLP gRPC (4317) e HTTP (4318) acessíveis a partir da máquina em que você executa o telemetrygen. Se você protegeu o coletor com um OTLP_AUTH_TOKEN, mantenha esse valor em mãos.2
Instalar o telemetrygen
Execute otelemetrygen a partir da sua imagem Docker (não é necessário instalar). Defina um pequeno wrapper para manter os comandos abaixo legíveis; --add-host permite que o contêiner acesse um collector em execução no host:localhost:3
Defina variáveis de ambiente
Exporte o token de autenticação se o collector estiver protegido:Collector sem autenticaçãoO ClickStack OpenTelemetry collector não exige autenticação por padrão. Se você não seguiu Como proteger o collector para definir um
OTLP_AUTH_TOKEN, remova a linha --otlp-header do helper abaixo.tg para que cada comando especifique apenas o que muda (serviço, severidade, status, atributos):4
Gerar logs
Envie logs com uma combinação realista de níveis de severidade entre os serviços, em sua maioria informativos, com um aviso e um erro, em vez de um único fluxo uniforme:--servicedefineservice.namepara que os eventos possam ser atribuídos a um serviço.--severity-texte--severity-numberdefinem o nível (severity-numbervaria de 1 a 24).--bodydefine a mensagem de log.--otlp-attributesdefine atributos em nível de recurso (key="value",key=true, oukey=<integer>).--telemetry-attributesdefine atributos por registro.
5
Gerar traces
Envie traces com vários spans de diversos serviços saudáveis, além de uma dependência com falha. Isso dá ao Service Map uma configuração realista, majoritariamente saudável, com um serviço apresentando erros, e preenche as visualizações de erro:--child-spansgera esse número de spans filhos em cada trace, dando profundidade real a cada trace.--span-durationdefine quanto tempo cada span dura (por exemplo,120ms,2s).--status-codepode serUnset,Error,Ok(ou0,1,2). UseErrorpara testar as visualizações de erro.--span-linksadiciona links entre spans.--workersexecuta vários geradores em paralelo para gerar um volume maior e mais variado.
6
Gerar métricas
Envie os três tipos comuns de métricas para que os painéis tenham contadores, gauges e uma distribuição. Ao contrário de alguns geradores, otelemetrygen respeita --duration para métricas, então não é preciso interromper manualmente:--metric-type aceita Gauge, Sum, Histogram ou ExponentialHistogram. --otlp-metric-name define o nome da série para que você possa encontrá-la na UI, e --aggregation-temporality é delta ou cumulative.7
Verifique no ClickStack
Abra a UI do ClickStack no console do ClickHouse Cloud. Na visualizaçãoBusca, defina o intervalo de tempo como Last 15 minutes e alterne a origem entre Logs e Traces. Filtre por ServiceName para ver os serviços frontend, checkout, cart e payment, e por SeverityText para encontrar os logs de aviso e erro. Abra um trace de payment para ver os spans filhos e o status de erro. Abra o Chart Explorer, selecione Metrics e crie um gráfico para um dos nomes de métrica definidos acima (por exemplo, http.server.requests) para verificar a ingestão de métricas.