> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Monitoramento de traces no Node.js com ClickStack

> Monitoramento de traces de aplicações Node.js com ClickStack

export const TrackedLink = ({href, eventName, children, ...rest}) => {
  const handleClick = () => {
    try {
      if (typeof window !== "undefined" && window.galaxy && eventName) {
        window.galaxy.track(eventName, {
          interaction: "click"
        });
      }
    } catch (e) {}
  };
  return <a href={href} onClick={handleClick} {...rest}>
      {children}
    </a>;
};

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

<Info>
  **Em resumo**

  Capture traces distribuídos de aplicações Node.js no ClickStack com a instrumentação automática do OpenTelemetry. Inclui um dataset de demonstração e um dashboard pré-configurado.
</Info>

<div id="existing-nodejs">
  ## Integração com uma aplicação Node.js existente
</div>

Esta seção explica como adicionar rastreamento distribuído à sua aplicação Node.js existente usando a instrumentação automática do OpenTelemetry.

Se quiser testar a integração antes de configurar seu próprio ambiente, você pode usar nossa configuração pré-configurada e os dados de exemplo na [seção de dataset de demonstração](#demo-dataset).

<div id="prerequisites">
  ##### Pré-requisitos
</div>

* Instância do ClickStack em execução, com endpoints OTLP acessíveis (portas 4317/4318)
* Aplicação Node.js existente (Node.js 14 ou superior)
* Gerenciador de pacotes npm ou yarn
* Hostname ou endereço IP do ClickStack

<Steps>
  <Step>
    #### Instale e configure o OpenTelemetry

    Instale o pacote `@hyperdx/node-opentelemetry` e inicialize-o no início da sua aplicação. Consulte o [guia do SDK do Node.js](/pt-BR/clickstack/ingesting-data/sdks/nodejs#getting-started) para ver as etapas detalhadas de instalação.
  </Step>

  <Step>
    #### Obtenha a API key do ClickStack

    Uma API key para enviar traces ao endpoint OTLP do ClickStack.

    1. Abra o HyperDX na URL do seu ClickStack (por exemplo, [http://localhost:8080](http://localhost:8080))
    2. Crie uma conta ou faça login, se necessário
    3. Vá para **Team Settings → API Keys**
    4. Copie sua **API key de ingestão**

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/Y9kcWM6RbYppspJn/images/clickstack/api-key.png?fit=max&auto=format&n=Y9kcWM6RbYppspJn&q=85&s=cbaa2d8bdf8332b6fe2ae42eec793c77" alt="API key do ClickStack" width="3810" height="1924" data-path="images/clickstack/api-key.png" />
  </Step>

  <Step>
    #### Execute sua aplicação

    Inicie sua aplicação Node.js com as variáveis de ambiente definidas:

    ```bash theme={null}
    export CLICKSTACK_API_KEY=your-api-key-here
    export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
    ```
  </Step>

  <Step>
    #### Gere algum tráfego

    Faça requisições à sua aplicação para gerar traces:

    ```bash theme={null}
    # Requisições simples
    curl http://localhost:3000/
    curl http://localhost:3000/api/users
    curl http://localhost:3000/api/products

    # Simule carga
    for i in {1..100}; do curl -s http://localhost:3000/ > /dev/null; done
    ```
  </Step>

  <Step>
    #### 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:

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/zXCQbzXFHfeD9FBK/images/clickstack/nodejs/traces-search-view.png?fit=max&auto=format&n=zXCQbzXFHfeD9FBK&q=85&s=5dd5201515c103c20cd37203ad345086" alt="Tela de busca de traces" width="3838" height="1936" data-path="images/clickstack/nodejs/traces-search-view.png" />

    Clique em qualquer trace para ver a visualização detalhada com spans, duração e atributos:

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/zXCQbzXFHfeD9FBK/images/clickstack/nodejs/trace-view.png?fit=max&auto=format&n=zXCQbzXFHfeD9FBK&q=85&s=b7e01cd4ae907c3f700e2e2a06c76c01" alt="Visualização de trace individual" width="3812" height="1936" data-path="images/clickstack/nodejs/trace-view.png" />
  </Step>
</Steps>

<div id="demo-dataset">
  ## Dataset de demonstração
</div>

Para usuários que querem testar o tracing em Node.js com o ClickStack antes de instrumentar suas aplicações de produção, disponibilizamos um dataset de exemplo com traces pré-gerados de aplicações Node.js com padrões de tráfego realistas.

<Steps>
  <Step>
    #### Baixe o dataset de exemplo

    Baixe o arquivo de traces de exemplo:

    ```bash theme={null}
    curl -O https://datasets-documentation.s3.eu-west-3.amazonaws.com/clickstack-integrations/nodejs/nodejs-traces-sample.json
    ```
  </Step>

  <Step>
    #### Inicie o ClickStack

    Se você ainda não tiver o ClickStack em execução, inicie-o com:

    ```bash theme={null}
    docker run -d --name clickstack-demo \
      -p 8080:8080 -p 4317:4317 -p 4318:4318 \
      -e CLICKHOUSE_USER=default \
      -e CLICKHOUSE_PASSWORD= \
      clickhouse/clickstack-all-in-one:latest
    ```
  </Step>

  <Step>
    #### Obtenha a API key do ClickStack

    Você precisará de uma API key para enviar traces ao endpoint OTLP do ClickStack.

    1. Abra o HyperDX na URL do seu ClickStack (por exemplo, [http://localhost:8080](http://localhost:8080))
    2. Crie uma conta ou faça login, se necessário
    3. Acesse **Team Settings → API Keys**
    4. Copie sua **API key de ingestão**

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/Y9kcWM6RbYppspJn/images/clickstack/api-key.png?fit=max&auto=format&n=Y9kcWM6RbYppspJn&q=85&s=cbaa2d8bdf8332b6fe2ae42eec793c77" alt="API key do ClickStack" width="3810" height="1924" data-path="images/clickstack/api-key.png" />

    Defina sua API key como uma variável de ambiente:

    ```bash theme={null}
    export CLICKSTACK_API_KEY=your-api-key-here
    ```
  </Step>

  <Step>
    #### Envie os traces para o ClickStack

    ```bash theme={null}
    curl -X POST http://localhost:4318/v1/traces \
      -H "Content-Type: application/json" \
      -H "Authorization: $CLICKSTACK_API_KEY" \
      -d @nodejs-traces-sample.json
    ```

    Você deverá ver uma resposta como `{"partialSuccess":{}}`, indicando que os traces foram enviados com sucesso.
  </Step>

  <Step>
    #### Verifique os traces no HyperDX

    1. Abra o [HyperDX](http://localhost:8080/) e faça login na sua conta (talvez seja necessário criar uma conta primeiro)
    2. Acesse a visualização **Search** e defina a fonte como **Traces**
    3. Defina o intervalo de tempo como **2025-10-25 13:00:00 - 2025-10-28 13:00:00**

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/zXCQbzXFHfeD9FBK/images/clickstack/nodejs/traces-search-view.png?fit=max&auto=format&n=zXCQbzXFHfeD9FBK&q=85&s=5dd5201515c103c20cd37203ad345086" alt="Visualização Search de traces" width="3838" height="1936" data-path="images/clickstack/nodejs/traces-search-view.png" />

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/zXCQbzXFHfeD9FBK/images/clickstack/nodejs/trace-view.png?fit=max&auto=format&n=zXCQbzXFHfeD9FBK&q=85&s=b7e01cd4ae907c3f700e2e2a06c76c01" alt="Visualização de um trace individual" width="3812" height="1936" data-path="images/clickstack/nodejs/trace-view.png" />

    <Info>
      **Exibição de fuso horário**

      O HyperDX exibe os 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 de vê-los, você pode reduzir o intervalo para um período de 24 horas para ter visualizações mais claras.
    </Info>
  </Step>
</Steps>

<div id="dashboards">
  ## Dashboards e visualização
</div>

Para ajudar você a começar a monitorar o desempenho de aplicações Node.js, fornecemos um dashboard pré-configurado com visualizações essenciais de traces.

<Steps>
  <Step>
    #### <TrackedLink href={'/pt-BR/examples/nodejs-traces-dashboard.json'} download="nodejs-traces-dashboard.json" eventName="docs.node_traces_monitoring.dashboard_download">Baixe</TrackedLink> a configuração do dashboard
  </Step>

  <Step>
    #### Importe o dashboard pré-configurado

    1. Abra o HyperDX e acesse a seção **Dashboards**
    2. Clique em **Import Dashboard** no canto superior direito (no menu de reticências)

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/zXCQbzXFHfeD9FBK/images/clickstack/import-dashboard.png?fit=max&auto=format&n=zXCQbzXFHfeD9FBK&q=85&s=eace17d7f86efbec4d3151bbf428941a" alt="Importar dashboard" width="3024" height="556" data-path="images/clickstack/import-dashboard.png" />

    3. Faça upload do arquivo `nodejs-traces-dashboard.json` e clique em **Finish Import**

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/zXCQbzXFHfeD9FBK/images/clickstack/nodejs/finish-import.png?fit=max&auto=format&n=zXCQbzXFHfeD9FBK&q=85&s=2675ae47914d461f48358592a5e1ee7b" alt="Concluir importação" width="3812" height="1936" data-path="images/clickstack/nodejs/finish-import.png" />
  </Step>

  <Step>
    #### O dashboard será criado com todas as visualizações pré-configuradas

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/zXCQbzXFHfeD9FBK/images/clickstack/nodejs/example-traces-dashboard.png?fit=max&auto=format&n=zXCQbzXFHfeD9FBK&q=85&s=bddabb7124cb29e620e645b06fc424f5" alt="Dashboard de exemplo" width="3812" height="1936" data-path="images/clickstack/nodejs/example-traces-dashboard.png" />

    <Note>
      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). Por padrão, o dashboard importado não terá um intervalo de tempo especificado.
    </Note>
  </Step>
</Steps>

<div id="troubleshooting">
  ## Solução de problemas
</div>

<div id="demo-traces-not-appearing">
  ### Traces de demonstração não aparecem via curl
</div>

Se você enviou traces via curl, mas não os vê no HyperDX, tente enviá-los uma segunda vez:

```bash theme={null}
curl -X POST http://localhost:4318/v1/traces \
  -H "Content-Type: application/json" \
  -H "Authorization: $CLICKSTACK_API_KEY" \
  -d @nodejs-traces-sample.json
```

Este é um problema conhecido que ocorre ao usar a abordagem de demo via curl e não afeta aplicações de produção instrumentadas.

<div id="no-traces">
  ### Nenhum trace é exibido no HyperDX
</div>

**Verifique se as variáveis de ambiente estão definidas:**

```bash theme={null}
echo $CLICKSTACK_API_KEY
# Deve exibir sua API key

echo $OTEL_EXPORTER_OTLP_ENDPOINT
# Deve exibir http://localhost:4318 ou o host do seu ClickStack
```

**Verifique a conectividade da rede:**

```bash theme={null}
curl -v http://localhost:4318/v1/traces
```

Deve se conectar com sucesso ao endpoint OTLP.

**Verifique os logs da aplicação:**
Procure por mensagens de inicialização do OpenTelemetry quando o app iniciar. O SDK do HyperDX deve exibir uma confirmação de que foi inicializado.

<div id="next-steps">
  ## Próximas etapas
</div>

* Configure [alertas](/pt-BR/clickstack/features/alerts) para métricas críticas (taxas de erro, limites de latência)
* Crie dashboards adicionais para casos de uso específicos (monitoramento de APIs, eventos de segurança)

<div id="going-to-production">
  ## Colocando em produção
</div>

Este guia usa o SDK do HyperDX, que envia traces diretamente para o endpoint OTLP do ClickStack. Isso funciona bem para desenvolvimento, testes e implantações de produção de pequeno e médio porte.
Para ambientes de produção maiores ou se você precisar de mais controle sobre os dados de telemetria, considere implantar seu próprio OpenTelemetry Collector como agente.
Consulte [Ingestão com OpenTelemetry](/pt-BR/clickstack/ingesting-data/opentelemetry) para ver padrões de implantação em produção e exemplos de configuração do collector.
