Fehlerbehebung bei der „.NET Framework “-Protokollierung unter IIS

Wenn die Ablaufverfolgung bei von IIS gehosteten „.NET Framework “-Anwendungen nicht wie erwartet funktioniert, sollten Sie zunächst allgemeine Schritte zur Fehlerbehebung durchführen, bevor Sie sich mit fallspezifischen Szenarien befassen.

Allgemeine Fehlerbehebung

Führen Sie die folgenden Schritte aus:

  1. Voraussetzungen prüfen:

    • Überprüfen Sie die Kompatibilität mit der Version „.NET Framework “: Stellen Sie sicher, dass Ihre Anwendung unter „.NET Framework “ 4.5.2 oder einer neueren Version läuft.
    • Überprüfen Sie, ob der „ Instana “-Agent ausgeführt wird:

      • Öffnen Sie den Task-Manager unter Windows und suchen Sie nach dem Prozess „ Instana -Agent“.
      • Überprüfen Sie den Status des Agenten in der Benutzeroberfläche von „ Instana “.
    • Überprüfen Sie, ob der PCP von „ Instana “ ausgeführt wird:

      • Öffnen Sie den Task-Manager und suchen Sie nach InstanaPCP.exe.
      • Falls der „ Instana “-Agent nicht läuft, starten Sie ihn neu.
  2. Überprüfen Sie, ob IIS zurückgesetzt wurde:

    Das häufigste Problem bei von IIS gehosteten Anwendungen ist, dass sie nach Konfigurationsänderungen nicht mehr laufen iisreset . Führen Sie nach jeder Änderung stets den folgenden Befehl aus:

    iisreset
  3. Umgebungsvariablen überprüfen: Falls die Ablaufverfolgung nicht funktioniert, überprüfen Sie, ob alle erforderlichen Umgebungsvariablen wie folgt gesetzt sind:

    • Richtig einstellen.
    • Korrekt geschrieben.
    • Entsprechend der Umgebung konfiguriert, in der die Anwendung bereitgestellt wird ( Windows oder Linux App Service ).
    • Gültig, für den Prozess oder die Anwendung zugänglich und korrekt.
  4. Überprüfen Sie, ob IL-Rewriter korrekt geladen wurde:

    1. Überprüfen Sie die Anwendungsprotokolle auf Initialisierungsmeldungen des IL-Rewriters. Bei erfolgreichem Abschluss wird folgende Ausgabe erwartet:

      Initializing Instana IL-Rewriter for .NET Framework
      Logging path is not set
      Loading configuration-file /app/instana_tracing/instrumentation.json
      Hinweis: Der Pfad kann je nach Ihrer Umgebung abweichen.
    2. Falls die Zeilen von IL-Rewriter nicht angezeigt werden, stellen Sie sicher, dass alle erforderlichen COR Umgebungsvariablen korrekt gesetzt sind und der Anwendung zur Verfügung stehen, wie im folgenden Schritt aufgeführt.
  5. Überprüfen Sie die Protokolle der Ereignisanzeige unter Windows, um Fehler zu beheben:

    1. Öffnen Sie die Ereignisanzeige.
    2. Go zu „ Windows -Protokolle > Anwendung “.
    3. Suchen Sie nach Fehlern oder Warnungen, die sich auf Ihre Anwendung oder IIS beziehen.
    4. Überprüfen Sie, ob Ereignisse im Zusammenhang mit „ Instana “ vorliegen.

    Ereignisse enthalten detaillierte Informationen, darunter Zeitstempel und Fehlercodes, die bei der Fehlerbehebung helfen können.

Fallspezifische Fehlerbehebung

Falls die allgemeine Fehlerbehebung Ihr Problem nicht beheben kann, sehen Sie sich die folgenden Szenarien zur Fehlerbehebung an:

Szenario 1: Fehlende Leiterbahnen oder Spannen

Symptome: Die Anwendung zeigt Metriken an, aber keine Traces; einige Dienste melden Daten, andere hingegen nicht, oder die Tracing-Funktion wird nach einer Bereitstellung oder einem Update nicht mehr ausgeführt.

