Freigeben über


So sammeln Sie Selbstdiagnoseprotokolle für Application Insights-SDKs

Wenn Sie eine Anwendung über die automatische Instrumentierung von Application Insights oder manuelle Instrumentierung mit einem Application Insights SDK instrumentieren, treten möglicherweise Probleme mit dem Application Insights SDK selbst auf. In diesem Szenario sind Diagnoseprotokolle des Application Insights SDK erforderlich, um Probleme mit Application Insights zu erkennen und zu diagnostizieren.

In diesem Artikel wird erläutert, wie Sie Selbstdiagnoseprotokolle für die folgenden Application Insights-SDKs sammeln:

Application Insights .NET/.NET Core Framework SDK

Ab Version 2.18.0-Beta2 des Application Insights .NET/.NET Core Framework SDK wird das Feature "Self-Diagnostics" ausgeliefert, um Protokolle aus dem SDK selbst zu erfassen und in eine Protokolldatei in einem angegebenen Verzeichnis zu schreiben.

Konfiguration der Selbstdiagnose

Konfigurieren Sie die Selbstdiagnose mithilfe einer Datei namens ApplicationInsightsDiagnostics.json , die über den folgenden Inhalt verfügt:

{
    "LogDirectory": "<LogDirectory>",
    "FileSize": <FileSize>,
    "LogLevel": "<LogLevel>"
}

Notiz

  • Die Konfigurationsdatei für die Selbstdiagnose muss gültige Parameter aufweisen, damit das Application Insights .NET/.NET Core Framework SDK analysiert werden kann. Wenn die Datei ungültig oder falsch formatiert ist, ignoriert das SDK sie, und die Selbstdiagnose wird nicht aktiviert. Dies wirkt sich jedoch nicht auf die normale Funktionsweise der überwachten Anwendung aus.
  • Diese Konfigurationsdatei darf nicht mehr als 4 KB (KB) betragen. Andernfalls werden nur die ersten 4 KB des Inhalts gelesen.
  • Das Application Insights .NET/.NET Core Framework SDK versucht alle 10 Sekunden, die Konfigurationsdatei zu lesen und die Protokolldatei zu erstellen oder zirkulär zu überschreiben.

Hier sind einige Erläuterungen für die Konfigurationsparameter:

Konfigurationsparameter Beschreibung
LogDirectory Das Verzeichnis, in dem die Protokolldatei gespeichert ist. Es kann sich um einen absoluten Pfad oder einen relativen Pfad zum aktuellen Arbeitsverzeichnis der Webanwendung handeln. Diese Protokolldatei wird beispielsweise als YearMonthDay-HourMinuteSecond.ExecutableName.ProcessId.log benannt, z. B. 20220307-193542.w3wp.exe.7692.log. Der Dateiname beginnt mit dem Zeitstempel, der beim Erstellen der Datei generiert wird.
FileSize Eine positive ganze Zahl, die die Größe der Protokolldatei in KB angibt. Dieser Wert muss zwischen 1 Mb (MB) und 128 MB (einschließlich) liegen, oder er wird auf den nächstgelegenen oberen oder unteren Grenzwert gerundet. Die Protokolldatei überschreitet diese konfigurierte maximale Größe nicht.
LogLevel Die Ebene der zu erfassenden Ereignisse. Dieser Wert muss mit einem der Felder der .EventLevel Niedrigere Schweregradstufen umfassen höhere Schweregrade (z Warning . B. die Error Und Critical Ebenen).

Selbstdiagnose für eine Webanwendung

Um die Selbstdiagnose zu aktivieren, wechseln Sie zum aktuellen Arbeitsverzeichnis der Webanwendung, und erstellen Sie die ApplicationInsightsDiagnostics.json Konfigurationsdatei.

Um die Selbstdiagnose zu deaktivieren, löschen Sie die Konfigurationsdatei. Auch wenn die Webanwendung ausgeführt wird, können Sie die Selbstdiagnose aktivieren oder deaktivieren, ohne die Anwendung neu starten zu müssen.

In den meisten Fällen können Sie die Datei zusammen mit Ihrer Anwendung ablegen. Hier sind zwei Möglichkeiten zum Suchen des aktuellen Arbeitsverzeichnisses:

  • Verwenden Sie in Windows den Prozess-Explorer.

    Öffnen Sie den Prozess-Explorer, wählen Sie den Prozess aus, und öffnen Sie das Dialogfeld "Eigenschaften ". Suchen Des aktuellen Verzeichnisses unter "Bilddatei".

  • Rufen Sie die GetCurrentDirectory Methoden auf AppContext.BaseDirectory , um das aktuelle Arbeitsverzeichnis abzurufen.

