Solução de problemas do rastreamento do `.NET ` no ` Windows `

Se o rastreamento não estiver funcionando como esperado, comece com as etapas gerais de solução de problemas antes de passar para cenários específicos.

Resolução de problemas gerais

Conclua as etapas a seguir:

  1. Verifique os pré-requisitos:

    • Verifique a compatibilidade de versão do .NET : certifique-se de que seu aplicativo seja executado no .NET Core Runtime 5.0 ou em uma versão posterior.
    • Verifique se o agente do Instana está em execução:

      • Abra o Gerenciador de Tarefas em Windows e procure o processo do agente Instana.
      • Verifique o status do agente na interface do usuário do Instana.
    • Verifique se o PCP do Instana está em execução:

  2. Verifique as variáveis de ambiente: Se o rastreamento não estiver funcionando, verifique se as variáveis de ambiente estão:

    • Configure corretamente.
    • Escrito corretamente.
    • Defina os parâmetros adequados para o ambiente em que a aplicação está implantada.
    • Válido, acessível pelo processo ou aplicativo e correto.
  3. Verifique o IL-Rewriter para confirmar se ele foi carregado corretamente:

    1. Verifique os logs da aplicação em busca de mensagens de inicialização do IL-Rewriter. Resultado esperado em caso de sucesso:

      *Initializing Instana IL-Rewriter for .NET Core* 
      *Logging path is not set* 
      *Loading configuration-file /app/instana_tracing/instrumentation.json*
      Observação: o caminho pode variar dependendo do seu ambiente.
    2. Se as linhas do IL-Rewriter não aparecerem, certifique-se de que todas as variáveis de ambiente necessárias CORECLR estejam definidas corretamente e estejam disponíveis para o aplicativo.

      • CORECLR_ENABLE_PROFILING
      • CORECLR_PROFILER_PATH
      • CORECLR_PROFILER
  4. Verifique o Visualizador de Eventos do Windows : Use o Visualizador de Eventos do Windows para solucionar erros:

    1. Abra o Visualizador de Eventos.
    2. Go em Windows Logs > Application.
    3. Procure por erros ou avisos relacionados ao seu aplicativo ou ao IIS.
    4. Verifique se há eventos relacionados ao ` Instana `.

    Os eventos contêm informações detalhadas, incluindo registros de data e hora e códigos de erro, que podem ajudar no diagnóstico de problemas.

  5. Verifique se os diagnósticos estão ativados para o `.NET `: certifique-se de que as variáveis de ambiente ` COMPlus_EnableDiagnostics ` e ` DOTNET_EnableDiagnostics ` estejam definidas como 1. Se estiverem desativadas, o IL-Rewriter não poderá se conectar ao processo e, portanto, as chamadas não poderão ser reescritas e os rastreamentos não poderão ser gerados.

Solução de problemas em casos específicos

Se as etapas gerais de solução de problemas não resolverem o seu problema, consulte os seguintes cenários de solução de problemas:

Cenário 1: Faltam traços ou trechos

Sintomas: O aplicativo exibe métricas, mas não apresenta rastreamentos; alguns serviços geram relatórios, mas outros não; ou o rastreamento é interrompido após uma implantação ou atualização.

Etapas de resolução de problemas:

  1. Verifique se a versão do aplicativo para o sistema operacional Windows (.NET ) é compatível:

    • .NET Core 5.0 ou versão posterior
  2. Verifique se o rastreamento está ativado no arquivo do agente configuration.yaml .
  3. Recolha os registros de rastreamento usando o Log Collector ou coletando-os manualmente.
  4. Verifique os logs de rastreamento do Instana :

    • Se os registros estiverem vazios ou não houver rastros visíveis, a aplicação não está gerando spans.
    • Se houver registros nos logs, mas faltarem informações (por exemplo, o host), o problema está na camada de rastreamento do .NET.
    • Se houver registros nos logs contendo informações que não constam na interface do usuário, o problema ocorreu no backend do Instana ou no agente.

Cenário 2: A aplicação não inicia

Sintoma: O aplicativo falha ao iniciar quando o agente do Instana está em execução.

Etapas de resolução de problemas:

  1. Verifique se a versão do aplicativo para o sistema operacional Windows (.NET ) é compatível:

    • .NET Core 5.0 ou versão posterior
  2. Recolha os registros do Visualizador de Eventos usando o Log Collector ou coletando-os manualmente.
  3. Verifique os registros do Visualizador de Eventos do Instana :

    • Verifique se há algum erro ou aviso nos registros. Um evento contém informações detalhadas, incluindo registros de data e hora e códigos de erro, que podem ajudar no diagnóstico de problemas.
    • Se aparecer uma mensagem de erro indicando InstanaPCP.exe que InstanaPCP falhou. Verifique os eventos que antecederam a situação e investigue o problema mais a fundo.
  4. Recolha um relatório de falha do aplicativo em questão.