Fehlerbehebungsschritte:

  1. Vergewissern Sie sich, dass die „.NET Framework “-Version der Anwendung unterstützt wird:

    • .NET Framework 4.5.2 oder später
  2. Überprüfen Sie, ob die Ablaufverfolgung in der configuration.yaml Agent-Datei aktiviert ist.
  3. Erfassen Sie Trace-Protokolle mit einer der folgenden Methoden:

  4. Überprüfen Sie die Trace-Protokolle unter Instana und werten Sie die Ergebnisse aus:

    • Wenn die Protokolle leer sind oder keine Spuren sichtbar sind, erzeugt die Anwendung keine Spans.
    • Wenn in den Protokollen zwar Einträge vorhanden sind, aber Informationen fehlen (z. B. der Host), liegt das Problem bei der „.NET “-Tracing-Ebene.
    • Wenn in den Protokollen Einträge vorhanden sind, die Informationen enthalten, die in der Benutzeroberfläche fehlen, ist das Problem entweder im Backend von „ Instana “ oder im Agenten aufgetreten.

Szenario 2: Die Anwendung stürzt ab oder lässt sich nicht starten

Symptom: Die Anwendung stürzt beim Start ab, wenn der „ Instana “-Agent ausgeführt wird.

Fehlerbehebungsschritte:

  1. Vergewissern Sie sich, dass die „.NET Framework “-Version der Anwendung unterstützt wird:

    • .NET Framework 4.5.2 oder später
  2. Erfassen Sie die Protokolle der Ereignisanzeige mit einer der folgenden Methoden:

  3. Überprüfen Sie die Einträge im Ereignisprotokoll, die mit „ Instana “ in Zusammenhang stehen:

    • Achten Sie auf Fehler oder Warnungen, die mit „ Instana “ zusammenhängen.
    • Die Protokolleinträge enthalten Zeitstempel und Fehlercodes, die bei der Fehlerbehebung helfen können.
    • InstanaPCP.exeWenn in einer Fehlermeldung auf verwiesen wird, bedeutet dies, dass der Prozess „ InstanaPCP “ abgestürzt ist. Gehen Sie die vorangegangenen Ereignisse durch und gehen Sie der Sache weiter auf den Grund.
  4. Erstellen Sie einen Absturzbericht für die Anwendung.

Szenario 3: Der Agent erkennt die Anwendung „.NET Framework “ nicht

Symptom: Die Anwendung „.NET Framework “ wird vom „ Instana “-Agenten nicht überwacht und ist in der Benutzeroberfläche von „ Instana “ nicht vorhanden.

Fehlerbehebungsschritte:

  1. Stellen Sie sicher, dass der „ Instana “-Agent als Administrator ausgeführt wird.
  2. Stellen Sie sicher, dass der „ Instana “-Agent über die erforderlichen Berechtigungen für die Anwendung verfügt.
  3. Überprüfen Sie, ob der PCP von „ Instana “ ausgeführt wird:

    • Öffnen Sie den Task-Manager unter Windows und suchen Sie nach InstanaPCP.
    • Erfassen Sie die Protokolle der „ Instana “-Agenten mithilfe des Log Collectors oder durch manuelle Protokollerfassung.
    • In den Protokoll-Dateien des „ Instana “-Agenten muss folgende Zeile enthalten sein:

      com.instana.agent-process-handling - <version> |  | InstanaPCP.exe passed early window; marked RUNNING
  4. Überprüfen Sie in den Agent-Protokollen, ob die Sensoren erfolgreich aktiviert wurden:

    com.instana.sensor-clr - <version> |  | Activated Sensor
  5. Stellen Sie sicher, dass der Prozess „.NET Framework “ nach dem „ Instana “-Agenten gestartet wird.

Szenario 4: Hohe CPU-Auslastung bei „ InstanaPCP “ oder einer Anwendung nach Aktivierung der Ablaufverfolgung

Symptom: „ InstanaPCP “ oder die Anwendung „.NET Framework “ weisen nach Aktivierung der Ablaufverfolgung eine ungewöhnlich hohe CPU-Auslastung auf.

Fehlerbehebungsschritte:

  1. Überprüfen Sie im Task-Manager, ob das Problem mit der Anwendung oder mit „ InstanaPCP “ zusammenhängt.
  2. Falls das Problem bei InstanaPCP: liegt

    • Debug-Protokolle für „ InstanaPCP “ aktivieren. Siehe „Protokolle sammeln “.
    • Überprüfen Sie die Protokolle auf wiederkehrende Meldungen über fehlende Leistungsindikatoren oder Ausnahmen.
  3. Falls es sich um einen Speicheranstieg in der Anwendung handelt:

    • Erfassen Sie Ereignisprotokolle und Protokolle von „.NET “ mithilfe des Protokoll-Collectors oder durch manuelle Protokollsammlung.
    • Überprüfen Sie die Ereignisprotokolle und die Protokolle von „.NET “ auf speicherbezogene Ausnahmen.
    • Überprüfen Sie, ob das Problem durch die Instrumentierung von „ Instana “ verursacht wird.
    • Erstellen Sie eine „.NET “-Dump-Datei zur weiteren Analyse.

