Pratite ponašanje usluge i njezinih korisnika
DovršenoPovežite metrike, logove i tragove s ciljevima usluge. Osmislite upozorenja, granice podataka i provjere nedostajuće telemetrije.
Objavljuje TaigaKako pišemo
Provjerite razumijevanjeVrijeme odziva izvoza raste. Uzorkovani tragovi pokazuju spore spanove baze podataka. Što možete zaključiti?Napravite vježbu
Š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 pitanje | Primjer dokaza | Ograničenje koje treba zapamtiti |
|---|---|---|
| Koliko izvoza koji ispunjavaju uvjete ne uspijeva? | Broj neuspjeha i broj zahtjeva koji ispunjavaju uvjete | Pogrešan nazivnik daje obmanjujuću stopu |
| Što se dogodilo s jednim izvozom? | Strukturirani log s ID-jem zadatka, ishodom i verzijom | Nedostajući događaji ostavljaju praznine |
| Gdje je utrošeno vrijeme? | Trag kroz API, red čekanja, radni proces i bazu podataka | Uzorkovanje i prekinut prijenos konteksta mogu sakriti rad |
| Što se promijenilo prije simptoma? | Zapisi postavljanja i konfiguracije | Sam 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)Uklanjanje ove oznake briše sav napredak spremljen u ovom pregledniku.
Napredak ostaje u ovom pregledniku. Bez računa i praćenja.
Izvori i dodatno čitanje
- OpenTelemetry: Observability primer ↗
- OpenTelemetry: Handling sensitive data ↗
- Google SRE: Alerting on SLOs ↗
- Taiga docs: Monitoring ↗