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.
Wydawca TaigaJak 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 operacyjne | Przykładowy dowód | Ograniczenie, 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ę danych | Próbkowanie i przerwana propagacja kontekstu mogą ukrywać pracę |
| Co zmieniło się przed wystąpieniem objawu? | Rejestry wdrożeń i konfiguracji | Sama 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
Źródła i dalsza lektura
- OpenTelemetry: Observability primer ↗
- OpenTelemetry: Handling sensitive data ↗
- Google SRE: Alerting on SLOs ↗
- Taiga docs: Monitoring ↗
Powiązana lektura od Taiga
Odznaczenie tej opcji usuwa wszystkie postępy zapisane w tej przeglądarce.
Postępy pozostają w tej przeglądarce. Bez konta i śledzenia.