> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AppSignal para Node.js: Ferramenta de diagnóstico

O pacote AppSignal para Node.js vem com uma ferramenta de autodiagnóstico. Essa ferramenta pode ser usada para depurar sua instalação do AppSignal e é uma das primeiras coisas que nossa equipe de suporte solicita quando há um problema.

## O relatório de diagnóstico

Essa ferramenta de linha de comando é útil ao testar o AppSignal em um sistema e validar a configuração local. Ela exibe informações úteis para depurar problemas e verifica se o agente do AppSignal consegue rodar na arquitetura da máquina e se comunicar com os servidores do AppSignal.

Essa ferramenta de diagnóstico coleta e exibe o seguinte:

* informações sobre o pacote AppSignal.
* informações sobre o sistema host e o Node.js.
* se a [extensão](/appsignal/how-appsignal-operates#extension) e o [agente](/appsignal/how-appsignal-operates#agent) do AppSignal conseguem rodar no sistema host.
* todas as opções de configuração configuradas (incluindo valores padrão).
* se a configuração é válida e está ativa.
* se a Push API key está presente e é válida (requer conexão com a internet).
* de onde vêm os valores das opções de configuração.

Leia mais sobre como usar o comando diagnose na página [Debugging][debugging].

## Enviando o relatório

Você precisa passar a opção `--send-report` para enviar o relatório de diagnóstico ao AppSignal. Se usada, o relatório será enviado para nossos servidores e você receberá um token de suporte.

Quando você [nos enviar esse token de suporte](mailto:support@appsignal.com), iremos analisar o relatório e ajudar você a depurar o problema. Percebemos que copiar e colar a saída do relatório normalmente faz com que a formatação seja perdida e dificulta a leitura, por isso ele é enviado aos nossos servidores no formato JSON.

## Uso

Na linha de comando, dentro do seu projeto (um diretório com um `package.json` e `@appsignal/nodejs` instalado), execute:

<CodeGroup>
  ```bash Bash theme={null}
  npx @appsignal/cli diagnose
  ```
</CodeGroup>

No mínimo, a variável `APPSIGNAL_PUSH_API_KEY` precisa estar definida antes que o comando diagnose possa ser executado. Se isso ainda não estiver definido no seu ambiente, você também pode defini-la em tempo de execução com a opção `--api-key`:

<CodeGroup>
  ```bash Bash theme={null}
  npx @appsignal/cli diagnose --api-key="<PUSH API KEY HERE>"
  ```
</CodeGroup>

Você também pode definir a variável de ambiente em tempo de execução:

<CodeGroup>
  ```bash Bash theme={null}
  APPSIGNAL_PUSH_API_KEY="<PUSH API KEY HERE>" npx @appsignal/cli diagnose
  ```
</CodeGroup>

Para executar o diagnose no seu servidor de produção e enviar o relatório ao AppSignal para fins de suporte, você pode executar o seguinte comando:

<CodeGroup>
  ```bash Bash theme={null}
  npx @appsignal/cli diagnose --environment=production --send-report --api-key="<PUSH API KEY HERE>"
  ```
</CodeGroup>

A opção de environment é útil quando o ambiente padrão não é aquele que você quer diagnosticar. A ferramenta de diagnose irá avisar você quando nenhum ambiente estiver selecionado.

## Opções

| Opção                                                | Descrição                                                                        |
| ---------------------------------------------------- | -------------------------------------------------------------------------------- |
| [`--environment=<environment>`](#environment-option) | Define o ambiente a ser usado no comando, por exemplo `production` ou `staging`. |
| `--api-key`                                          | Define qual API key usar.                                                        |
| [`--[no-]send-report`](#report-submission-option)    | Envia automaticamente, ou não envia o relatório.                                 |

### Opção de environment

Define qual ambiente do app o AppSignal deve carregar na CLI de diagnose.

<CodeGroup>
  ```bash Bash theme={null}
  npx @appsignal/cli diagnose --environment=production
  ```
</CodeGroup>

### Opção de envio do relatório

As opções para [enviar o relatório](#submitting-the-report) imediatamente, ou não, foram adicionadas na versão `1.2.5` do pacote AppSignal para Node.js.

Enviar o relatório para o AppSignal:

<CodeGroup>
  ```bash Bash theme={null}
  npx @appsignal/cli diagnose --send-report
  ```
</CodeGroup>

Não enviar o relatório para o AppSignal:

<CodeGroup>
  ```bash Bash theme={null}
  npx @appsignal/cli diagnose --no-send-report
  ```
</CodeGroup>

## Formato de saída da configuração

### Formato dos valores das opções de configuração

As opções de configuração são impressas na CLI como seus valores inspecionados. Isso significa que as imprimimos da mesma forma que o Node.js faria em um console.

* Valores de string são impressos entre aspas duplas, por exemplo, `"My app name"`.
* Valores booleanos são impressos como seus valores brutos: `true` e `false`.
* Valores de array são impressos como uma coleção de valores entre colchetes, por exemplo, `["HTTP_ACCEPT", "HTTP_ACCEPT_CHARSET"]`.
  * Arrays vazios são impressos como dois colchetes: `[]`.
* Valores null ou undefined são impressos como `null` ou `undefined`.

[debugging]: /support/debugging.html
