Put 05Lekcija 4 / 8

Pratite ponašanje usluge i njezinih korisnika

Povežite metrike, logove i tragove s ciljevima usluge. Osmislite upozorenja, granice podataka i provjere nedostajuće telemetrije.

Praktična primjena11 minPregledano

Objavljuje Kako pišemo

Provjerite razumijevanjeVrijeme odziva izvoza raste. Uzorkovani tragovi pokazuju spore spanove baze podataka. Što možete zaključiti?Napravite vježbu
Vrijeme odziva izvoza raste. Uzorkovani tragovi pokazuju spore spanove baze podataka. Što možete zaključiti?

Što ćete naučiti

  • Odabrati telemetriju koja odgovara na određeno operativno pitanje.
  • Razlikovati simptom usluge od unutarnjeg uzroka.
  • Zaštititi telemetriju i otkriti nedostajuće ili zastarjele dokaze.

Počnite od pitanja

Monitoring provjerava poznate uvjete. Observability pomaže istražiti ponašanje sustava, uključujući kvarove koje niste predvidjeli. Više nadzornih ploča ne daje automatski bolje odgovore.

Za izmišljenu uslugu izvoza počnite od korisničkog pitanja: može li ovlašteni korisnik dobiti ispravan izvoz unutar dogovorenog vremena? Zatim odaberite signale koji pomažu odgovoriti na to pitanje i objasniti kvarove.

OpenTelemetry pruža instrumentaciju i standarde za telemetriju. Može slati signale kompatibilnim pozadinskim sustavima. I dalje trebate pohranu, upite, kontrole pristupa, pravila zadržavanja i ljude koji postupaju prema dokazima. Uvod u observability.

Povežite različite oblike dokaza

Metrika mjeri veličinu tijekom vremena. Log bilježi događaj. Trag povezuje povezane operacije dok zahtjev prolazi kroz sustav. Span predstavlja jednu operaciju unutar traga.

Operativno pitanjePrimjer dokazaOgraničenje koje treba zapamtiti
Koliko izvoza koji ispunjavaju uvjete ne uspijeva?Broj neuspjeha i broj zahtjeva koji ispunjavaju uvjetePogrešan nazivnik daje obmanjujuću stopu
Što se dogodilo s jednim izvozom?Strukturirani log s ID-jem zadatka, ishodom i verzijomNedostajući događaji ostavljaju praznine
Gdje je utrošeno vrijeme?Trag kroz API, red čekanja, radni proces i bazu podatakaUzorkovanje i prekinut prijenos konteksta mogu sakriti rad
Što se promijenilo prije simptoma?Zapisi postavljanja i konfiguracijeSam vremenski slijed ne dokazuje uzrok

Za asinkroni rad sačuvajte sigurnu poveznicu između poslanog zadatka i izvršavanja radnog procesa. Odgovor HTTP 202 može značiti da je rad prihvaćen. Ne dokazuje da je izvoz dovršen.

Upozorite kada je potrebna radnja

Odredite SLI i njegov nazivnik prije postavljanja SLO-a. Za ovaj primjer brojite izvoze koji ispunjavaju uvjete i ispravno su dovršeni unutar dogovorenog trajanja. Odredite kako dugotrajni i napušteni zadaci ulaze u mjerenje.

Proračun pogrešaka opisuje dopuštene neuspjehe unutar razdoblja SLO-a. Stopa trošenja opisuje koliko brzo neuspjesi troše taj proračun. Googleove smjernice upotrebljavaju više vremenskih prozora radi ravnoteže između pravodobnog otkrivanja i prevelikog broja upozorenja. Upozorenja na temelju SLO-ova.

Pozovite dežurnu osobu kada stanje zahtijeva pravodobnu radnju. Manje hitan rad pošaljite u red zadataka. Svako upozorenje treba odgovornu osobu, opis učinka, poveznicu za istragu i uputu za reakciju. Pregledajte upozorenja koja opetovano ne dovode ni do kakve radnje.

Nemojte upotrebljavati jedan opći prag za svaku uslugu. Utjecaj na korisnike, promet, radno vrijeme i kapacitet za reakciju utječu na odluku.

Zaštitite pipeline telemetrije

Telemetrija može sadržavati osobne podatke, tokene, parametre zahtjeva i povjerljive dokumente. Odredite dopuštena polja prije prikupljanja. Ograničite pristup i zadržavanje. Uklonite tajne podatke prije izvoza u vanjski pozadinski sustav. Osjetljiva telemetrija.

Nemojte upotrebljavati e-adresu klijenta ili jedinstveni ID zadatka kao oznaku metrike. Neograničene oznake povećavaju broj vremenskih nizova i mogu otkriti identifikatore. Za metrike upotrijebite kontrolirane dimenzije. Odobrene identifikatore za povezivanje stavite u logove ili tragove s kontroliranim pristupom.

Mjerite i sam pipeline. Provjeravajte neuspjehe prihvata podataka, odbačene podatke i starost najnovijeg opažanja. Ravna linija na grafikonu pogrešaka može značiti da nema pogrešaka ili da ne pristiže telemetrija. Pokažite tu razliku.

Istražite konkretan kvar

Izmišljena usluga vraća HTTP 202 za svaki zahtjev. Starost reda raste sa sekundi na 15 minuta. Logovi radnog procesa pokazuju ponovljena prekoračenja vremena pri pristupu bazi podataka. Uzorkovani tragovi pokazuju da radni proces većinu vremena troši na pozive bazi podataka.

Ti dokazi podupiru usmjerenu istragu. Ne utvrđuju je li uzrok promjena upita, iscrpljene veze ili kapacitet baze podataka. Usporedite te hipoteze metodom otklanjanja pogrešaka.

Taiga Monitoring pruža pregled stanja proizvoda sa signalima dostupnosti i korisničkog iskustva u pregledniku. Nadopunjuje observability infrastrukture i aplikacije; ne zamjenjuje te sustave. Monitoring.

Napravite vježbu

Za izmišljeni izvoz iz ove lekcije odredite jedan SLI, jedno upozorenje na koje se može djelovati, tri dopuštena telemetrijska polja i dva zabranjena polja. Navedite kako biste otkrili kvar pipelinea telemetrije.

Preuzmi radni list (Markdown)
Provjerite razumijevanje ↑

Nastavite učiti

Izvori i dodatno čitanje

Povezani Taigini materijali

← Prethodna lekcija: Nastavite otkrivati i otklanjati ranjivosti