Ścieżka 05Lekcja 4 / 8

Obserwuj usługę i jej użytkowników

Powiąż metryki, logi i ślady z celami usługi. Zaprojektuj alerty, granice danych oraz kontrole brakującej telemetrii.

Praktyka11 minSprawdzono

Wydawca Jak piszemy

Czego się nauczysz

  • Wybierz telemetrię, która odpowiada na konkretne pytanie operacyjne.
  • Odróżnij objaw widoczny w usłudze od przyczyny wewnętrznej.
  • Chroń telemetrię i wykrywaj brakujące lub nieaktualne dane.

Zacznij od pytania

Monitoring sprawdza znane warunki. Obserwowalność pomaga badać zachowanie systemu, w tym nieprzewidziane awarie. Więcej dashboardów nie oznacza automatycznie lepszych odpowiedzi.

Dla fikcyjnej usługi eksportu zacznij od pytania użytkownika: czy uprawniony użytkownik może otrzymać poprawny eksport w uzgodnionym czasie? Następnie wybierz sygnały, które odpowiadają na to pytanie i pomagają wyjaśniać awarie.

OpenTelemetry zapewnia instrumentację i standardy telemetrii. Może wysyłać sygnały do zgodnych backendów. Nadal potrzebujesz przechowywania, zapytań, kontroli dostępu, retencji i ludzi działających na podstawie dowodów. Podstawy obserwowalności.

Połącz różne rodzaje dowodów

Metryka mierzy wielkość w czasie. Log zapisuje zdarzenie. Ślad łączy powiązane operacje podczas przejścia żądania przez system. Span reprezentuje jedną operację w śladzie.

Pytanie operacyjnePrzykładowy dowódOgraniczenie, o którym trzeba pamiętać
Ile kwalifikujących się eksportów kończy się błędem?Liczba błędów i liczba kwalifikujących się żądańBłędny mianownik daje mylący wskaźnik
Co stało się z jednym eksportem?Ustrukturyzowany log z ID zadania, wynikiem i wersjąBrak zdarzeń pozostawia luki
Gdzie upłynął czas?Ślad przez API, kolejkę, worker i bazę danychPróbkowanie i przerwana propagacja kontekstu mogą ukrywać pracę
Co zmieniło się przed wystąpieniem objawu?Rejestry wdrożeń i konfiguracjiSama kolejność czasowa nie dowodzi przyczyny

W pracy asynchronicznej zachowaj bezpieczne powiązanie między zgłoszonym zadaniem a wykonaniem przez worker. Odpowiedź HTTP 202 może oznaczać przyjęcie pracy. Nie dowodzi zakończenia eksportu.

Alarmuj, gdy potrzebne jest działanie

Określ SLI i jego mianownik przed ustaleniem SLO. W przykładzie licz kwalifikujące się eksporty poprawnie zakończone w uzgodnionym czasie. Określ, jak pomiar uwzględnia zadania długotrwałe i porzucone.

Budżet błędów określa dopuszczalne niepowodzenia w oknie SLO. Tempo zużycia budżetu wskazuje, jak szybko błędy go wyczerpują. Wytyczne Google stosują wiele okien czasowych, aby równoważyć szybkie wykrywanie i nadmiar alertów. Alerty oparte na SLO.

Wezwij osobę dyżurującą, gdy sytuacja wymaga szybkiego działania. Mniej pilne sprawy kieruj do kolejki. Każdy alert potrzebuje właściciela, opisu wpływu, linku do analizy i instrukcji reakcji. Przeglądaj alerty, które wielokrotnie nie prowadzą do działania.

Nie stosuj jednego ogólnego progu dla wszystkich usług. Wpływ na użytkowników, ruch, godziny pracy i zdolność reagowania wpływają na decyzję.

Chroń pipeline telemetrii

Telemetria może zawierać dane osobowe, tokeny, parametry żądań i poufne dokumenty. Określ dozwolone pola przed zbieraniem danych. Ogranicz dostęp i retencję. Usuń sekrety przed wysłaniem do zewnętrznego backendu. Dane wrażliwe w telemetrii.

Nie używaj adresu e-mail klienta ani unikatowego ID zadania jako etykiety metryki. Etykiety bez ograniczonego zbioru wartości zwiększają liczbę szeregów czasowych i mogą ujawniać identyfikatory. Stosuj kontrolowane wymiary metryk. Zatwierdzone identyfikatory korelacji umieszczaj w logach lub śladach z kontrolą dostępu.

Mierz również sam pipeline. Sprawdzaj błędy przyjmowania danych, odrzucone dane i wiek ostatniej obserwacji. Płaski wykres błędów może oznaczać brak błędów albo brak telemetrii. Pokazuj tę różnicę.

Przeanalizuj konkretną awarię

Fikcyjna usługa zwraca HTTP 202 dla każdego żądania. Wiek zadań w kolejce rośnie z sekund do 15 minut. Logi workerów pokazują powtarzające się przekroczenia czasu połączeń z bazą danych. Próbkowane ślady przypisują większość czasu workera wywołaniom bazy.

Te dowody pozwalają zawęzić analizę. Nie ustalają, czy przyczyną jest zmiana zapytania, wyczerpanie połączeń czy wydajność bazy danych. Porównaj hipotezy za pomocą metody debugowania.

Taiga Monitoring pokazuje kondycję produktu przez sygnały dostępności i działania w przeglądarce. Uzupełnia obserwowalność infrastruktury i aplikacji; nie zastępuje tych systemów. Monitoring.

Wykonaj ćwiczenie

Dla fikcyjnego eksportu z tej lekcji określ jeden SLI, jeden alert wymagający działania, trzy dozwolone pola telemetrii i dwa zabronione. Opisz wykrywanie awarii pipeline'u telemetrii.

Pobierz arkusz (Markdown)

Sprawdź zrozumienie

Rośnie czas eksportu. Próbkowane ślady pokazują powolne spany bazy danych. Jaki wniosek możesz wyciągnąć?

Źródła i dalsza lektura

Powiązana lektura od Taiga