Application Insights-Übersicht
Application Insights ist eine Erweiterung von Azure Monitor und stellt Funktionen zur Überwachung der Anwendungsleistung (APM) bereit. APM-Tools sind nützlich, um Anwendungen von der Entwicklung über den Test bis hin zur Produktion auf folgende Weise zu überwachen:
- Proaktives Verstehen, wie eine Anwendung ausgeführt wird
- Reaktives Überprüfen von Anwendungsausführungsdaten zur Ermittlung der Ursache eines Vorfalls
Neben der Erfassung von Metriken und Telemetriedaten von Anwendungen, die die Aktivitäten und die Integrität von Anwendungen beschreiben, können Sie Application Insights auch zur Erfassung und Speicherung von Ablaufverfolgungs-Protokolldaten der Anwendungen verwenden.
Die Protokollablaufverfolgung ist anderen Telemetriedaten zugeordnet, um eine detaillierte Ansicht der Aktivität zu erhalten. Das Hinzufügen der Ablaufverfolgungsprotokollierung zu vorhandenen Apps erfordert lediglich die Bereitstellung eines Ziels für die Protokolle. Sie müssen das Protokollierungsframework selten ändern.
Application Insights bietet weitere Funktionen, darunter, aber nicht ausschließlich:
- Livemetriken: Beobachten Sie die Aktivität Ihrer bereitgestellten Anwendung in Echtzeit und ohne Auswirkungen auf die Hostumgebung.
- Verfügbarkeit: Wird auch als synthetische Transaktionsüberwachung bezeichnet. Testen Sie die externen Endpunkte Ihrer Anwendungen, um die allgemeine Verfügbarkeit und Reaktionsfähigkeit im Zeitverlauf zu testen.
- GitHub- oder Azure DevOps-Integration: Erstellen Sie GitHub- oder Azure DevOps-Arbeitselemente im Kontext von Application Insights-Daten.
- Nutzung: Erfahren Sie, welche Funktionen bei Benutzer*innen beliebt sind und wie sie mit Ihrer Anwendung interagieren und sie nutzen.
- Intelligente Erkennung: Erkennen Sie Fehler und Anomalien durch proaktive Telemetrieanalysen automatisch.
Application Insights unterstützt die verteilte Ablaufverfolgung, die auch als „Korrelation verteilter Komponenten“ bekannt ist. Diese Funktion ermöglicht die Suche und Visualisierung eines End-to-End-Flows einer bestimmten Ausführung oder Transaktion. Die Möglichkeit der End-to-End-Ablaufverfolgung für Aktivitäten ist für Anwendungen wichtig, die als verteilte Komponenten oder Microservices erstellt wurden.
Die Anwendungsübersicht ermöglicht eine allgemeine Top-Down-Ansicht der Anwendungsarchitektur und auf einen Blick visuelle Verweise auf Komponentenintegrität und Reaktionsfähigkeit.
Informationen zur Anzahl von Application Insights-Ressourcen, die erforderlich sind, um Ihre Anwendung oder Komponenten in allen Umgebungen abzudecken, finden Sie im Leitfaden zur Bereitstellungsplanung für Application Insights.
Wie verwende ich Application Insights?
Application Insights wird entweder über die automatische Instrumentierung (Agent) oder durch Hinzufügen des Application Insights SDK oder Azure Monitor OpenTelemetry Distro zu Ihrem Anwendungscode aktiviert. Viele Sprachen werden unterstützt. Die Anwendungen können in Azure, lokal oder in einer anderen Cloud gehostet werden. Unter Wie instrumentiere ich eine Anwendung? können Sie herauszufinden, welche Art von Instrumentierung für Sie am besten geeignet ist.
Der Application Insights-Agent oder das SDK verarbeitet Telemetriedaten und Metriken vor dem Senden der Daten an Azure. Anschließend werden sie erfasst und weiter verarbeitet, bevor sie in Azure Monitor-Protokollen (Log Analytics) gespeichert werden. Aus diesem Grund ist ein Azure-Konto erforderlich, um Application Insights zu verwenden.
Die einfachste Möglichkeit, mit der Nutzung von Application Insights zu beginnen, ist über das Azure-Portal und die integrierten visuellen Erfahrungen. Fortgeschrittene Benutzer können die zugrunde liegenden Daten direkt abfragen, um über Azure Monitor-Dashboards und -Arbeitsmappenbenutzerdefinierte Visualisierungen zu erstellen.
Sie könnten mit der Anwendungsübersicht beginnen, um eine allgemeine Ansicht zu erhalten. Verwenden Sie die Suchfunktion, um Telemetriedaten und Daten schnell nach Typ und Datum/Uhrzeit einzugrenzen. Sie können auch in den Daten suchen (z. B. mit Protokollablaufverfolgungen) und nach einem bestimmten relevanten korrelierten Vorgang filtern.
Zwei Ansichten sind besonders nützlich:
- Leistungsansicht: Erhalten Sie umfassende Einblicke in die Leistung Ihrer Anwendung oder API und nachgeschalteter Abhängigkeiten. Sie finden auch ein repräsentatives Beispiel, das Sie vollständig erkunden können.
- Fehleransicht: Untersuchen Sie, welche Komponenten oder Aktionen Fehler und Ausnahmen generieren. Die integrierten Ansichten sind hilfreich, um die Anwendungsintegrität proaktiv und für eine reaktive Ursachenanalyse nachzuverfolgen.
Erstellen Sie Azure Monitor-Warnungen, um potenzielle Probleme zu signalisieren, falls Ihre Anwendung oder Komponententeile von der festgelegten Baseline abweichen.
Die Preise für Application Insights basieren auf dem Verbrauch. Sie bezahlen nur für das, was Sie tatsächlich nutzen. Weitere Informationen finden Sie unter:
Wie instrumentiere ich eine Anwendung?
Die automatische Instrumentierung ist die bevorzugte Instrumentierungsmethode. Sie erfordert keine Entwicklerinvestitionen und vermeidet zukünftigen Aufwand für die Aktualisierung des SDK. Sie ist auch die einzige Möglichkeit, eine Anwendung zu instrumentieren, in der Sie keinen Zugriff auf den Quellcode haben.
Sie müssen das Application Insights SDK für .NET nur in folgenden Fällen installieren:
- Sie benötigen benutzerdefinierte Ereignisse und Metriken.
- Sie benötigen die Kontrolle über den Flow der Telemetriedaten.
- Die automatische Instrumentierung ist nicht verfügbar. Dies liegt in der Regel an Sprach- oder Plattformbeschränkungen.
Zur Verwendung des SDK installieren Sie ein kleines Instrumentierungspaket in Ihrer App und instrumentieren dann die Web-App, alle Hintergrundkomponenten und JavaScript in den Webseiten. 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 eindeutiges Token verwendet. Die Auswirkungen auf die Leistung Ihrer App sind gering. Aufrufe zur Nachverfolgung sind nicht blockierend und werden als Batch in einem separaten Thread gesendet.
Die integrierte automatische Instrumentierung ist für Azure App Service .NET, Azure App Service .NET Core, Azure Functions und Azure Virtual Machines verfügbar.
Der Azure Monitor Application Insights-Agent ist für Workloads verfügbar, die auf lokalen virtuellen Computern ausgeführt werden.
Eine detaillierte Ansicht aller für die automatische Instrumentierung unterstützten Umgebungen, Sprachen und Ressourcenanbieter finden Sie unter Was ist die automatische Instrumentierung für Azure Monitor Application Insights?.
Für andere Szenarien ist das Application Insights SDK erforderlich.
Ein Vorschauangebot für OpenTelemetry ist ebenfalls verfügbar.
Unterstützte Sprachen
In diesem Abschnitt werden unterstützte Szenarien beschrieben.
Unterstützte Plattformen und Frameworks
In diesem Abschnitt werden alle unterstützten Plattformen und Frameworks aufgeführt.
Azure-Dienstintegration (Portalaktivierung, Azure Resource Manager-Bereitstellungen)
- Azure Virtual Machines und Azure Virtual Machine Scale Sets
- Azure App Service
- Azure-Funktionen
- Azure Spring Apps
- Azure Cloud Services, einschließlich Web- und Workerrollen
Automatische Instrumentierung (ohne Codeänderungen aktivieren)
Manuelle Instrumentierung/SDK (einige Codeänderungen sind erforderlich)
Hinweis
Die OpenTelemetry-basierte Instrumentierung ist in der Vorschauphase verfügbar für C#, Node.js und Python. Prüfen Sie die Einschränkungen, die am Anfang der offiziellen Dokumentation der jeweiligen Programmiersprache angegeben sind. Wenn Sie eine Erfahrung mit vollständigem Funktionsumfang benötigen, verwenden Sie die vorhandenen Application Insights-SDKs.
Protokollierungsframeworks
- ILogger
- Log4Net, NLog oder System.Diagnostics.Trace
- Log4J, Logback oder java.util.logging
- LogStash-Plug-In
- Azure Monitor
Export und Datenanalyse
Nicht unterstützte SDKs
Es gibt mehrere andere von der Community unterstützte Application Insights-SDKs. Azure Monitor bietet nur dann Unterstützung, wenn Sie die in diesem Artikel aufgelisteten unterstützten Instrumentierungsoptionen verwenden.
Es wird dauerhaft nach Möglichkeiten gesucht, die Unterstützung auf andere Sprachen zu erweitern. Neuigkeiten zu den neuesten SDKs finden Sie unter Azure-Updates für Application Insights.
Häufig gestellte Fragen
Sehen Sie sich die häufig gestellten Fragen an.
Problembehandlung
Sehen Sie sich die dedizierten Artikel zur Problembehandlung für Application Insights an.
Hilfe und Support
Technischer Support für Azure
Bei Azure-Supportproblemen öffnen Sie ein Azure-Supportticket.
Microsoft Q&A-Forum mit Fragen und Antworten
Stellen Sie allgemeine 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.
Feedbackcommunity
Hinterlassen Sie in der Feedbackcommunity Produktfeedback für das Entwicklungsteam.