Protokolle erfassen

Instana bietet zwei Methoden zum Erfassen von Protokollen:

Protokolle mit dem Log Collector erfassen

Log Collector ist eine eigenständige Anwendung zum Erfassen von Protokollen aus „ Instana “. Sie können den Log Collector an folgenden Stellen starten:

Der Log Collector erfasst die folgenden Protokolle:

  • Anwendungsprotokolle
  • Instana PCP-Protokolle
  • CLR-Debug-Protokolle
  • Protokolle der Ereignisanzeige
  • Instana Agent-Debug-Protokolle
  • Instana Agent protokolliert

Ausführen des Log Collectors über die Benutzeroberfläche von „ Instana “

Wichtig: Sie können auf das Tool „Log Collector“ nur zugreifen, wenn Ihre Rolle die Berechtigung „.NET -Trace-Protokolle erfassen und speichern“ umfasst. Sie können diese Berechtigung im Abschnitt „Infrastruktur“ der Benutzeroberfläche von „ Instana “ aktivieren.
  1. Wählen Sie im Navigationsmenü „Analytics > Infrastruktur“ aus oder suchen Sie im Menü „Mehr“ der Benutzeroberfläche von „ Instana “ nach dem Agenten.
  2. Klicken Sie auf den Prozess „.NET Framework “, der überwacht werden soll.
  3. Klicken Sie im Prozess-Dashboard von „.NET “ auf „Setup“ > „.NET “ > „Debug Env.“

    Dieser Schritt aktiviert die Anwendung „Log Collector“ auf dem Host und legt die erforderlichen Umgebungsvariablen für die Protokollsammlung von „.NET “ fest.

  4. Starten Sie Ihre Anwendung unter „.NET Framework “ neu (oder führen Sie iisreset bei von IIS gehosteten Anwendungen den Befehl aus), um sicherzustellen, dass die aktualisierten Umgebungsvariablen geladen werden.
  5. Führen Sie einige Aufrufe durch oder generieren Sie Datenverkehr für die Anwendung, um Protokolle zu erstellen.
  6. Klicken Sie auf „.NET -Protokolle herunterladen “. Die gesammelten Protokolle werden in eine ZIP-Datei komprimiert und auf Ihr System heruntergeladen.

    Hinweis: Die Schaltfläche „.NET -Protokolle herunterladen“ wird erst angezeigt, nachdem die Debug-Umgebung erfolgreich eingerichtet wurde.

Der Log Collector sammelt Protokolle aus verschiedenen Quellen, darunter Anwendungsprotokollierungsprotokolle (sofern [agent-dir]\etc\instana\com.instana.agent.main.sender.File.cfg bereits konfiguriert), Protokolle von „ InstanaPCP “ (sofern der Agent neu gestartet wurde), CLR-Debug-Protokolle, Protokolle der Ereignisanzeige sowie Protokolle des „ Instana “-Agenten. Die gesammelten Protokolle werden in eine .zip Datei komprimiert und auf Ihr System heruntergeladen.

Ausführen des Log Collectors über die Konsole

Falls die Benutzeroberfläche ausfällt, kann der Log Collector über die Konsole gestartet werden:

  1. Go zum Pfad des Protokollsammlers im Ordner des „ Instana “-Agenten:

    C:\instana-agent\data\repo\com\instana\dotnet-logcollector-win-x64\<release>\dotnet-logcollector-win-x64-<release>
  2. Führen Sie den folgenden Befehl aus, um die Protokollsammlung vorzubereiten:

    logcollector.exe -m prepare -i "C:\Program Files\Instana\instana-agent"
  3. Starten Sie die Anwendung neu und rufen Sie die Anwendung auf.
  4. Führen Sie nach einer Weile den Befehl „collect“ aus:

    logcollector.exe -m collect -i "C:\Program Files\Instana\instana-agent" -o "C:\output\log.zip"
    Hinweis: Stellen Sie sicher, dass die Befehle als Administrator ausgeführt werden.

Protokolle manuell erfassen

