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

Se o rastreamento não estiver funcionando conforme o esperado para aplicativos .NET Framework hospedados no IIS, 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 Framework 4.5.2 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 Framework* 
      *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, verifique se todas as variáveis de ambiente necessárias COR estão definidas corretamente e disponíveis para o aplicativo.

      • COR_ENABLE_PROFILING
      • COR_PROFILER
  4. Verifique os registros do Visualizador de Eventos em Windows : Use os registros do Visualizador de Eventos em 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.
    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.

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 Framework 4.5.2 ou posterior
  2. Verifique se o rastreamento está ativado no arquivo do agente configuration.yaml .
  3. Recolha os registros de rastreamento utilizando o Log Collector ou por meio da coleta manual de registros.
  4. Verifique os logs de rastreamento do Instana e interprete os resultados:

    • 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: O aplicativo trava ou não inicia

Sintoma: O aplicativo trava 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 Framework 4.5.2 ou posterior
  2. Recolha os registros do Visualizador de Eventos utilizando o Log Collector ou por meio da coleta manual de registros.
  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.exeque o ` InstanaPCP ` travou, isso significa que o `` travou. Verifique os eventos anteriores e investigue melhor a questão.
  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 utilizando o Log Collector ou por meio da coleta manual de registros.

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

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

    com.instana.sensor-clr - <version> |  | Activated Sensor
  6. Certifique-se de que o processo .NET seja 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 ` usando 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.

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 registros do servidor de log 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: O sensor .NET Core 1.0.89 ou versões posteriores não suporta a execução da ferramenta Log Collector a partir da interface do usuário do Instana. Se você estiver usando essas versões, execute o Log Collector manualmente a partir do console para coletar os logs.
  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 de controle do processo ".NET ", clique em "Configuração" > ".NET " > "Ambiente de depuração".

    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 Framework 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 logs.
  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 sistema.

Executando o Log Collector a partir do console

Caso a interface do usuário não funcione, você pode acionar o Log Collector a partir do console:

  1. Go para o caminho do Log Collector na pasta do agente do Instana. Use a versão mais recente disponível:

    C:\instana-agent\data\repo\com\instana\dotnet-logcollector-win-x64\<latest_version>\dotnet-logcollector-win-x64-<version>
  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_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_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 logs: Apague todos os arquivos no diretório de logs 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 o nível de gravidade do 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 deixe o agente em execução 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 *

      Para PowerShell:

      Compress-Archive * 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 contendo todos os rastreamentos com [agent-dir]/data/log o prefixo "instanaTraces".

    3. Reinicie o agente do Instana.
    4. Reinicie o aplicativo e deixe-o em execução por aproximadamente 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. Acesse 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
  5. Recolher os registros do Visualizador de Eventos d Windows :

    1. Abrir o Visualizador de Eventos:

      1. Pressione Win + R.
      2. Insira eventvwr.msc.
      3. Pressione Enter.
    2. Go no log que você deseja exportar:

      • Windows Registros: Windows Registros > Aplicativo
      • Registros de aplicativos e serviços
    3. No painel Ações, selecione “Salvar todos os eventos como ”.
    4. Escolha um local e salve como .evtx.

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 a equipe de suporte da IBM a diagnosticar seu problema com mais eficiência.

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