Azure Monitor OpenTelemetry Exporter-Clientbibliothek für Java – Version 1.0.0-beta.12
Diese Clientbibliothek bietet Unterstützung für den Export von OpenTelemetry-Daten in Azure Monitor. Dieses Paket setzt voraus, dass Ihre Anwendung bereits mit dem OpenTelemetry SDK gemäß der OpenTelemetry-Spezifikation instrumentiert ist.
Quellcode | Paket (Maven) | API-Referenzdokumentation | Produktdokumentation | Proben
Erste Schritte
Voraussetzungen
Weitere Informationen finden Sie in der Einführung in Application Insights.
Schließen Sie das Paket ein
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-monitor-opentelemetry-exporter</artifactId>
<version>1.0.0-beta.8</version>
</dependency>
Authentifizierung
Abrufen des Instrumentierungsschlüssels aus dem Portal
Um Telemetriedaten in Azure Monitor zu exportieren, benötigen Sie den Instrumentierungsschlüssel für Ihre Application Insights-Ressource. Um Ihren Instrumentierungsschlüssel abzurufen, navigieren Sie zum Azure-Portal, und suchen Sie nach Ihrer Ressource. Auf der Übersichtsseite Ihrer Ressource finden Sie den Instrumentierungsschlüssel in der oberen rechten Ecke.
Erstellen des Exporter-Generators für Azure Monitor
AzureMonitorExporterBuilder azureMonitorExporterBuilder = new AzureMonitorExporterBuilder()
.connectionString("{connection-string}");
Exportieren von Span-Daten
Das folgende Beispiel zeigt, wie Sie Ablaufverfolgungsdaten über die AzureMonitorTraceExporter
Einrichten des OpenTelemetry SDK für die Verwendung mit dem Azure Monitor-Exporter
// Create Azure Monitor exporter and initialize OpenTelemetry SDK
// This should be done just once when application starts up
AutoConfiguredOpenTelemetrySdkBuilder sdkBuilder = AutoConfiguredOpenTelemetrySdk.builder();
new AzureMonitorExporterBuilder()
.connectionString("{connection-string}")
.build(sdkBuilder);
OpenTelemetry openTelemetry = sdkBuilder.build().getOpenTelemetrySdk();
Tracer tracer = openTelemetry.getTracer("Sample");
Erstellen von Spannweiten
// Make service calls by adding new parent spans
ConfigurationClient client = new ConfigurationClientBuilder()
.connectionString("{app-config-connection-string}")
.buildClient();
Span span = tracer.spanBuilder("user-parent-span").startSpan();
final Scope scope = span.makeCurrent();
try {
// Thread bound (sync) calls will automatically pick up the parent span and you don't need to pass it explicitly.
client.setConfigurationSetting("hello", "text", "World");
} finally {
span.end();
scope.close();
}
Wichtige Begriffe
Zu den wichtigsten Konzepten für den Azure Monitor-Exporter gehören:
OpenTelemetry: OpenTelemetry ist eine Reihe von Bibliotheken, die zum Sammeln und Exportieren von Telemetriedaten (Metriken, Protokolle und Ablaufverfolgungen) für die Analyse verwendet werden, um die Leistung und das Verhalten Ihrer Software zu verstehen.
Instrumentierung: Die Möglichkeit, die OpenTelemetry-API direkt von jeder Anwendung aufzurufen, wird durch Instrumentierung erleichtert. Eine Bibliothek, die OpenTelemetry-Beobachtbarkeit für eine andere Bibliothek ermöglicht, wird als Instrumentierungsbibliothek bezeichnet.
Ablaufverfolgung: Ablaufverfolgung bezieht sich auf die verteilte Ablaufverfolgung. Es kann als ein gerichtetes azyklisches Diagramm (DAG) von Spans betrachtet werden, bei dem die Kanten zwischen Spans als übergeordnete/untergeordnete Beziehung definiert werden.
Ablaufverfolgungsanbieter: Stellt einen
Tracer
für die Verwendung durch die angegebene Instrumentierungsbibliothek bereit.Span-Prozessor: Ein span-Prozessor ermöglicht Hooks für Start- und Endmethodenaufrufe des
Span
SDK. Folgen Sie dem Link für weitere Informationen.Sampling: Sampling ist ein Mechanismus zum Steuern des Rauschens und des Mehraufwands, der von OpenTelemetry eingeführt wird, indem die Anzahl der Stichproben der gesammelten und an das Back-End gesendeten Ablaufverfolgungen reduziert wird.
Weitere Informationen zum OpenTelemetry-Projekt finden Sie in den OpenTelemetry-Spezifikationen.
Beispiele
Weitere Beispiele finden Sie in den Beispielen.
Problembehandlung
Aktivieren der Protokollierung
Azure SDKs für Java bieten eine konsistente Protokollierung, die bei der Problembehandlung von Anwendungsfehlern und deren Lösung hilft. Die erstellten Protokolle erfassen den Flow einer Anwendung, bevor sie den Endzustand erreichen. Dies trägt zur Ermittlung der Grundursache bei. Informationen zum Aktivieren der Protokollierung finden Sie im Protokollierungswiki.
Nächste Schritte
Weitere Informationen zu Open Telemetry
Mitwirken
Beiträge und Vorschläge für dieses Projekt sind willkommen. Für die meisten Beiträge ist die Zustimmung zu einer Lizenzvereinbarung für Mitwirkende (Contributor License Agreement, CLA) erforderlich, in der Sie erklären, dass Sie dazu berechtigt sind, uns die Rechte für die Nutzung Ihres Beitrags zu erteilen, und dies auch tun.
Wenn Sie einen Pull Request (PR) übermitteln, überprüft ein CLA-Bot automatisch, ob Sie eine Lizenzvereinbarung bereitstellen und den PR entsprechend ergänzen müssen (z.B. mit einer Bezeichnung oder einem Kommentar). Führen Sie einfach die Anweisungen des Bots aus. Sie müssen dies nur einmal für alle Repositorys ausführen, die unsere CLA verwenden.
Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.