Risoluzione dei problemi relativi al tracciamento di .NET su Windows

Se la tracciatura non funziona come previsto, inizia con le procedure generali di risoluzione dei problemi prima di passare a scenari specifici.

Risoluzione dei problemi generali

Completa i seguenti passi:

  1. Verificare i prerequisiti:

    • Verifica la compatibilità della versione di .NET : assicurati che la tua applicazione funzioni su .NET Core Runtime 5.0 o versioni successive.
    • Verificare che l'agente di Instana sia in esecuzione:

      • Apri Gestione attività su Windows e cerca il processo " Instana ".
      • Verifica lo stato dell'agente nell'interfaccia utente di Instana.
    • Verificare che PCP ( Instana ) sia in esecuzione:

      • InstanaPCP.exeApri Gestione attività e cerca.
      • Se l'agente non è in esecuzione, riavviare l' Instana.
  2. Verifica le variabili d'ambiente: se il tracciamento non funziona, controlla che le variabili d'ambiente siano:

    • Impostare correttamente.
    • Scritto correttamente.
    • Impostare in modo adeguato in base all'ambiente in cui è distribuita l'applicazione.
    • Valido, accessibile dal processo o dall'applicazione e corretto.
  3. Controlla IL-Rewriter per verificare se è stato caricato correttamente:

    1. Controllare i registri dell'applicazione per verificare la presenza di messaggi relativi all'inizializzazione di IL-Rewriter. Risultato previsto in caso di esito positivo:

      *Initializing Instana IL-Rewriter for .NET Core* 
      *Logging path is not set* 
      *Loading configuration-file /app/instana_tracing/instrumentation.json*
      Nota: il percorso potrebbe variare a seconda dell'ambiente in uso.
    2. Se le righe relative a IL-Rewriter non vengono visualizzate, assicurarsi che tutte le variabili d'ambiente necessarie CORECLR siano impostate correttamente e disponibili per l'applicazione.

      • CORECLR_ABILITA_PROFILAZIONE
      • CORECLR_PROFILER_PATH
      • CORECLR_PROFILER
  4. Controlla il Visualizzatore eventi di Windows : utilizza il Visualizzatore eventi di Windows per risolvere gli errori:

    1. Apri il Visualizzatore eventi.
    2. Go vai su Windows Logs > Applicazione.
    3. Cerca eventuali errori o avvisi relativi alla tua applicazione o a IIS.
    4. Verificare la presenza di eventi relativi a " Instana ".

    Gli eventi contengono informazioni dettagliate, tra cui timestamp e codici di errore, che possono aiutare a individuare i problemi.

  5. Verificare che la diagnostica sia abilitata per .NET : assicurarsi che le variabili d'ambiente COMPlus_EnableDiagnostics e DOTNET_EnableDiagnostics siano impostate su 1. Se sono disabilitati, IL-Rewriter non può collegarsi al processo e, di conseguenza, non è possibile riscrivere le chiamate né generare tracce.

Risoluzione dei problemi specifici per ogni caso

Se le procedure di risoluzione dei problemi generali non risolvono il tuo problema, consulta i seguenti scenari di risoluzione dei problemi:

Scenario 1: Tracce o campate mancanti

Sintomi: l'applicazione mostra le metriche ma non le tracce; alcuni servizi generano rapporti, mentre altri no; oppure il tracciamento si interrompe dopo una distribuzione o un aggiornamento.

