Application Insights-Übersicht

Application Insights ist eine Erweiterung von Azure Monitor und stellt Funktionen zur Überwachung der Anwendungsleistung (auch als „APM“ bezeichnet) bereit. APM-Tools sind nützlich, um Anwendungen von der Entwicklung über den Test bis hin zur Produktion auf folgende Weise zu überwachen:

  1. Proaktives Verstehen, wie eine Anwendung ausgeführt wird
  2. Reaktives Überprüfen von Anwendungsausführungsdaten zur Ermittlung der Ursache eines Vorfalls

Neben der Erfassung von Metriken und Telemetriedaten, die die Aktivitäten und den Zustand von Anwendungen beschreiben, kann Application Insights auch zur Erfassung und Speicherung von Ablaufverfolgungs-Protokolldaten einer Anwendung verwendet werden.

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; das Protokollierungsframework muss nur selten geändert werden.

Application Insights bietet weitere Funktionen, darunter, aber nicht ausschließlich:

  • Livemetriken: Beobachten der Aktivität Ihrer bereitgestellten Anwendung in Echtzeit und ohne Auswirkungen auf die Hostumgebung
  • Verfügbarkeit: auch bekannt als „Überwachung synthetischer Transaktionen“; Integritätstest der externen Endpunkte, um die Gesamtverfügbarkeit und Reaktionsfähigkeit im Laufe der Zeit zu testen
  • GitHub- oder Azure DevOps-Integration: Erstellen von GitHub- oder Azure DevOps-Arbeitselementen im Kontext von Application Insights-Daten
  • Nutzung: Informationen darüber, welche Funktionen bei Benutzern beliebt sind und wie Benutzer mit Ihrer Anwendung interagieren und sie nutzen
  • Intelligente Erkennung: automatische Erkennung von Fehlern und Anomalien durch proaktive Telemetrieanalyse

Darüber hinaus unterstützt Application Insights die verteilte Ablaufverfolgung, auch bekannt als „Korrelation verteilter Komponenten“. 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 wird für Anwendungen, die als verteilte Komponenten oder Microservices erstellt wurden, immer wichtiger.

Die Anwendungszuordnung ermöglicht eine allgemeine Draufsicht 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 von Application Insights.

Wie verwende ich Application Insights?

Application Insights wird entweder über automatische Instrumentierung (Agent) oder durch Hinzufügen des Application Insights SDK zu Ihrem Anwendungscode aktiviert. Es werden viele Sprachen unterstützt, und 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 Telemetrie und Metriken vor dem Senden der Daten an Azure, wo sie erfasst und weiter verarbeitet werden, bevor sie in Azure Monitor-Protokollen (Protokollanalyse) 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 benutzerdefinierte Visualisierungen über Azure Monitor-Dashboards und -Arbeitsmappen zu erstellen.

Erwägen Sie, mit der Anwendungsübersicht zu beginnen, um eine allgemeine Ansicht zu erhalten. Verwenden Sie die Suchoberfläche, um Telemetrie und Daten schnell nach Typ und Datum/Uhrzeit einzugrenzen oder innerhalb von Daten (z. B. Protokollablaufverfolgungen) zu suchen und auf einen bestimmten korrelierten Vorgang von Interesse zu filtern.

Steigen Sie mit der Leistungsdatenansicht in die Analyse ein – Sie erhalten tiefe Einblicke in die Leistung Ihrer Anwendung oder API und der nachgelagerten Abhängigkeiten und finden eine repräsentative Stichprobe, die umfassend erkundet werden kann. Und seien Sie mit der Fehleransicht proaktiv – verstehen 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, sollten Ihre Anwendung oder Komponententeile von der etablierten Baseline abweichen.

Application Insights-Preise sind verbrauchsbasiert; Sie zahlen nur für das, was Sie verwenden. Weitere Informationen zu Preisen finden Sie auf der Preisübersichtsseite für Azure Monitor und Optimieren von Kosten.

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 nur unter folgenden Umständen installieren:

Zur Verwendung des SDK installieren Sie ein kleines Instrumentierungspaket in Ihrer App und instrumentieren dann die Web-App, alle Hintergrundkomponenten und JavaScript innerhalb der 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 Auswirkung auf die Leistung Ihrer App ist gering; Nachverfolgungsaufrufe sind nicht blockierend und sind in Batches zusammengefasst, die in einem separaten Thread gesendet werden.

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 unterstützten Umgebungen, Sprachen und Ressourcenanbieter für die automatische Instrumentierung finden Sie hier.

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

Hier sind unterstützte Plattformen und Frameworks aufgeführt.

Azure-Dienstintegration (Portalaktivierung, Azure Resource Manager-Bereitstellungen)

Automatische Instrumentierung (ohne Codeänderungen aktivieren)

Manuelle Instrumentierung/SDK (einige Codeänderungen 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

Export und Datenanalyse

Nicht unterstützte SDKs

Es gibt mehrere andere von der Community unterstützte Application Insights-SDKs. Azure Monitor bietet jedoch nur dann Unterstützung, wenn Sie die auf dieser Seite aufgelisteten Instrumentierungsoptionen verwenden. Es wird dauerhaft nach Möglichkeiten gesucht, die Unterstützung auf andere Sprachen zu erweitern. Unter Azure-Updates für Application Insights finden Sie Neuigkeiten zu den neuesten SDKs.


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.

Nächste Schritte