Cenário 3: O agente não detecta um aplicativ.NET

Sintoma: O aplicativo .NET não está sendo monitorado pelo agente Instana e não aparece na interface do usuário.

Etapas de resolução de problemas:

  1. Verifique se o agente do Instana está sendo executado como administrador.
  2. Verifique se o agente do Instana possui permissões para acessar o aplicativo.
  3. Verifique se o PCP do Instana está em execução:

    • Abra o Gerenciador de Tarefas em Windows e procure por InstanaPCP.
  4. Recolha os registros do agente d Instana e usando o Log Collector ou recolhendo os registros manualmente.

    • Nos registros do agente do Instana, deve constar a seguinte linha:

      com.instana.agent-process-handling - 1.0.35 |  | InstanaPCP.exe passed early window; marked RUNNING
  5. Verifique se os sensores foram ativados corretamente nos registros do agente:

    com.instana.sensor-clr - 1.1.141 |  | Activated Sensor
  6. Verifique se o processo `.NET ` é iniciado após o agente ` Instana `.

Cenário 4: Alta utilização da CPU no ` InstanaPCP ` ou em um aplicativo após ativar o rastreamento

Sintoma: O aplicativo “ InstanaPCP ” ou “.NET ” apresenta um uso de CPU anormalmente alto após a ativação do rastreamento.

Etapas de resolução de problemas:

  1. Verifique o Gerenciador de Tarefas para determinar se o problema está relacionado ao aplicativo ou a um InstanaPCP.
  2. Se o problema for com InstanaPCP:

    • Ativar registros de depuração para o ` InstanaPCP `. Consulte “Recolha de registros ”.
    • Verifique os registros em busca de mensagens recorrentes sobre contadores de desempenho ausentes ou exceções.
  3. Se o problema for um pico de uso de memória da aplicação:

    • Recolha os registros de eventos e os registros do `.NET ` utilizando o Log Collector ou recolhendo os registros manualmente.
    • Verifique os registros de eventos e os registros do `.NET ` em busca de exceções relacionadas à memória.
    • Verifique se o problema é causado por uma instrumentação d Instana.
    • Recolha um arquivo de despejo do `.NET ` para análise posterior. Go No Gerenciador de Tarefas, clique com o botão direito do mouse no processo e crie um arquivo de despejo.

Coletando logs

Instana oferece dois métodos para coletar registros:

Coleta de logs usando o Log Collector

O Log Collector é um aplicativo independente para coletar logs do Instana. Você pode acionar o Log Collector a partir dos seguintes locais:

O Log Collector coleta os seguintes registros:

  • Logs de rastreamento de aplicativos
  • Instana Registros do PCP
  • Registros de depuração do CLR
  • Registros do Visualizador de Eventos
  • Instana registros de depuração do agente
  • Instana O agente registra os logs

Executando o Log Collector a partir da interface do usuário do Instana

Importante: Você só poderá acessar a ferramenta Log Collector se sua função incluir a permissão “Coletar e armazenar logs de rastreamento d.NET ”. Você pode ativar essa permissão na seção “Infraestrutura” da interface do usuário do Instana.
  1. No menu de navegação, selecione Analytics > Infraestrutura ou procure o agente no menu Mais da interface do usuário do Instana.
  2. Clique no processo ".NET " que deseja monitorar.
  3. No painel do processo ".NET ", clique em "Setup" > ".NET " > "Debug Env", conforme mostrado na imagem a seguir:

    Figura 1. Coletor do log
    Coletor do log

    Esta etapa ativa o aplicativo Log Collector no host e define as variáveis de ambiente necessárias para a coleta de logs do .NET.

  4. Reinicie o aplicativo .NET para garantir que as variáveis de ambiente atualizadas sejam carregadas.
    Observação: para incluir os logs do ` InstanaPCP ` na coleta, reinicie também o agente ` Instana `.
  5. Faça algumas chamadas ou gere tráfego para o aplicativo a fim de gerar registros.
  6. Clique em “Baixar” para obter os registros do .NET.

    Observação: o botão “Baixar registros do .NET ” só aparece depois que o ambiente de depuração for configurado com sucesso.

O Log Collector coleta logs de várias fontes, incluindo logs de rastreamento de aplicativos (se [agent-dir]\etc\instana\com.instana.agent.main.sender.File.cfg já tiverem sido configurados), logs do InstanaPCP (se o agente tiver sido reiniciado), logs de depuração do CLR, logs do Visualizador de Eventos e logs do agente do Instana. Os registros coletados são compactados em um .zip arquivo e baixados para o seu computador.

Executando o Log Collector a partir do console

