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:
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.
- Öffnen Sie den Task-Manager und suchen Sie nach
Ü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:iisresetUmgebungsvariablen ü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.
Überprüfen Sie, ob IL-Rewriter korrekt geladen wurde:
Ü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.jsonHinweis: Der Pfad kann je nach Ihrer Umgebung abweichen.- Falls die Zeilen von IL-Rewriter nicht angezeigt werden, stellen Sie sicher, dass alle erforderlichen
CORUmgebungsvariablen korrekt gesetzt sind und der Anwendung zur Verfügung stehen, wie im folgenden Schritt aufgeführt.
Überprüfen Sie die Protokolle der Ereignisanzeige unter Windows, um Fehler zu beheben:
- Öffnen Sie die Ereignisanzeige.
- Go zu “.
- Suchen Sie nach Fehlern oder Warnungen, die sich auf Ihre Anwendung oder IIS beziehen.
- Ü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:
Vergewissern Sie sich, dass die „.NET Framework “-Version der Anwendung unterstützt wird:
- .NET Framework 4.5.2 oder später
- Überprüfen Sie, ob die Ablaufverfolgung in der configuration.yaml Agent-Datei aktiviert ist.
Erfassen Sie Trace-Protokolle mit einer der folgenden Methoden:
Ü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:
Vergewissern Sie sich, dass die „.NET Framework “-Version der Anwendung unterstützt wird:
- .NET Framework 4.5.2 oder später
Erfassen Sie die Protokolle der Ereignisanzeige mit einer der folgenden Methoden:
Ü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.
- 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:
- Stellen Sie sicher, dass der „ Instana “-Agent als Administrator ausgeführt wird.
- Stellen Sie sicher, dass der „ Instana “-Agent über die erforderlichen Berechtigungen für die Anwendung verfügt.
Ü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
- Öffnen Sie den Task-Manager unter Windows und suchen Sie nach
Überprüfen Sie in den Agent-Protokollen, ob die Sensoren erfolgreich aktiviert wurden:
com.instana.sensor-clr - <version> | | Activated Sensor- 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:
- Überprüfen Sie im Task-Manager, ob das Problem mit der Anwendung oder mit „ InstanaPCP “ zusammenhängt.
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.
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:
- Protokollsammler (empfohlen)
- Manuelle Protokollsammlung (Ausweichlösung bei Ausfall des Log Collectors)
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 “
- Wählen Sie im Navigationsmenü aus oder suchen Sie im Menü „Mehr“ der Benutzeroberfläche von „ Instana “ nach dem Agenten.
- Klicken Sie auf den Prozess „.NET Framework “, der überwacht werden soll.
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.
- Starten Sie Ihre Anwendung unter „.NET Framework “ neu (oder führen Sie
iisresetbei von IIS gehosteten Anwendungen den Befehl aus), um sicherzustellen, dass die aktualisierten Umgebungsvariablen geladen werden. - Führen Sie einige Aufrufe durch oder generieren Sie Datenverkehr für die Anwendung, um Protokolle zu erstellen.
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:
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>Führen Sie den folgenden Befehl aus, um die Protokollsammlung vorzubereiten:
logcollector.exe -m prepare -i "C:\Program Files\Instana\instana-agent"- Starten Sie die Anwendung neu und rufen Sie die Anwendung auf.
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:
Aktivieren Sie die Debugprotokolle:
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: 1Hinweis: Stellen Sie sicher, dass der inINSTANA_NET_LOG_PATHangegebene 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
Konfigurieren Sie den folgenden Registrierungsschlüssel unter „ Windows “:
CLRDebugLog: "_C:\dc_clr_debug_log\clr__"Führen
iisresetSie den Befehl aus, um die Änderungen zu übernehmen:iisreset- Starten Sie die Anwendung erneut.
Instana -Agentenprotokolle erfassen:
- Beenden Sie den Dienst <instana_install_dir>/bin/stop.sh oder, falls der Dienst als Dienst gestartet wurde, beenden Sie den Dienst.
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/*- 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 “.
- Starten Sie den Agenten <instana_install_dir>/bin/start.sh oder starten Sie den Dienst.
- So lassen Sie das Problem auftreten: Lassen Sie das Problem auftreten und lassen Sie den Agenten etwa 15 Minuten lang laufen.
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 *
Instana -Trace-Protokolle erfassen:
- com.instana.agent.main.sender.File.cfgGo zu [agent-dir]\etc\instana und die Datei öffnen.
Füge die folgenden Zeilen in die Datei ein:
prefix=instanaTraces type=tracesDiese Konfiguration stellt Ihnen eine Protokolldatei zur Verfügung, die alle Traces mit [agent-dir]/data/log dem
instanaTracesPräfix enthält.- Starten Sie den „ Instana “-Agenten neu.
Führen
iisresetSie den Befehl aus, um die Änderungen zu übernehmen:iisreset- Starten Sie die Anwendung neu und lassen Sie sie etwa 15 Minuten lang laufen.
Sammeln Sie die Protokolle aus den folgenden Pfaden:
- Der durch die Variable angegebene Pfad
INSTANA_NET_LOG_PATH - instana-agent-installation-folder/data/log
- Der durch die Variable angegebene Pfad
CLR-Debug-Protokolle erfassen:
- Öffnen Sie den Registrierungseditor unter „ Windows “.
- Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Instana\ aufrufen
- C:\temp\clr_Fügen Sie den Registrierungsschlüssel
CLRDebugLogals Zeichenfolge mit Wert hinzu, zum Beispiel. 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
Windows -Ereignisprotokolle erfassen:
Ereignisanzeige öffnen:
- Drücke Win + R.
- Geben Sie eventvwr.msc ein.
- Drücken Sie die Eingabetaste.
Go zu dem Protokoll, das Sie exportieren möchten:
- Windows Protokolle:
- Anwendungs- und Dienstprotokolle
- Wählen Sie im Akt ionsfenster die Option „Alle Ereignisse speichern unter“ aus.
- 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.