Self-diagnostics for App Service Web App in Windows

  1. Wechseln Sie über die Azure-Portal zur App Service Web App.

  2. Wechseln Sie zur Kudu-Seite, indem Sie "Erweiterte Tools>wechseln" auswählen.

  3. Wählen Sie im Kudu-Dashboard cmD die Debugkonsole>aus.

  4. Navigieren Sie zu dem Verzeichnis, in dem sich die App Service Web App befindet, z . B. D:\home\site\wwwroot.

  5. Verwenden Sie oben im Kudu-Dashboard das Symbol "+", um eine neue Datei im Ordner "wwwroot" zu erstellen und sie zu ApplicationInsightsDiagnostics.json zu benennen.

    Die ApplicationInsightsDiagnostics.json Datei muss im< Ordner "laufwerk>:\home\site\wwwroot" abgelegt werden. Nicht alle App Service-Web-Apps befinden sich auf demselben Laufwerk. Einige befinden sich auf dem Laufwerk C: und einige befinden sich möglicherweise auf dem Laufwerk "D:". Um sie zu finden, überprüfen Sie die Felder "Websiteordner " und "Temp" von der Standardseite "Kudu".

    Screenshot der Felder

  6. Bearbeiten Sie die folgende Konfiguration, und fügen Sie sie der datei ApplicationInsightsDiagnostics.json hinzu:

    {
        "LogDirectory": "<drive>:\home\site\wwwroot",
        "FileSize": 5120,
        "LogLevel": "Verbose"
    }
    

    Notiz

    Der LogDirectory Parameter sollte auf einen Speicherort unter <Laufwerk>:\Home für einfachen Zugriff festgelegt werden, andere Speicherorte sind jedoch gültig, wenn genügend Zugriff vorhanden ist.

  7. Speichern Sie die Datei .

    Nach 10 Sekunden wird eine neue Protokolldatei, z . B. 20220307-193542.w3wp.exe.7692.log, im Ordner "wwwroot " angezeigt.

  8. Löschen Sie die Konfigurationsdatei, oder benennen Sie sie in ApplicationInsightsDiagnostics.bak um.

    Nach 10 Sekunden wird die Protokollierung beendet.

Self-Diagnostics für App Service Web App in Linux

  1. Erstellen Sie auf Ihrem lokalen Computer eine Datei, und nennen Sie sie für ApplicationInsightsDiagnostics.json.

  2. Bearbeiten Sie die Datei, und fügen Sie den folgenden Inhalt hinzu:

    {
        "LogDirectory": ".",
        "FileSize": 5120,
        "LogLevel": "Verbose"
    } 
    
  3. Speichern Sie die Datei .

  4. Wechseln Sie über die Azure-Portal zur App Service Web App.

  5. Wechseln Sie zur Kudu-Seite, indem Sie "Erweiterte Tools>wechseln" auswählen.

  6. Wenn die Browsersitzung gestartet wird, fügen Sie am Ende der URL hinzu /newui . Die URL im Browser sollte wie https://<appname>.scm.azurewebsites.net/newuifolgt aussehen.

  7. Drücken Sie die EINGABETASTE. Die Kudu-Seite mit der neuen Benutzeroberfläche wird geöffnet.

  8. Wählen Sie im linken Menü den Datei-Manager aus.

  9. Wählen Sie den Websiteordner und dann den Ordner "wwwroot" aus .

  10. Ziehen Sie die ApplicationInsightsDiagnostics.json Datei in den Ordner "wwwroot ", und legen Sie sie ab.

    Nach 10 Sekunden wird eine neue Protokolldatei im Ordner "wwwroot " angezeigt, z. B. 20220307-193542.w3wp.exe.7692.log.

  11. Löschen Sie die Konfigurationsdatei, oder benennen Sie sie in ApplicationInsightsDiagnostics.bak um.

    Nach 10 Sekunden wird die Protokollierung beendet.

Application Insights Java 2.x

Sie können Diagnoseprotokolle für die Application Insights Java 2.6 oder eine frühere Version sammeln. Fügen Sie hierzu ein <SDKLogger> Element unter dem Stammknoten der konfigurationsdatei ApplicationInsights.xml (im Ressourcenordner in Ihrem Projekt) hinzu. <SDKLogger> Im Element können Sie den Logger anweisen, eine Datei auszugeben.

Hier ist ein Beispiel für die ApplicationInsights.xml-Datei :

<SDKLogger type="FILE"><!-- or "CONSOLE" to print to stderr -->
    <Level>TRACE</Level>
    <UniquePrefix>AI</UniquePrefix>
    <BaseFolderPath>C:/agent/AISDK</BaseFolderPath>
</SDKLogger>

Weitere Informationen finden Sie unter Problembehandlung Azure-App lication Insights in einem Java-Webprojekt.

Application Insights Java 3.x

Sie können Diagnoseprotokolle für Application Insights Java 3.x sammeln, indem Sie die Funktion "Self-Diagnostics" verwenden. Informationen hierzu finden Sie unter "Self-Diagnostics".

Kontaktieren Sie uns für Hilfe

Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.