Alternativ können Sie die Protokolle für auf IIS gehostete „.NET Framework “-Anwendungen manuell erfassen. Führen Sie die folgenden Schritte aus:

  1. Aktivieren Sie die Debugprotokolle:

    1. Fügen Sie Umgebungsvariablen mithilfe einer der folgenden Optionen hinzu:

      Hinweis: Stellen Sie sicher, dass die Pfade gültig, für den Prozess oder die Anwendung zugänglich und korrekt sind.
      • Legen Sie die folgenden Umgebungsvariablen manuell auf Systemebene oder in der IIS-Anwendung fest:

        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
        Hinweis: Stellen Sie sicher, dass der in INSTANA_NET_LOG_PATH angegebene Ordner bereits vorhanden ist.
      • Öffnen Sie die Eingabeaufforderung als Administrator und führen Sie den folgenden Befehl aus, um die Umgebungsvariablen hinzuzufügen:

        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. Konfigurieren Sie den folgenden Registrierungsschlüssel unter „ Windows “:

      CLRDebugLog: "_C:\dc_clr_debug_log\clr__"
    3. Führen iisreset Sie den Befehl aus, um die Änderungen zu übernehmen:

      iisreset
    4. Starten Sie die Anwendung erneut.
  2. Instana -Agentenprotokolle erfassen:

    1. Beenden Sie den Dienst <instana_install_dir>/bin/stop.sh oder, falls der Dienst als Dienst gestartet wurde, beenden Sie den Dienst.
    2. Protokolldateien entfernen: Löschen Sie alle Dateien im Protokollverzeichnis, um einen Neuanfang zu machen, indem Sie den folgenden Befehl ausführen:

      rm -rf <instana_install_dir>/data/log/*
    3. Stellen Sie die Protokollierungsstufe auf „Debug“ ein: Ändern Sie die Schweregradstufe der Protokollierung in der Agent-Datei configuration.yaml . Weitere Informationen finden Sie unter „Einrichten der Agentenkonfigurationsdatei “.
    4. Starten Sie den Agenten <instana_install_dir>/bin/start.sh oder starten Sie den Dienst.
    5. So lassen Sie das Problem auftreten: Lassen Sie das Problem auftreten und lassen Sie den Agenten etwa 15 Minuten lang laufen.
    6. Protokolldateien sammeln: Komprimieren Sie das Verzeichnis „logs“ zur Übermittlung, indem Sie den folgenden Befehl ausführen:

      cd <instana_install_dir>/data/logs
      zip -r instana_agent_debug_logs.zip *
  3. Instana -Trace-Protokolle erfassen:

    1. com.instana.agent.main.sender.File.cfgGo zu [agent-dir]\etc\instana und die Datei öffnen.
    2. Füge die folgenden Zeilen in die Datei ein:

      prefix=instanaTraces
      type=traces

      Diese Konfiguration stellt Ihnen eine Protokolldatei zur Verfügung, die alle Traces mit [agent-dir]/data/log dem instanaTraces Präfix enthält.

    3. Starten Sie den „ Instana “-Agenten neu.
    4. Führen iisreset Sie den Befehl aus, um die Änderungen zu übernehmen:

      iisreset
    5. Starten Sie die Anwendung neu und lassen Sie sie etwa 15 Minuten lang laufen.
    6. Sammeln Sie die Protokolle aus den folgenden Pfaden:

      • Der durch die Variable angegebene Pfad INSTANA_NET_LOG_PATH
      • instana-agent-installation-folder/data/log
  4. CLR-Debug-Protokolle erfassen:

    1. Öffnen Sie den Registrierungseditor unter „ Windows “.
    2. Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Instana\ aufrufen
    3. C:\temp\clr_Fügen Sie den Registrierungsschlüssel CLRDebugLog als Zeichenfolge mit Wert hinzu, zum Beispiel.
    4. Alternativ können Sie die Eingabeaufforderung als Administrator öffnen und den folgenden Befehl ausführen:

      reg add "HKLM\SOFTWARE\Instana" /v CLRDebugLog /t REG_SZ /d "C:\temp\clr_" /f
  5. Windows -Ereignisprotokolle erfassen:

    1. Ereignisanzeige öffnen:

      1. Drücke Win + R.
      2. Geben Sie eventvwr.msc ein.
      3. Drücken Sie die Eingabetaste.
    2. Go zu dem Protokoll, das Sie exportieren möchten:

      • Windows Protokolle: Windows Protokolle > Anwendung
      • Anwendungs- und Dienstprotokolle
    3. Wählen Sie im Akt ionsfenster die Option „Alle Ereignisse speichern unter“ aus.
    4. Wähle einen Speicherort und speichere die Datei unter .evtx.

Support-Ticket öffnen

Sollte das Problem nach Durchführung dieser Schritte zur Fehlerbehebung weiterhin bestehen, erfassen Sie bitte die Daten aus „ MustGather “, bevor Sie ein Support-Ticket erstellen. MustGather Diese Daten helfen dem Support von IBM, Ihr Problem effizienter zu diagnostizieren.

Weitere Informationen finden Sie unter MustGather:, Instana, .NET und Tracer – Windows.