Procedura di risoluzione dei problemi:

  1. Verificare che la versione dell'applicazione ".NET " sia supportata:

    • .NET Core Versione di Runtime 5.0 o o successive
  2. Verificare che il tracciamento sia abilitato nel file dell'agente configuration.yaml .
  3. Raccogli i log di tracciamento utilizzando Log Collector oppure raccogliendoli manualmente.
  4. Controlla i log di tracciamento dell' Instana :

    • Se i log sono vuoti o non sono visibili tracce, l'applicazione non sta generando span.
    • Se nei log sono presenti tracce ma mancano alcune informazioni (ad esempio, l'host), il problema riguarda il livello di tracciamento di .NET.
    • Se nei log sono presenti tracce contenenti informazioni che non compaiono nell'interfaccia utente, il problema si è verificato nel backend di Instana o nell'agente.

Scenario 2: L'applicazione non si avvia

Sintomo: l'applicazione non si avvia correttamente quando è in esecuzione l'agente di Instana.

Procedura di risoluzione dei problemi:

  1. Verificare che la versione dell'applicazione ".NET " sia supportata:

    • .NET Core Versione di Runtime 5.0 o o successive
  2. Raccogli i registri di Event Viewer utilizzando Log Collector oppure raccogliendoli manualmente.
  3. Controlla i registri del Visualizzatore eventi di Instana :

    • Verifica se nei registri è presente un errore o un avviso. Un evento contiene informazioni dettagliate, tra cui timestamp e codici di errore, che possono aiutare a diagnosticare i problemi.
    • Se compare un errore che indica InstanaPCP.exe che l'operazione non è andata a buon fine, significa che l'operazione InstanaPCP non è riuscita. Controlla gli eventi che l'hanno preceduto e approfondisci la questione.
  4. Acquisire un dump di memoria dell'applicazione in questione.

Scenario 3: L'agente non rileva l'applicazion.NET

Sintomo: l'applicazione ".NET " non viene monitorata dall'agente " Instana " e non è presente nell'interfaccia utente.

Procedura di risoluzione dei problemi:

  1. Verificare che l'agente di Instana sia in esecuzione con privilegi di amministratore.
  2. Verificare che l'agente di Instana disponga delle autorizzazioni necessarie per l'applicazione.
  3. Verificare che PCP ( Instana ) sia in esecuzione:

    • InstanaPCPApri Gestione attività su Windows e cerca.
  4. Raccogli i log degli agenti d Instana utilizzando Log Collector oppure raccogliendoli manualmente.

    • Nei log dell'agente di Instana dovrebbe essere presente la seguente riga:

      com.instana.agent-process-handling - 1.0.35 |  | InstanaPCP.exe passed early window; marked RUNNING
  5. Verificare che i sensori siano stati attivati correttamente nei log dell'agente:

    com.instana.sensor-clr - 1.1.141 |  | Activated Sensor
  6. Verificare che il processo ".NET " sia avviato dopo l'agente " Instana ".

Scenario 4: Elevato utilizzo della CPU da parte di un' InstanaPCP e o di un'applicazione dopo l'attivazione del tracciamento

Sintomo: l'applicazione " InstanaPCP " o ".NET " mostra un utilizzo della CPU insolitamente elevato dopo l'attivazione della tracciatura.

Procedura di risoluzione dei problemi:

  1. Verifica se il problema è legato all'applicazione o a un processo in esecuzione controllando l InstanaPCP.
  2. Se il problema riguarda InstanaPCP:

    • Abilita i log di debug per InstanaPCP. Vedi "Raccolta dei registri ".
    • Controlla i log alla ricerca di messaggi ricorrenti relativi a contatori di prestazioni mancanti o eccezioni.
  3. Se il problema è un picco di utilizzo della memoria dell'applicazione:

    • Raccogliere i registri degli eventi e i registri di ".NET " utilizzando Log Collector oppure raccogliendoli manualmente.
    • Controlla i registri degli eventi e i registri di ".NET " per individuare eventuali eccezioni relative alla memoria.
    • Verificare se il problema è causato da una strumentazione dell' Instana.
    • Acquisire un file di dump di ".NET " per un'ulteriore analisi. Go Accedere a Gestione attività, fare clic con il pulsante destro del mouse sul processo e creare un file di dump.

Raccolta dei log

Instana offre due metodi per raccogliere i log:

Raccolta dei log tramite Log Collector

Log Collector è un'applicazione autonoma che consente di raccogliere i log da Instana. È possibile avviare Log Collector dalle seguenti posizioni:

Il Log Collector raccoglie i seguenti log:

  • Registri di tracciamento delle applicazioni
  • Instana Registri PCP
  • Log di debug CLR
  • Registri del Visualizzatore eventi
  • Instana log di debug dell'agente
  • Instana l'agente registra i log

Esecuzione di Log Collector dall'interfaccia utente di Instana

Importante: è possibile accedere allo strumento Log Collector solo se il proprio ruolo include l'autorizzazione "Raccogli e archivia i log di tracciamento di .NET ". È possibile abilitare questa autorizzazione nella sezione "Infrastruttura" dell'interfaccia utente di Instana.
  1. Dal menu di navigazione, seleziona "Analytics > Infrastruttura" oppure cerca l'agente dal menu "Altro" nell'interfaccia utente di Instana.
  2. Fai clic sul processo ".NET " che desideri monitorare.
  3. Nella dashboard del processo ".NET ", fare clic su "Setup" > ".NET " > "Debug Env", come mostrato nell'immagine seguente:

    Figura 1. Programma di raccolta log
    Programma di raccolta log

    Questo passaggio attiva l'applicazione Log Collector sull'host e imposta le variabili d'ambiente necessarie per la raccolta dei log di .NET.

  4. Riavvia l'applicazione .NET per assicurarti che le variabili d'ambiente aggiornate vengano caricate.
    Nota: per includere i log di " InstanaPCP " nella raccolta, riavviare anche l'agente " Instana ".
  5. Effettua alcune chiamate o genera traffico verso l'applicazione per creare i log.
  6. Clicca su "Scarica i registri di.NET ".

    Nota: il pulsante "Scarica i log di .NET " viene visualizzato solo dopo che l'ambiente di debug è stato configurato correttamente.

Il Log Collector raccoglie i log da diverse fonti, tra cui i log di tracciamento delle applicazioni (se [agent-dir]\etc\instana\com.instana.agent.main.sender.File.cfg già configurati), i log di " InstanaPCP " (se l'agente è stato riavviato), i log di debug CLR, i log di Event Viewer e i log dell'agente " Instana ". I log raccolti vengono compressi in un .zip file e scaricati sul tuo computer.

Esecuzione di Log Collector dalla console

Nel caso in cui l'interfaccia utente non funzioni, è possibile avviare Log Collector dalla console:

  1. Go nel percorso del raccoglitore di log nella cartella dell'agente di Instana :

    C:\\instana-agent\data\repo\com\instana\dotnet-logcollector-win-x64\1.302.1\dotnet-logcollector-win-x64-1.302.1
  2. Esegui il seguente comando per preparare la raccolta dei log:

    logcollector.exe -m prepare -i "C:\Program Files\Instana\instana-agent"
  3. Riavvia l'applicazione ed effettua delle chiamate all'applicazione.
  4. Dopo un po' di tempo, esegui il comando collect:

    logcollector.exe -m collect -i "C:\Program Files\Instana\instana-agent" -o "C:\output\log.zip"
    Nota: assicurati di eseguire i comandi come amministratore.

Raccolta manuale dei log

In alternativa, è possibile raccogliere i log manualmente. Completa i seguenti passi:

  1. Abilita i log di debug:

    1. Aggiungere le variabili d'ambiente utilizzando una delle seguenti opzioni:

      Nota: assicurarsi che i percorsi siano validi, accessibili al processo o all'applicazione e corretti.
      • Impostare manualmente le seguenti variabili d'ambiente a livello di 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
      • Apri il prompt dei comandi come amministratore ed esegui il seguente comando per aggiungere le variabili d'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. Configurare la seguente chiave di registro di sistema Windows :

      CLRDebugLog: "C:\dc_clr_debug_log\clr_"
    3. Riavviare l'applicazione.
  2. Raccogliere i log degli agenti dell' Instana :

    1. Arrestare l'agente <instana_install_dir>/bin/stop.sh oppure, se l'agente è stato avviato come servizio, arrestare il servizio.
    2. Rimuovere i file di log: eliminare tutti i file presenti nella directory dei log per ricominciare da zero eseguendo il seguente comando:

      rm -rf <instana_install_dir>/data/log/*
    3. Imposta il livello di registrazione su "Debug": modifica il livello di gravità della registrazione nel file dell'agente configuration.yaml . Per ulteriori informazioni, consultare la sezione "Impostazione del file di configurazione dell'agente".
    4. Avvia l'agente <instana_install_dir>/bin/start.sh o avvia il servizio.
    5. Riprodurre il problema: lasciare che il problema si verifichi ed eseguire l'agente per circa 15 minuti.
    6. Raccogli i log: comprimi la directory dei log per l'invio eseguendo il seguente comando:

      cd <instana_install_dir>/data/logs
      zip -r instana_agent_debug_logs.zip *
  3. Raccogliere i log di tracciamento dell' Instana :

    1. com.instana.agent.main.sender.File.cfgGo per [agent-dir]\etc\instana e aprire il file.
    2. Aggiungi le seguenti righe nel file:

      prefix=instanaTraces
      type=traces

      Questa configurazione genera un file di log che contiene tutte le tracce con [agent-dir]/data/log il instanaTraces prefisso.

    3. Riavvia l'agente di Instana.
    4. Lasciare in funzione l'applicazione per circa 15 minuti.
    5. Raccogliere i log dai seguenti percorsi:

      • Percorso specificato dalla variabile INSTANA_NET_LOG_PATH
      • instana-agent-installation-folder/data/log
  4. Raccogliere i log di debug CLR:

    1. Apri l'Editor del Registro di sistema.
    2. Naviga a Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Instana\
    3. C:\temp\clr_Aggiungi la chiave CLRDebugLog di registro come stringa con valore, ad esempio.
    4. In alternativa, apri il prompt dei comandi come amministratore ed esegui il seguente comando:

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

Apertura di un ticket di supporto

Se il problema persiste dopo aver completato questi passaggi di risoluzione dei problemi, raccogli i dati relativi all' MustGather e prima di aprire un ticket di assistenza. MustGather Questi dati aiutano il servizio di assistenza IBM a diagnosticare il tuo problema in modo più efficiente.

Per ulteriori informazioni, consultare MustGather:, Instana, .NET e Tracer - Windows.