Instrumentieren einer App zur Überwachung

Abgeschlossen

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:

Aktivieren über Application Insights SDKs

Sie müssen das Application Insights SDK nur unter folgenden Umständen installieren:

  • Sie benötigen benutzerdefinierte Ereignisse und Metriken.
  • Sie müssen den Flow der Telemetriedaten steuern.
  • Die automatische Instrumentierung ist nicht verfügbar (in der Regel aufgrund von Einschränkungen der Programmiersprache oder der Plattform).

Um das SDK zu verwenden, installieren Sie ein kleines Instrumentierungspaket in Ihrer App und instrumentieren dann die Web-App, alle Hintergrundkomponenten und den JavaScript-Code 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 eindeutige Token verwendet.

Eine Liste mit SDK-Versionen und -Namen wird auf GitHub gehostet. Weitere Informationen finden Sie unter SDK-Version.

Aktivieren über OpenTelemetry

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.

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