Os dados normalmente são enviados ao ClickStack por meio do coletor do OpenTelemetry (OTel), seja diretamente dos SDKs de linguagem ou por um coletor do OpenTelemetry intermediário atuando como agente, por exemplo, coletando métricas e logs da infraestrutura.
Os SDKs de linguagem são responsáveis por coletar telemetria de dentro da sua aplicação — principalmente traces e logs — e exportar esses dados para o coletor do OpenTelemetry, por meio do endpoint OTLP, que faz a ingestão no ClickHouse.
Em ambientes baseados em navegador, os SDKs também podem ser responsáveis por coletar dados de sessão, incluindo eventos da UI, cliques e navegação, permitindo assim a reprodução das sessões dos usuários.
Como funciona
- Sua aplicação usa um SDK do ClickStack (por exemplo, Node.js, Python, Go). Esses SDKs são baseados nos SDKs do OpenTelemetry, com recursos adicionais e melhorias de usabilidade.
- O SDK coleta e exporta traces e logs via OTLP (HTTP ou gRPC).
- O coletor do OpenTelemetry recebe a telemetria e a grava no ClickHouse por meio dos exporters configurados.
Linguagens compatíveis
| Idioma | Descrição | Link |
|---|---|---|
| AWS Lambda | Instrumente suas funções AWS Lambda | Documentação |
| Browser | SDK JavaScript para aplicações baseadas em navegador | Documentação |
| Elixir | Aplicações Elixir | Documentação |
| Go | Aplicações Go e microsserviços | Documentação |
| Java | Aplicações Java | Documentação |
| NestJS | Aplicações NestJS | Documentação |
| Next.js | Aplicações Next.js | Documentação |
| Node.js | Ambiente de execução JavaScript para aplicações do lado do servidor | Documentação |
| Deno | Aplicações Deno | Documentação |
| Python | Aplicações Python e serviços web | Documentação |
| React Native | Aplicações móveis React Native | Documentação |
| Ruby | Aplicações Ruby on Rails e serviços web | Documentação |
Proteção com API key
Para enviar dados ao ClickStack por meio do OTel collector, os SDKs precisarão especificar uma API key de ingestão. Isso pode ser definido usando uma função init no SDK ou a variável de ambiente OTEL_EXPORTER_OTLP_HEADERS:
OTEL_EXPORTER_OTLP_HEADERS='authorization=<YOUR_INGESTION_API_KEY>'Esta API key é gerada pelo aplicativo ClickStack UI (HyperDX) e fica disponível no app em Team Settings → API Keys.
Para a maioria dos SDKs de linguagem e bibliotecas de telemetria compatíveis com OpenTelemetry, basta definir a variável de ambiente OTEL_EXPORTER_OTLP_ENDPOINT na sua aplicação ou especificá-la durante a inicialização do SDK:
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318Integração com Kubernetes
Todos os SDKs oferecem suporte à correlação automática com metadados do Kubernetes (nome do pod, espaço de nomes etc.) quando executados em um ambiente Kubernetes. Isso permite:
- Visualizar métricas do Kubernetes para pods e nós associados aos seus serviços
- Correlacionar logs e traces da aplicação com métricas de infraestrutura
- Acompanhar o uso de recursos e o desempenho em todo o cluster Kubernetes
Para habilitar esse recurso, configure o OpenTelemetry Collector para encaminhar tags de recursos para os pods. Consulte o guia de integração com Kubernetes para ver instruções detalhadas de configuração.