0Pricing
C# Academy · Lekcja

Trzy filary obserwowalności

Poznaj ślady, metryki i logi.

Trzy filary obserwowalności to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 1 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.

Czym jest obserwowalność

Obserwowalność to możliwość zrozumienia wewnętrznego stanu systemu na podstawie emitowanych przez niego danych. W przypadku działającej usługi odpowiada na pytania: czy działa prawidłowo, dlaczego działa wolno i co się nie udało? Opiera się na trzech filarach: trace'ach, metrykach i logach.

Czym jest OpenTelemetry

OpenTelemetry (OTel) to niezależny od dostawcy standard i zestaw bibliotek do generowania oraz eksportowania danych telemetrycznych. Dzięki jednej instrumentacji możesz wysyłać dane do wielu systemów zaplecza, takich jak Jaeger, Prometheus czy Grafana.

dotnet add package OpenTelemetry.Extensions.Hosting

Filar pierwszy: logi

Logi to opatrzone znacznikami czasu zapisy pojedynczych zdarzeń („użytkownik 42 zalogował się”, „płatność się nie powiodła”). Dostarczają szczegółowego, czytelnego dla człowieka kontekstu, ale same mogą być nadmiarowe i trudne do agregowania.

logger.LogInformation("Order {OrderId} placed by {UserId}", orderId, userId);

Filar drugi: metryki

Metryki to wartości liczbowe agregowane w czasie, takie jak liczba żądań, współczynnik błędów, percentyle opóźnień czy użycie procesora. Są tanie w przechowywaniu i idealnie nadają się do pulpitów nawigacyjnych oraz alertów.

Filar trzeci: trace'y

Trace'y śledzą pojedyncze żądanie przepływające przez usługi i dzielą je na mierzone w czasie spany. Pokazują, gdzie zużywany jest czas i która zależność spowodowała spowolnienie.

Jak filary uzupełniają się wzajemnie

Metryki informują, że coś jest nie tak (współczynnik błędów gwałtownie wzrósł). Trace'y pokazują, gdzie wystąpił problem (w usłudze płatności). Logi wyjaśniają, dlaczego (odwołanie do wartości null dla konkretnego zamówienia). Razem tworzą pełny obraz potrzebny do debugowania.

Kluczem jest korelacja

Prawdziwa siła tkwi w korelacji. Wspólny trace ID dodany do logów i spanów pozwala przejść od alertu metryki do dokładnego trace'a i jego logów dotyczących jednego żądania, które zakończyło się niepowodzeniem.

Sygnały w OpenTelemetry

OTel nazywa te filary sygnałami. .NET odwzorowuje je na znane elementy: trace'y korzystają z Activity/ActivitySource, metryki z Meter, a logi z ILogger.

Dodawanie OpenTelemetry do hosta

Włącz wybrane sygnały za pomocą AddOpenTelemetry() i skonfiguruj śledzenie oraz metryki. Każdy z tych tematów szczegółowo omówimy w kolejnych lekcjach.

builder.Services.AddOpenTelemetry()
    .WithTracing(tracing => { })
    .WithMetrics(metrics => { });

Atrybuty zasobu

Zasób opisuje jednostkę generującą dane telemetryczne (nazwę usługi, wersję i środowisko). Jego spójna konfiguracja pozwala backendom prawidłowo grupować i filtrować dane.

builder.Services.AddOpenTelemetry()
    .ConfigureResource(r => r.AddService(
        serviceName: "checkout-api",
        serviceVersion: "1.4.0"));

Instrumentacja automatyczna a ręczna

OTel oferuje automatyczną instrumentację dla ASP.NET Core, HttpClient i innych komponentów, a także ręczną instrumentację, w ramach której dodają Państwo własne spany i metryki, aby uzyskać informacje specyficzne dla działalności biznesowej.

Szybkie sprawdzenie

Proszę sprawdzić znajomość trzech filarów.

Podsumowanie

Obserwowalność opiera się na trzech filarach: logach (zdarzeniach, odpowiadających na pytanie „dlaczego”), metrykach (zagregowanych liczbach, odpowiadających na pytanie „czy”) oraz śladach (spanach dla poszczególnych żądań, pokazujących „gdzie”). OpenTelemetry to niezależny od dostawcy standard, który emituje wszystkie trzy rodzaje danych jako sygnały, mapowane w .NET na Activity, Meter i ILogger. Korelacja za pomocą identyfikatorów śladów oraz prawidłowo skonfigurowanego zasobu łączy je ze sobą.

Często zadawane pytania

Czy lekcja „Trzy filary obserwowalności” jest bezpłatna?

Tak — pełny tekst „Trzy filary obserwowalności” 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 „Trzy filary obserwowalności”?

Poznaj ślady, metryki i logi. Ć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 1 z 4.

Ile czasu zajmuje lekcja „Trzy filary obserwowalności”?

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