Grundlagen der Datensammlung von Azure Monitor Application Insights
Bevor Sie Ihre Anwendung überwachen können, muss sie instrumentiert werden.
In den folgenden Abschnitten werden einige Grundlagen der Datensammlung von Azure Monitor Application Insights behandelt.
Instrumentierungsoptionen
Auf einer grundlegenden Ebene bedeutet „Instrumentierung“ einfach, dass eine Anwendung Telemetriedaten erfassen kann.
Es gibt zwei Methoden, Ihre Anwendung zu instrumentieren:
- Automatische Instrumentierung (Auto-Instrumentierung)
- Manuelle Instrumentierung
Die automatische Instrumentierung ermöglicht die Erfassung von Telemetriedaten über die Konfiguration, ohne dass der Code der Anwendung bearbeitet werden muss. Obwohl es bequemer ist, ist es weniger konfigurierbar. Es ist auch nicht in allen Sprachen verfügbar. Weitere Informationen finden Sie unter Unterstützte Umgebungen und Sprachen für die automatische Instrumentierung. Wenn die automatische Instrumentierung verfügbar ist, stellt sie die einfachste Möglichkeit dar, Azure Monitor Application Insights zu aktivieren.
Die manuelle Instrumentierung ist die Codierung gegen die Application Insights- oder OpenTelemetry-API. Im Kontext eines Benutzers bezieht sich dies typischerweise auf die Installation eines sprachspezifischen SDKs in einer Anwendung. Dies bedeutet, dass Sie die Updates für die neueste Paketversion selbst verwalten müssen. Sie können diese Option verwenden, wenn Sie benutzerdefinierte Abhängigkeitsaufrufe oder API-Aufrufe vornehmen müssen, die nicht standardmäßig mit automatischer Instrumentierung erfasst werden. Es gibt zwei Optionen für die manuelle Instrumentierung:
Obwohl wir OpenTelemetry als unsere zukünftige Richtung betrachten, haben wir keine Pläne, die Sammlung von Daten aus älteren SDKs zu beenden. Wir haben noch viel Weg vor uns, bevor unsere Azure OpenTelemetry-Distros Featureparität mit unseren Application Insights-SDKs erreichen. In vielen Fällen bleiben Kunden noch eine ganze Zeit lang bei der Verwendung von Application Insights-SDKs.
Wichtig
„Manuell“ bedeutet nicht, dass Sie komplexen Code schreiben müssen, um Spans für verteilte Ablaufverfolgung zu definieren, obwohl dies eine Option bleibt. Mit den in unsere Distributionen gepackten Instrumentierungsbibliotheken können sie Telemetriesignale mühelos über gängige Frameworks und Bibliotheken hinweg erfassen. Wir arbeiten aktiv daran, die beliebtesten Azure-Dienst-SDKs mithilfe von OpenTelemetry zu instrumentieren, damit diese Signale für Kunden verfügbar werden, die die OpenTelemetry-Distro von Azure Monitor verwenden.
Telemetriearten
Die Telemetrie, d. h. die zur Beobachtung Ihrer Anwendung gesammelten Daten, kann in drei Arten oder "Säulen" unterteilt werden:
- Verteilte Ablaufverfolgung
- Metriken
- Protokolle
Eine vollständige Beobachtungsgeschichte umfasst alle drei Säulen, und Application Insights unterteilt diese Säulen weiter in Tabellen, die auf unserem Datenmodell basieren. Unsere Application Insights-SDKs oder Azure Monitor OpenTelemetry-Distros enthalten alles, was Sie für die Überwachung der Leistung von Anwendungen auf Azure benötigen. Die Installation der Distribution selbst ist kostenlos, Sie zahlen nur für die Daten, die Sie in Azure Monitor erfassen.
Die folgenden Quellen erläutern die drei Säulen:
- OpenTelemetry Community-Website
- OpenTelemetry-Spezifikationen
- Einblick in Verteilte Systeme von Cindy Sridharan
Telemetrierouting
Es gibt zwei Möglichkeiten, Ihre Daten an Azure Monitor (oder einen anderen Anbieter) zu senden:
- Über einen direkten Exporter
- Über einen Agent
Ein direkter Exporter sendet Telemetriedaten prozessintern (aus dem Code der Anwendung) direkt an den Erfassungsendpunkt von Azure Monitor. Der Hauptvorteil dieser Methode liegt in der Einfachheit des Onboardings.
Die derzeit verfügbaren Application Insights-SDKs und Azure Monitor OpenTelemetry-Distros beruhen auf einem direkten Exporter.
Hinweis
Die Position von Azure Monitor zum OpenTelemetry-Collector finden Sie in den häufig gestellten Fragen zu OpenTelemetry.
Tipp
Falls Sie planen, OpenTelemetry-Collector für Stichprobenentnahmen oder zusätzliche Datenverarbeitung zu verwenden, können Sie diese Funktionen möglicherweise in Azure Monitor integriert erhalten. Kundschaft, die zu arbeitsbereichsbasiertem Application Insights migriert ist, können von Transformationen zur Erfassungszeit profitieren. Befolgen Sie zum Aktivieren die Details im Tutorial und überspringen Sie dabei den Schritt, der zeigt, wie Sie eine Diagnoseeinstellung einrichten, da diese bei arbeitsbereichsorientiertem Application Insights bereits konfiguriert ist. Wenn Sie weniger als 50 % des Gesamtvolumens filtern, fallen keine zusätzlichen Kosten an. Ab 50 % fallen Kosten an, aber viel weniger als die Standardgebühr pro GB.
OpenTelemetry
Microsoft freut sich darauf, OpenTelemetry als die Zukunft der Telemetrie-Instrumentierung zu begrüßen. Sie, unsere Kunden, haben nach einer herstellerneutralen Instrumentierung gefragt, und wir freuen uns, mit der OpenTelemetry-Community zusammenzuarbeiten, um konsistente APIs und SDKs für verschiedene Sprachen zu erstellen.
Microsoft hat mit Projektbeteiligten von zwei zuvor beliebten Open-Source-Telemetrieprojekten, OpenCensus und OpenTracing, zusammengearbeitet. Gemeinsam haben wir dazu beigetragen, ein einzelnes Projekt zu erstellen: OpenTelemetry. OpenTelemetry umfasst Beiträge von allen wichtigen Cloud- und APM-Anbietern (Application Performance Management) und gehört zur Cloud Native Computing Foundation (CNCF). Microsoft ist Platinmitglied von CNCF.
Informationen zur Terminologie finden Sie im Glossar in den OpenTelemetry-Spezifikationen.
Einige ältere Begriffe in Application Insights sind aufgrund der Konvergenz der Branche zu OpenTelemetry verwirrend. In der folgenden Tabelle sind diese Unterschiede hervorgehoben. OpenTelemetry-Begriffe ersetzen Application Insights-Begriffe.
Application Insights | OpenTelemetry |
---|---|
Autocollectors | Instrumentierungsbibliotheken |
Kanal | Exporter |
Codelos / Agentenbasiert | Automatische Instrumentierung |
Traces | Protokolle |
Requests | Serverspannen |
Abhängigkeiten | Andere Spannenarten (Client, Intern usw.) |
Betriebs-ID | Ablaufverfolgungs-ID |
ID oder übergeordnete Vorgangs-ID | Span-ID |
Häufig gestellte Fragen
Wo finde ich eine Liste mit den Application Insights SDK-Versionen und ihren Namen?
Eine Liste mit SDK-Versionen und -Namen wird auf GitHub gehostet. Weitere Informationen finden Sie unter SDK-Version.
Nächste Schritte
Wählen Sie Ihren Aktivierungsansatz aus:
- Automatische Instrumentierung
- SDKs für Application Insights
- Azure Monitor OpenTelemetry-Distro
Weitere Informationen finden Sie in den häufig gestellten Fragen zu Azure Monitor Application Insights und OpenTelemetry.