An Backends exportieren
Senden Sie Telemetriedaten an OTLP-Collector und -Tools.
An Backends exportieren ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C# Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C# Academy-Kurs umfasst insgesamt 4 Lektionen.
Telemetrie exportieren
Das Erzeugen von Traces und Metriken ist nur die halbe Aufgabe. Sie müssen sie an ein Backend exportieren, das die Daten speichert, abfragt und visualisiert. OpenTelemetry verwendet dafür Exporter.
Exporter
Ein Exporter sendet Telemetrie an ein Ziel. Verschiedene Exporter richten sich an unterschiedliche Systeme: die Console (für die Entwicklung), OTLP (das Standardprotokoll) und herstellerspezifische Exporter.
Der Console-Exporter
Der Console-Exporter gibt Telemetrie im Terminal aus und eignet sich ideal, um die Instrumentierung während der Entwicklung zu überprüfen.
builder.Services.AddOpenTelemetry()
.WithTracing(t => t.AddConsoleExporter())
.WithMetrics(m => m.AddConsoleExporter());Was ist OTLP?
OTLP (OpenTelemetry Protocol) ist das herstellerneutrale Übertragungsformat für den Versand von Telemetrie. Wenn Sie über OTLP exportieren, können Sie Daten an jedes OTLP-kompatible Backend senden, ohne den Anwendungscode zu ändern.
dotnet add package OpenTelemetry.Exporter.OpenTelemetryProtocolDen OTLP-Exporter konfigurieren
Fügen Sie AddOtlpExporter hinzu und verweisen Sie ihn auf den Endpunkt Ihres Collectors oder Backends.
builder.Services.AddOpenTelemetry()
.WithTracing(t => t.AddOtlpExporter(o =>
{
o.Endpoint = new Uri("http://localhost:4317");
}))
.WithMetrics(m => m.AddOtlpExporter());Der OpenTelemetry Collector
Der Collector ist ein separater Prozess, der Telemetrie empfängt, verarbeitet (Batch-Verarbeitung, Filterung, Anreicherung) und an eines oder mehrere Backends weiterleitet. Dadurch wird Ihre Anwendung von bestimmten Herstellern entkoppelt.
Warum einen Collector verwenden?
Wenn Sie Daten direkt an einen Hersteller senden, koppeln Sie Ihre Anwendung an diesen. Mit einem Collector können Sie zu anderen Backends wechseln, Daten an mehrere Backends verteilen, Sampling und Schwärzung zentral anwenden und die Last auf Ihren Diensten reduzieren.
Häufig verwendete Backends
Traces werden häufig an Jaeger oder Tempo gesendet, Metriken an Prometheus und Dashboards an Grafana. Logs können an Loki oder einen ELK-Stack weitergeleitet werden. Alle können über den Collector OTLP empfangen.
Alles miteinander verbinden
Eine typische Konfiguration richtet Ressource, Quellen, Meter und einen OTLP-Exporter in einem Block ein. Dadurch fließen Traces und Metriken zu Ihrem Collector.
builder.Services.AddOpenTelemetry()
.ConfigureResource(r => r.AddService("checkout-api"))
.WithTracing(t => t
.AddAspNetCoreInstrumentation()
.AddSource("Checkout.Orders")
.AddOtlpExporter())
.WithMetrics(m => m
.AddAspNetCoreInstrumentation()
.AddMeter("Checkout.Orders")
.AddOtlpExporter());Logs exportieren
OTel exportiert auch Logs. Binden Sie es in die Logging-Pipeline ein, damit Logdatensätze denselben Trace-Kontext enthalten und über OTLP Ihr Backend erreichen.
builder.Logging.AddOpenTelemetry(o =>
{
o.AddOtlpExporter();
});Batch-Verarbeitung und Zuverlässigkeit
Exporter bündeln Telemetrie, um den Overhead zu reduzieren, und wiederholen den Versand bei Fehlern. Stimmen Sie Batchgröße und Timeouts auf Ihr Datenvolumen ab und bevorzugen Sie den Collector, um Lastspitzen abzufangen, damit Anwendungsthreads beim Export niemals blockiert werden.
Kurzer Test
Testen Sie den Export an Backends.
Zusammenfassung
Exporter senden Telemetrie an Backends. Der Console-Exporter unterstützt die Entwicklung; OTLP ist das herstellerneutrale Protokoll, das mit AddOtlpExporter verwendet wird. Wenn Sie OTLP an einen OpenTelemetry Collector senden, entkoppeln Sie Ihre Anwendung, zentralisieren Batch-Verarbeitung, Sampling und Routing und verteilen die Daten an Backends wie Jaeger, Prometheus und Grafana. Logs werden auf dieselbe Weise exportiert und enthalten den Trace-Kontext.
Häufig gestellte Fragen
Ist die Lektion „An Backends exportieren“ kostenlos?
Ja — der vollständige Text von „An Backends exportieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C# Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C# Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „An Backends exportieren“?
Senden Sie Telemetriedaten an OTLP-Collector und -Tools. Du übst C# Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um C# Academy zu starten?
Keine Vorkenntnisse erforderlich. C# Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „An Backends exportieren“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser C# Academy-Lektion Code schreiben und ausführen?
Ja. Jede C# Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Die drei Säulen der Observability
- Distributed Tracing
- Metriken erfassen
- An Backends exportieren