TL;DRCapture traces distribuídos do Nginx no ClickStack usando o módulo OpenTelemetry Nginx. Inclui um dataset de demonstração e um dashboard pré-configurado.
Integração com um Nginx existente
Pré-requisitos
- Instância do ClickStack em execução, com endpoints OTLP acessíveis (portas 4317/4318)
- Instalação existente do Nginx (versão 1.18 ou superior)
- Acesso root ou sudo para modificar a configuração do Nginx
- Hostname ou endereço IP do ClickStack
Instale o módulo OpenTelemetry Nginx
A forma mais fácil de adicionar rastreamento ao Nginx é usar a imagem oficial do Nginx com suporte nativo ao OpenTelemetry.Usando a imagem nginx:otel
Substitua a imagem atual do Nginx pela versão com OpenTelemetry habilitado:ngx_otel_module.so, pronto para uso.Se você estiver executando o Nginx fora do Docker, consulte a documentação do OpenTelemetry Nginx para ver as instruções de instalação manual.
Configure o Nginx para enviar traces ao ClickStack
Adicione a configuração do OpenTelemetry ao arquivonginx.conf. Essa configuração carrega o módulo e envia os traces para o endpoint OTLP do ClickStack.Primeiro, obtenha sua API key:- Abra o HyperDX na URL do seu ClickStack
- Vá para Settings → API Keys
- Copie sua API key de ingestão
- Defina-a como uma variável de ambiente:
export CLICKSTACK_API_KEY=your-api-key-here
nginx.conf:<clickstack-host> pelo hostname ou endereço IP da sua instância do ClickStack.- Porta 4317 é o endpoint gRPC usado pelo módulo do Nginx
- otel_service_name deve descrever sua instância do Nginx (por exemplo, “api-gateway”, “frontend-proxy”)
- Altere otel_service_name para corresponder ao seu ambiente e facilitar a identificação no HyperDX
Entendendo a configuração
O que é rastreado: Cada requisição ao Nginx cria um trace span que mostra:- Método e caminho da requisição
- Código de status HTTP
- Duração da requisição
- Timestamp
otel_span_attr adicionam metadados a cada trace, permitindo filtrar e analisar requisições no HyperDX por código de status, método, rota etc.Depois de fazer essas alterações, teste a configuração do Nginx:Verifique os traces no HyperDX
Depois de configurar, faça login no HyperDX e verifique se os traces estão chegando. Você deverá ver algo como isto; se não vir traces, tente ajustar o intervalo de tempo:Dataset de demonstração
Inicie o ClickStack
Se o ClickStack ainda não estiver em execução, inicie-o com:- Porta 8080: interface web do HyperDX
- Porta 4317: endpoint OTLP gRPC (usado pelo módulo do Nginx)
- Porta 4318: endpoint OTLP HTTP (usado para os traces de demonstração)
Baixe o dataset de exemplo
Baixe o arquivo de traces de exemplo e atualize os timestamps para o horário atual:- 1.000 trace spans com tempos realistas
- 9 endpoints diferentes com padrões de tráfego variados
- ~93% de taxa de sucesso (200), ~3% de erros do cliente (404), ~4% de erros do servidor (500)
- Latências de 10ms a 800ms
- Padrões de tráfego originais preservados e deslocados para o horário atual
Envie traces para o ClickStack
Defina sua API key como uma variável de ambiente (se ainda não estiver definida):- Abra o HyperDX na URL do seu ClickStack
- Vá para Settings → API Keys
- Copie sua API key de ingestão
Executando em localhostEsta demonstração pressupõe que o ClickStack esteja em execução localmente em
localhost:4318. Para instâncias remotas, substitua localhost pelo hostname do seu ClickStack.{"partialSuccess":{}}, indicando que os traces foram enviados com sucesso. Todos os 1.000 traces serão ingeridos pelo ClickStack.Verifique os traces no HyperDX
- Abra o HyperDX e faça login na sua conta (talvez seja necessário criar uma conta primeiro)
- Vá para a visualização de Busca e defina a source como
Traces - Defina o intervalo de tempo como 2025-10-25 13:00:00 - 2025-10-28 13:00:00
Exibição de fuso horárioO HyperDX exibe timestamps no fuso horário local do seu navegador. Os dados de demonstração abrangem 2025-10-26 13:00:00 - 2025-10-27 13:00:00 (UTC). O intervalo de tempo mais amplo garante que você verá os traces de demonstração independentemente da sua localização. Depois que os traces aparecerem, você poderá reduzir o intervalo para um período de 24 horas para visualizações mais claras.
Dashboards e visualização
a configuração do dashboard
Importe o dashboard pré-configurado
- Abra o HyperDX e navegue até a seção Dashboards.
- Clique em “Import Dashboard” no canto superior direito, no menu de reticências.
- Faça upload do arquivo nginx-trace-dashboard.json e clique em Finish Import.
O dashboard será criado com todas as visualizações pré-configuradas.
Para o dataset de demonstração, defina o intervalo de tempo como 2025-10-26 13:00:00 - 2025-10-27 13:00:00 (UTC) (ajuste com base no seu fuso horário local). O dashboard importado não terá um intervalo de tempo especificado por padrão.
Solução de problemas
Nenhum trace é exibido no HyperDX
Próximos passos
- Configure alertas para métricas críticas (taxas de erro, limites de latência)
- Crie dashboards adicionais para casos de uso específicos (monitoramento de API, eventos de segurança)