Application Insights-Übersicht
Application Insights ist ein Feature von Azure Monitor, das eine erweiterbare Verwaltung der Anwendungsleistung (Application Performance Management, APM) und Überwachung für Live-Web-Apps ermöglicht. Fachkräfte in der Entwicklung und DevOps-Expert*innen können Application Insights für Folgendes nutzen:
- Automatisches Erkennen von Leistungsanomalien
- Unterstützung bei der Diagnose von Problemen mithilfe leistungsstarker Analysetools
- Ermitteln, wie Benutzer Apps tatsächlich verwenden
- Unterstützung bei der kontinuierlichen Verbesserung der Leistung und Benutzerfreundlichkeit von Apps
Application Insights:
- Unterstützt eine Vielzahl von Plattformen wie .NET, Node.js, Java und Python.
- Funktioniert für Apps, die lokal, hybrid oder in einer öffentlichen Cloud gehostet werden.
- Lässt sich in DevOps-Prozesse integrieren.
- Verfügt über Verbindungspunkte zu vielen Entwicklungstools.
- Kann Telemetriedaten von mobilen Apps durch die Integration in Visual Studio App Center überwachen und analysieren.
Funktionsweise von Application Insights
Wenn Sie Application Insights verwenden möchten, installieren Sie in Ihrer App ein kleines Instrumentierungspaket (SDK) oder aktivieren Application Insights mithilfe des Application Insights-Agents. Informationen zu Sprachen und Plattformen, die den Application Insights-Agent unterstützen, finden Sie unter Unterstützte Sprachen.
Sie können die Web-App, alle Hintergrundkomponenten und den JavaScript-Code auf den Webseiten selbst instrumentieren. Die App und ihre Komponenten müssen nicht in Azure gehostet werden.
Die Instrumentierung überwacht Ihre App und leitet die Telemetriedaten an eine Application Insights-Ressource weiter. Dabei wird ein eindeutiger Instrumentierungsschlüssel verwendet. Die Auswirkungen auf die Leistung Ihrer App sind gering. Aufrufe zur Nachverfolgung sind nicht blockierend und werden zusammengefasst und in einem separaten Thread gesendet.
Sie können Telemetriedaten wie Leistungsindikatoren, Azure-Diagnosen oder Docker-Protokolle aus Hostumgebungen pullen. Sie können auch Webtests einrichten, die in regelmäßigen Abständen synthetische Anforderungen an den Webdienst senden. Alle diese Telemetriedatenströme sind in Azure Monitor integriert. Im Azure-Portal können Sie auf die Rohdaten leistungsstarke Analysen und Suchtools anwenden.
In der folgenden Abbildung ist dargestellt, wie bei einer Application Insights-Instrumentierung in einer App Telemetriedaten an eine Application Insights-Ressource gesendet werden.
Verwendung von Application Insights
Es gibt mehrere Möglichkeiten für die ersten Schritte mit Application Insights. Beginnen Sie zunächst mit den Schritten, die Sie am meisten ansprechen. Danach können Sie sich mit den anderen Schritten beschäftigen.
Voraussetzungen
Sie benötigen ein Azure-Konto. Application Insights wird in Azure gehostet und sendet Telemetriedaten zur Analyse und Präsentation an Azure. Falls Sie kein Azure-Abonnement haben, können Sie sich kostenlos registrieren. Falls Ihre Organisation bereits über ein Azure-Abonnement verfügt, kann Ihr Administrator Sie hinzufügen.
Der Application Insights-Tarif Basic ist erst dann kostenpflichtig, wenn Ihre App stark genutzt wird.
Erste Schritte
Wenn Sie Application Insights zur Laufzeit verwenden möchten, können Sie Ihre Web-App auf dem Server instrumentieren. Dieser Ansatz ist ideal für Apps, die bereits bereitgestellt wurden, da der App-Code dabei nicht aktualisiert wird.
Ausführliche Informationen und Anweisungen finden Sie in den folgenden Artikeln:
- Anwendungsüberwachung für Azure App Service: Übersicht
- Bereitstellen des Azure Monitor Application Insights-Agents auf virtuellen Azure-Computern und in Azure-VM-Skalierungsgruppen
- Bereitstellen des Azure Monitor Application Insights-Agents für lokale Server
- Azure Monitor OpenTelemetry-basierte automatische Instrumentierung für Java-Anwendungen
Sie können Application Insights Ihrem App-Code auch zur Entwicklungszeit hinzufügen. Mit diesem Ansatz können Sie die Erfassung von Telemetriedaten anpassen und erweitern.
Ausführliche Informationen und Anweisungen finden Sie in den folgenden Artikeln:
- Konfigurieren von Application Insights für Ihre ASP.NET-Website
- Application Insights für ASP.NET Core-Anwendungen
- Application Insights für .NET-Konsolenanwendungen
- Application Insights für Webseiten
- Überwachen Ihrer Node.js-Dienste und -Apps mit Application Insights
- Einrichten von Azure Monitor für Ihre Python-Anwendung
Informationen zu allen unterstützten Sprachen, Plattformen und Frameworks finden Sie unter Unterstützte Sprachen.
Monitor
Nachdem Sie Application Insights eingerichtet haben, können Sie Ihre App überwachen.
- Richten Sie Verfügbarkeitswebtests ein.
- Verwenden Sie das Standardanwendungsdashboard für Ihren Teamraum, um Auslastung, Reaktionsfähigkeit und Leistung nachzuverfolgen. Überwachen Sie Ihre Abhängigkeiten, Seitenladevorgänge und AJAX-Aufrufe.
- Ermitteln Sie, welche Anforderungen besonders langsam sind und bei welchen am häufigsten Fehler auftreten.
- Verfolgen Sie den Livestream, wenn Sie eine neue Version bereitstellen, damit Sie über Leistungsabfälle sofort informiert sind.
Erkennen und Diagnostizieren von Problemen
Gehen Sie wie folgt vor, wenn Sie eine Warnung erhalten oder ein Problem auftritt:
- Bewerten Sie, wie viele Benutzer betroffen sind.
- Korrelieren Sie Ausfälle mit Ausnahmen, Abhängigkeitsaufrufen und Nachverfolgungen.
- Untersuchen Sie Profile, Momentaufnahmen, Stapelabbilder und Ablaufverfolgungsprotokolle.
Messen, Lernen und Erstellen
- Planen Sie eine Messung, um zu ermitteln, wie Kunden neue Funktionen der Benutzeroberfläche bzw. des Geschäftsablaufs verwenden.
- Schreiben Sie benutzerdefinierte Telemetriedaten in Ihren Code.
- Messen Sie die Effektivität jeder neuen Funktion, die Sie bereitstellen.
- Sorgen Sie dafür, dass der nächste Entwicklungszyklus auf Informationen aus Ihren Telemetriedaten basiert.
Von Application Insights überwachte Elemente
Application Insights liefert Entwicklungsteams Informationen über die Leistung und Nutzung von Apps. Application Insights überwacht Folgendes:
Anforderungsraten, Antwortzeiten und Fehlerraten
Finden Sie heraus, welche Seiten zu welchen Tageszeiten am häufigsten verwendet werden und wo sich Benutzer befinden. Stellen Sie fest, welche Seiten die beste Leistung aufweisen. Wenn die Antwortzeiten und Fehlerraten bei mehr Anforderungen ansteigen, liegt möglicherweise ein Ressourcenproblem vor.
Abhängigkeitsraten, Antwortzeiten und Fehlerraten zum Ermitteln, ob die Leistung durch externe Dienste beeinträchtigt wird.
Ausnahmen
Analysieren Sie die aggregierten Statistiken, oder wählen Sie bestimmte Instanzen aus, und untersuchen Sie die Stapelüberwachung und die zugehörigen Anforderungen. Application Insights meldet sowohl Server- als auch Browserausnahmen.
Informationen zu Seitenansichten und Ladeleistung, die von den Browsern der Benutzer gemeldet werden
AJAX-Aufrufe von Webseiten mit Informationen zu Raten, Antwortzeiten und Fehlerraten
Anzahl von Benutzern und Sitzungen
Leistungsindikatoren von Windows- oder Linux-Servercomputern, z. B. zu CPU, Arbeitsspeicher und Netzwerkauslastung
Hostdiagnose von Docker oder Azure
Diagnose-Ablaufverfolgungsprotokolle von Apps, sodass Sie Ablaufverfolgungsereignisse mit Anforderungen korrelieren können
Benutzerdefinierte Ereignisse und Metriken im Client- oder Servercode, die Geschäftsereignisse wie verkaufte Artikel nachverfolgen
Anzeigeort von Application Insights-Daten
Es gibt viele Möglichkeiten, Application Insights-Telemetriedaten zu untersuchen. Weitere Informationen finden Sie in den folgenden Artikeln:
Intelligente Erkennung in Application Insights
Richten Sie automatische Warnungen ein, die sich den normalen Telemetriemustern Ihrer App anpassen und ausgelöst werden, wenn etwas nicht den üblichen Mustern entspricht. Sie können auch auf bestimmten Ebenen benutzerdefinierter oder standardmäßiger Metriken Warnungen festlegen. Weitere Informationen finden Sie unter Erstellen, Anzeigen und Verwalten von Protokollwarnungen mithilfe von Azure Monitor.
Anwendungsübersicht: Selektieren von verteilten Anwendungen
Untersuchen Sie die Komponenten der App mit wichtigen Metriken und Warnungen.
Profilerstellung für Live-Azure App Service-Apps mit Application Insights
Untersuchen Sie die Ausführungsprofile von erfassten Anforderungen.
Verwendungsanalyse mit Application Insights
Analysieren Sie Benutzersegmentierung und Vermerkdauer.
Verwenden von Search in Application Insights
Verwenden Sie die Transaktionssuche für Instanzdaten. Suchen und filtern Sie Ereignisse wie Anforderungen, Ausnahmen, Abhängigkeitsaufrufe, Protokollablaufverfolgungen und Seitenaufrufe.
Erweiterte Funktionen des Azure-Metrik-Explorers
Durchsuchen, filtern und segmentieren Sie aggregierte Daten wie Anforderungs-, Fehler- und Ausnahmeraten, Antwortzeiten und Seitenladezeiten.
Application Insights-Übersichtsdashboard
Kombinieren Sie Daten aus mehreren Ressourcen, und geben Sie sie für andere frei. Verwenden Sie das Dashboard für Anwendungen mit mehreren Komponenten und für die kontinuierliche Anzeige im Teamraum.
Live Metrics Stream: Überwachung und Diagnose mit einer Sekunde Wartezeit
Wenn Sie einen neuen Build bereitstellen, sehen Sie sich diese beinahe in Echtzeit verfügbaren Leistungsindikatoren an, um sicherzustellen, dass alles wie erwartet funktioniert.
Protokollabfragen in Azure Monitor
Stellen Sie mithilfe der leistungsstarken Kusto-Abfragesprache Fragen zur Leistung und Nutzung Ihrer App.
Debuggen von Anwendungen mit Application Insights in Visual Studio
Sehen Sie sich die Leistungsdaten im Code an, und wechseln Sie von der Stapelüberwachung zum Code.
Debugmomentaufnahmen von Ausnahmen in .NET-Apps
Verwenden Sie den Momentaufnahmedebugger, um in Livevorgängen erfasste Momentaufnahmen mit Parameterwerten zu debuggen.
Datenimport nach Power BI aus Application Insights
Integrieren Sie Nutzungsmetriken und andere Business Intelligence-Daten.
Verwenden der Application Insights-REST-API zum Erstellen von benutzerdefinierten Lösungen
Schreiben Sie Code zum Ausführen von Abfragen für Ihre Metriken und Rohdaten.
Exportieren von Telemetriedaten aus Application Insights
Verwenden Sie den fortlaufenden Export, um Rohdaten nach dem Eintreffen per Massenexport in den Speicher zu exportieren.
Nächste Schritte
- Instrumentieren Sie Ihre Webseiten für Seitenansicht, AJAX und andere clientseitige Telemetrie.
- Analysieren Sie die Auslastung der mobilen App durch die Integration in Visual Studio App Center.
- Überwachen Sie die Verfügbarkeit mit URL-Pingtests von Application Insights-Servern zu Ihrer Website.
Problembehandlung
Häufig gestellte Fragen
Sehen Sie sich die häufig gestellten Fragen an.
Microsoft Q&A-Forum mit Fragen und Antworten
Stellen Sie Fragen im Microsoft Q&A-Forum für Fragen und Antworten.
Stack Overflow
Stellen Sie Fragen zum Programmieren in Stack Overflow unter Verwendung eines Application Insights-Tags.
Benutzerfeedback
Hinterlassen Sie Produktfeedback für das Entwicklungsteam auf UserVoice.