Suchen und Diagnostizieren von Laufzeitausnahmen mit Application Insights

Application Insights erfasst Telemetriedaten Ihrer Anwendung, um Laufzeitausnahmen zu identifizieren und diagnostizieren. Dieses Tutorial führt Sie mit Ihrer Anwendung durch diesen Vorgang. Folgendes wird vermittelt:

  • Ändern Sie Ihr Projekt, um die Ausnahmeverfolgung zu aktivieren.
  • Identifizieren Sie Ausnahmen für verschiedene Komponenten Ihrer Anwendung.
  • Lassen Sie sich die Details einer Ausnahme anzeigen.
  • Laden Sie zum Debuggen eine Momentaufnahme der Ausnahme in Visual Studio herunter.
  • Analysieren Sie mithilfe der Abfragesprache die Details fehlgeschlagener Anforderungen.
  • Erstellen Sie ein neues Arbeitselement, um den fehlerhaften Code zu korrigieren.

Voraussetzungen

Für dieses Tutorial benötigen Sie Folgendes:

  • Installieren Sie Visual Studio 2019 mit den folgenden Workloads:
    • ASP.NET und Webentwicklung
    • Azure-Entwicklung
  • Laden Sie den Visual Studio Snapshot Debugger herunter, und installieren Sie diesen.
  • Aktivieren des Visual Studio-Momentaufnahmedebuggers
  • Bereitstellen einer .NET-Anwendung in Azure und Aktivieren des Application Insights SDK
  • Ändern Sie den Code in Ihrer Entwicklungs- oder Testumgebung, um eine Ausnahme zu generieren, da das Tutorial die Identifikation einer Ausnahme in Ihrer Anwendung verfolgt.

Anmelden bei Azure

Melden Sie sich beim Azure-Portal an.

Analysieren von Fehlern

Application Insights erfasst alle Fehler in Ihrer Anwendung. Es zeigt Ihnen die Häufigkeit bei verschiedenen Vorgängen an, sodass Sie sich auf die Probleme mit der größten Tragweite konzentrieren können. Sie können dann die Ursache dieser Fehler identifizieren, indem Sie einen Drilldown zu ihren Details ausführen.

  1. Klicken Sie auf Application Insights, und wählen Sie anschließend Ihr Abonnement aus.

  2. Zum Öffnen des Bereichs Fehler wählen Sie entweder im Menü Untersuchen die Option Fehler oder das Diagramm Anforderungsfehler aus.

    Screenshot, der die fehlerhaften Anforderungen zeigt.

  3. Im Bereich Anforderungsfehler werden für jeden Vorgang für die Anwendung die Anzahl der fehlgeschlagenen Anforderungen und die Anzahl der betroffenen Benutzer angezeigt. Durch das Sortieren dieser Informationen nach Benutzer können Sie die Fehler identifizieren, die sich auf die Benutzer am stärksten auswirken. In diesem Beispiel sollten GET Employees/Create und GET Customers/Details aufgrund der hohen Anzahl von Fehlern und betroffenen Benutzern untersucht werden. Durch Auswählen eines Vorgangs werden im rechten Bereich weitere Informationen zu diesem Vorgang angezeigt.

    Screenshot, der den Bereich „Fehleranforderungen“ zeigt.

  4. Reduzieren Sie das Zeitfenster, um den Zeitraum zu vergrößern, in dem die Fehlerrate eine Spitze aufweist.

    Screenshot, der den das Fenster „Fehleranforderungen“ zeigt.

  5. Wählen Sie die Schaltfläche mit der Anzahl gefilterter Ergebnisse aus, um sich die entsprechenden Ergebnisse anzusehen. Die vorgeschlagenen Stichproben verfügen über entsprechende Telemetriedaten von allen Komponenten, auch wenn für sie möglicherweise die Stichprobenentnahme aktiviert war. Wählen Sie ein Suchergebnis aus, um Details des Fehlers anzuzeigen.

    Screenshot, der die Stichproben der fehlgeschlagenen Anforderungen zeigt.

  6. Die Details des Anforderungsfehlers enthalten das Gantt-Diagramm, dem Sie entnehmen können, dass bei dieser Transaktion zwei Abhängigkeitsfehler aufgetreten sind, die mehr als 50 Prozent zur Gesamtdauer der Transaktion beigetragen haben. Auf dieser Oberfläche werden alle Telemetriedaten für die Komponenten einer verteilten Anwendung dargestellt, die mit dieser Vorgangs-ID zusammenhängen. Sie können beliebige Elemente auswählen, um auf der rechten Seite entsprechende Details anzuzeigen.

    Screenshot, der Details zu fehlerhaften Anforderungen zeigt.

  7. In den Vorgangsdetails wird auch eine Formatausnahme angezeigt, die den Fehler anscheinend verursacht hat. Sie können erkennen, dass die Ursache eine ungültige Postleitzahl ist. Sie können die Debugmomentaufnahme öffnen, um Debuginformationen auf Codeebene in Visual Studio anzuzeigen.

    Screenshot mit Ausnahmedetails.

