Pular para o conteúdo principal
O pacote AppSignal para Python inclui uma ferramenta de autodiagnóstico que pode ser usada para depurar a instalação e a configuração da sua integração com o AppSignal. É uma das primeiras ferramentas que nossa equipe de suporte solicita que você execute ao depurar um problema.

O relatório de diagnóstico

Você pode usar essa ferramenta de diagnóstico para testar e validar sua instalação do AppSignal. Ela produz informações úteis para depurar problemas e verifica se o agente do AppSignal consegue ser executado 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 do AppSignal.
  • Informações sobre o sistema host e o Python.
  • Se o agente do AppSignal consegue 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 (necessária conexão com a internet).
  • De onde vêm os valores das opções de configuração.
  • Se os caminhos de sistema obrigatórios existem, são graváveis, e quais usuário e grupo são proprietários.
  • Pequenas partes do final dos arquivos de log disponíveis.
Você pode ler mais sobre como usar o comando diagnose em nossa documentação de Debugging.

Enviando o relatório

Depois que o relatório for criado, você será solicitado a enviá-lo para nossos servidores. Se você aceitar essa solicitação, o relatório será enviado para nossos servidores e você receberá um token de suporte. Quando você enviar esse token de suporte para nós, revisaremos o relatório e ajudaremos você a depurar o problema. Notamos que copiar e colar a saída do relatório geralmente perde a formatação e dificulta a leitura, por isso ele é enviado para nossos servidores no formato JSON. Depois de enviar o relatório para nossos servidores, um link para a visualização web do relatório é impresso na saída do diagnose. Essa visualização web também mostrará quaisquer problemas de validação e avisos que nosso sistema detectou.

Uso

Na linha de comando, dentro do seu projeto, execute:
python -m appsignal diagnose
Se você estiver enfrentando um problema em produção e precisar enviar o relatório ao AppSignal para suporte, pode executar o seguinte comando para gerar e enviar o relatório aos nossos servidores:
python -m appsignal diagnose --send-report

Opções

OpçãoUsoDescrição
[no]-send-report--[no-]send-reportEnvia automaticamente, ou não envia o relatório.

Flag de envio do relatório

Usando a flag --send-report é possível enviar automaticamente o relatório sem ser solicitado. Isso facilita o uso em ambientes não interativos. Para executar o diagnose e enviar os dados do relatório ao AppSignal, execute o comando abaixo:
python -m appsignal diagnose --send-report
Para executar o diagnose sem enviar os dados do relatório ao AppSignal, execute o comando abaixo:
python -m appsignal diagnose --no-send-report

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 como o Python 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 cercados por colchetes, por exemplo ["accept", "accept-charset"].
    • Arrays vazios são impressos como dois colchetes: [].

Fontes de configuração

A seção de configuração também exibe a origem dos valores das opções de configuração, o que pode ajudar a identificar fontes que sobrescrevem valores definidos em outras fontes de configuração. Você pode ler mais sobre as fontes de configuração, sua ordem de carregamento e prioridade na documentação ordem de carregamento da configuração. As opções de configuração são exibidas com base na fonte de seus valores e no número de fontes que as definem, como no exemplo abaixo:
Shell
Configuration
  # Option with a value loaded only from the default source
  send_params: True

  # Option with one source
  # A different source than the default source
  name: "My app name" (Loaded from file)

  # Option with multiple sources
  # Listed in order of priority (highest priority last)
  active: True
    Sources:
      default: False
      file:    False
      env:     True