0Pricing
C# Academy · Lekcja

Eksportowanie do systemów zaplecza

Wysyłaj dane telemetryczne do kolektorów i narzędzi OTLP.

Eksportowanie do systemów zaplecza to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C# Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C# Academy zawiera 4 lekcji w sumie.

Eksportowanie danych telemetrycznych

Generowanie śladów i metryk to tylko połowa zadania; należy je eksportować do backendu, który przechowuje, wyszukuje i wizualizuje dane. OpenTelemetry używa do tego celu eksporterów.

Eksporterzy

Eksporter wysyła dane telemetryczne do miejsca docelowego. Różni eksporterzy obsługują różne systemy: konsolę (podczas programowania), OTLP (standardowy protokół) oraz eksportery właściwe dla poszczególnych dostawców.

Eksporter konsolowy

Eksporter konsolowy wypisuje dane telemetryczne w terminalu, dzięki czemu doskonale nadaje się do weryfikowania instrumentacji podczas programowania.

builder.Services.AddOpenTelemetry()
    .WithTracing(t => t.AddConsoleExporter())
    .WithMetrics(m => m.AddConsoleExporter());

Czym jest OTLP

OTLP (OpenTelemetry Protocol) to niezależny od dostawcy format przewodowy służący do przesyłania danych telemetrycznych. Eksportowanie za pomocą OTLP pozwala wysyłać dane do dowolnego backendu zgodnego z OTLP bez zmieniania kodu aplikacji.

dotnet add package OpenTelemetry.Exporter.OpenTelemetryProtocol

Konfigurowanie eksportera OTLP

Należy dodać AddOtlpExporter i wskazać punkt końcowy kolektora lub backendu.

builder.Services.AddOpenTelemetry()
    .WithTracing(t => t.AddOtlpExporter(o =>
    {
        o.Endpoint = new Uri("http://localhost:4317");
    }))
    .WithMetrics(m => m.AddOtlpExporter());

Kolektor OpenTelemetry

Kolektor to osobny proces, który odbiera dane telemetryczne, przetwarza je (grupuje, filtruje i wzbogaca), a następnie przekazuje do jednego lub większej liczby backendów. Oddziela on aplikację od konkretnych dostawców.

Po co używać kolektora

Bezpośrednie wysyłanie danych do dostawcy wiąże aplikację z tym dostawcą. Kolektor pozwala zmienić backend lub wysyłać dane do wielu backendów, centralnie stosować próbkowanie i anonimizację oraz zmniejszyć obciążenie usług.

Popularne backendy

Ślady są często wysyłane do Jaeger lub Tempo, metryki do Prometheus, a pulpity do Grafana. Logi mogą trafiać do Loki lub stosu ELK. Wszystkie te systemy mogą odbierać OTLP za pośrednictwem kolektora.

Łączenie wszystkich elementów

Typowa konfiguracja obejmuje zasób, źródła, obiekty Meter i eksporter OTLP w jednym bloku, dzięki czemu ślady i metryki mogą przepływać do kolektora.

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());

Eksportowanie logów

OTel eksportuje również logi. Należy podłączyć go do potoku logowania, aby rekordy logów zawierały ten sam kontekst śladu i trafiały do backendu za pośrednictwem OTLP.

builder.Logging.AddOpenTelemetry(o =>
{
    o.AddOtlpExporter();
});

Grupowanie i niezawodność

Eksporterzy grupują dane telemetryczne, aby zmniejszyć narzut, i ponawiają próby w razie błędu. Należy dostosować rozmiar grupy i limity czasu do wielkości ruchu oraz preferować kolektor, który absorbuje skoki obciążenia, aby wątki aplikacji nigdy nie były blokowane podczas eksportowania.

Szybkie sprawdzenie

Proszę sprawdzić znajomość eksportowania danych do backendów.

Podsumowanie

Eksporterzy wysyłają dane telemetryczne do backendów. Eksporter konsolowy pomaga podczas programowania, a OTLP jest niezależnym od dostawcy protokołem używanym wraz z AddOtlpExporter. Wysyłanie OTLP do kolektora OpenTelemetry oddziela aplikację od dostawcy, centralizuje grupowanie, próbkowanie i routing oraz rozdziela dane do backendów takich jak Jaeger, Prometheus i Grafana. Logi są eksportowane w ten sam sposób i zawierają kontekst śladu.

Często zadawane pytania

Czy lekcja „Eksportowanie do systemów zaplecza” jest bezpłatna?

Tak — pełny tekst „Eksportowanie do systemów zaplecza” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C# Academy, przejdź na CoddyKit PRO. Kurs C# Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Eksportowanie do systemów zaplecza”?

Wysyłaj dane telemetryczne do kolektorów i narzędzi OTLP. Ćwiczysz C# Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć C# Academy?

Nie wymagamy żadnego doświadczenia. C# Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Eksportowanie do systemów zaplecza”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji C# Academy?

Tak. Każda lekcja C# Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Trzy filary obserwowalności
  2. Śledzenie rozproszone
  3. Zbieranie metryk
  4. Eksportowanie do systemów zaplecza
← Powrót do C# Academy