Fehlerhaften Code identifizieren

Der Momentaufnahmedebugger erfasst Momentaufnahmen der häufigsten Ausnahmen in Ihrer Anwendung, um Sie beim Diagnostizieren der Ursache in der Produktion zu unterstützen. Sie können Debugmomentaufnahmen im Portal anzeigen, um die Aufrufliste anzuzeigen und die Variablen in jedem Aufruflistenrahmen zu überprüfen. Danach können Sie den Quellcode debuggen, indem Sie die Momentaufnahme herunterladen und in Visual Studio 2019 Enterprise öffnen.

  1. Wählen Sie in den Eigenschaften der Ausnahme Debugmomentaufnahme öffnen aus.

  2. Der Bereich Momentaufnahme debuggen wird mit der Aufrufliste für die Anforderung geöffnet. Wählen Sie eine beliebige Methode aus, um die Werte aller lokalen Variablen zum Zeitpunkt der Anforderung anzuzeigen. Beginnend mit der ersten Methode in diesem Beispiel sehen Sie lokale Variablen, die keinen Wert aufweisen.

    Screenshot, der den Bereich „Debugmomentaufnahme“ zeigt.

  3. Der erste Aufruf mit gültigen Werten ist ValidZipCode. Sie können erkennen, dass eine Postleitzahl mit Buchstaben eingegeben wurde, die nicht in eine ganze Zahl übersetzt werden können. Dies scheint der Fehler im Code zu sein, der behoben werden muss.

    Screenshot, der einen Fehler im Code zeigt, den es zu beheben gilt.

  4. Danach können Sie diese Momentaufnahme in Visual Studio herunterladen, wo Sie den tatsächlichen Code finden, der korrigiert werden muss. Zu diesem Zweck wählen Sie Momentaufnahme herunterladen aus.

  5. Die Momentaufnahme wird in Visual Studio geladen.

  6. Jetzt können Sie eine Debugsitzung in Visual Studio Enterprise ausführen, mit der die Codezeile, die die Ausnahme verursacht hat, schnell identifiziert wird.

    Screenshot, der eine Ausnahme im Code zeigt.

Verwenden von Analysedaten

Alle von Application Insights gesammelten Daten werden in Azure Log Analytics gespeichert. Dort steht Ihnen eine umfangreiche Abfragesprache zur Verfügung, mit der Sie Daten auf verschiedenste Weise analysieren können. Sie können diese Daten verwenden, um die Anforderungen zu analysieren, die die von Ihnen untersuchte Ausnahme generiert hat.

  1. Wählen Sie die CodeLens-Informationen über dem Code aus, um von Application Insights bereitgestellte Telemetriedaten anzuzeigen.

    Screenshot, der Code in CodeLens zeigt.

  2. Wählen Sie Auswirkungen analysieren aus, um Application Insights Analytics zu öffnen. Die Analyse enthält mehrere Abfragen, die Details über Anforderungsfehler bereitstellen, z. B. betroffene Benutzer, Browser und Regionen.

    Screenshot, der das Application Insights-Fensters mit mehreren Abfragen zeigt.

Arbeitselement hinzufügen

Wenn Sie Application Insights mit einem Nachverfolgungssystem wie Azure DevOps oder GitHub verbinden, können Sie direkt in Application Insights ein Arbeitselement erstellen.

  1. Kehren Sie zum Bereich mit den Ausnahmeeigenschaften in Application Insights zurück.

  2. Wählen Sie Neues Arbeitselement aus.

  3. Der Bereich Neues Arbeitselement wird geöffnet und enthält bereits Details zur Ausnahme. Sie können weitere Informationen hinzufügen, bevor Sie es speichern.

    Screenshot, der den Bereich „Neues Arbeitselement“ zeigt.

Nächste Schritte

Nachdem Sie sich nun mit dem Identifizieren von Laufzeitausnahmen vertraut gemacht haben, können Sie mit dem nächsten Tutorial fortfahren. Dort erfahren Sie, wie Sie Leistungsprobleme identifizieren und diagnostizieren können.