Caso a interface do usuário não funcione, o Log Collector pode ser acionado a partir do console:

  1. Go no caminho do coletor de logs na pasta do agente do Instana :

    C:\\instana-agent\data\repo\com\instana\dotnet-logcollector-win-x64\1.302.1\dotnet-logcollector-win-x64-1.302.1
  2. Execute o seguinte comando para preparar a coleta de logs:

    logcollector.exe -m prepare -i "C:\Program Files\Instana\instana-agent"
  3. Reinicie o aplicativo e faça chamadas para ele.
  4. Após algum tempo, execute o comando collect:

    logcollector.exe -m collect -i "C:\Program Files\Instana\instana-agent" -o "C:\output\log.zip"
    Observação: certifique-se de que os comandos sejam executados como administrador.

Recolha manual de registros

Como alternativa, você pode coletar os registros manualmente. Conclua as etapas a seguir:

  1. Ative logs de depuração:

    1. Adicione variáveis de ambiente usando uma das seguintes opções:

      Observação: certifique-se de que os caminhos sejam válidos, acessíveis pelo processo ou aplicativo e estejam corretos.
      • Defina manualmente as seguintes variáveis de ambiente no nível do sistema:

        INSTANA_NET_LOG_PATH: "C:\dc_net_log"
        INSTANA_NET_LOG_LEVEL: DEBUG
        INSTANA_NET_CORE_LOG_LEVEL: DEBUG
        INSTANA_NET_FF_LOG_LEVEL: DEBUG
        INSTANA_NET_PCP_LOG_LEVEL: DEBUG
        INSTANA_TRACER_ENTEREXIT_LOGGING: 1
        INSTANA_EXTENDED_DEBUG: 1
      • Abra o prompt de comando como administrador e execute o seguinte comando para adicionar as variáveis de ambiente:

        setx INSTANA_NET_LOG_PATH "C:\dc_net_log" /M
        setx INSTANA_NET_LOG_LEVEL "DEBUG" /M
        setx INSTANA_NET_CORE_LOG_LEVEL "DEBUG" /M
        setx INSTANA_NET_FF_LOG_LEVEL "DEBUG" /M
        setx INSTANA_NET_PCP_LOG_LEVEL "DEBUG" /M
        setx INSTANA_TRACER_ENTEREXIT_LOGGING "1" /M
        setx INSTANA_EXTENDED_DEBUG "1" /M
    2. Configure a seguinte chave do Registro: ` Windows `:

      CLRDebugLog: "C:\dc_clr_debug_log\clr_"
    3. Reinicie o aplicativo.
  2. Recolher os registros do agente d Instana :

    1. Interrompa o agente <instana_install_dir>/bin/stop.sh ou, se o agente tiver sido iniciado como um serviço, interrompa o serviço.
    2. Remova os arquivos de log: Apague todos os arquivos no diretório de log para reiniciar do zero, executando o seguinte comando:

      rm -rf <instana_install_dir>/data/log/*
    3. Defina o nível de registro como "Debug": altere a gravidade do nível de registro no arquivo do agente configuration.yaml . Para obter mais informações, consulte a seção “Configurando o arquivo de configuração do agente”.
    4. Inicie o agente <instana_install_dir>/bin/start.sh ou inicie o serviço.
    5. Reproduza o problema: deixe que o problema ocorra e execute o agente por aproximadamente 15 minutos.
    6. Recolha os logs: Compacte o diretório de logs para envio executando o seguinte comando:

      cd <instana_install_dir>/data/logs
      zip -r instana_agent_debug_logs.zip *
  3. Recolher os registros de rastreamento d Instana :

    1. com.instana.agent.main.sender.File.cfgGo para [agent-dir]\etc\instana e abrir o arquivo.
    2. Adicione as seguintes linhas ao arquivo:

      prefix=instanaTraces
      type=traces

      Essa configuração gera um arquivo de log que contém todos os rastreamentos com [agent-dir]/data/log o instanaTraces prefixo.

    3. Reinicie o agente do Instana.
    4. Deixe o produto agir por cerca de 15 minutos.
    5. Recolha os arquivos de log dos seguintes caminhos:

      • Caminho especificado pela variável INSTANA_NET_LOG_PATH
      • instana-agent-installation-folder/data/log
  4. Recolher registros de depuração do CLR:

    1. Abra o Editor do Registro.
    2. Navegue para Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Instana\
    3. Adicione a chave CLRDebugLog do Registro como uma string com valor, por exemplo, C:\temp\clr_.
    4. Como alternativa, abra o prompt de comando como administrador e execute o seguinte comando:

      reg add "HKLM\SOFTWARE\Instana" /v CLRDebugLog /t REG_SZ /d "C:\temp\clr_" /f

Abrindo um chamado de suporte

Se o problema persistir após concluir essas etapas de solução de problemas, colete os dados d MustGather e antes de abrir um ticket de suporte. MustGather Esses dados ajudam o suporte da IBM a diagnosticar seu problema com mais eficiência.

Para mais informações, consulte MustGather:, Instana, .NET e Tracer - Windows.