Stebėkite paslaugą ir jos naudotojus
BaigtaSusiekite metrikas, žurnalus ir trasas su paslaugos tikslais. Suprojektuokite perspėjimus, duomenų ribas ir trūkstamos telemetrijos patikrinimus.
Leidžia TaigaKaip rašome
Patikrinkite, ar supratoteEksporto delsa didėja. Atrinktos trasos rodo lėtas duomenų bazės operacijas. Kokią išvadą galite padaryti?Atlikite užduotį
Ko išmoksite
- Pasirinkite telemetriją, atsakančią į konkretų eksploatavimo klausimą.
- Atskirkite paslaugos simptomą nuo vidinės priežasties.
- Apsaugokite telemetriją ir aptikite trūkstamus ar pasenusius įrodymus.
Pradėkite nuo klausimo
Stebėsena tikrina žinomas sąlygas. Stebimumas padeda tirti sistemos veikimą, įskaitant nenumatytus sutrikimus. Daugiau suvestinių savaime nesuteikia geresnių atsakymų.
Išgalvotai eksporto paslaugai pradėkite nuo naudotojo klausimo: ar įgaliotas naudotojas gali gauti teisingą eksportą per sutartą laiką? Tada pasirinkite signalus, kurie padeda atsakyti į šį klausimą ir paaiškinti sutrikimus.
OpenTelemetry teikia instrumentavimą ir telemetrijos standartus. Jis gali siųsti signalus į suderinamas apdorojimo sistemas. Jums vis tiek reikia saugojimo, užklausų, prieigos kontrolės, saugojimo terminų ir žmonių, kurie veikia pagal įrodymus. Stebimumo įvadas.
Susiekite skirtingas įrodymų formas
Metrika matuoja dydį laikui bėgant. Žurnalas fiksuoja įvykį. Trasa susieja susijusias operacijas, kai užklausa juda per sistemą. Span žymi vieną trasos operaciją.
| Eksploatavimo klausimas | Įrodymo pavyzdys | Kokią ribą prisiminti |
|---|---|---|
| Kiek tinkamų eksportų nepavyksta? | Nesėkmių skaičius ir tinkamų užklausų skaičius | Neteisingas vardiklis pateikia klaidinantį santykį |
| Kas nutiko vienam eksportui? | Struktūruotas žurnalas su užduoties ID, rezultatu ir versija | Trūkstami įvykiai palieka spragas |
| Kur sugaištas laikas? | Trasa per API, eilę, vykdymo procesą ir duomenų bazę | Atranka ir sutrikęs konteksto perdavimas gali paslėpti darbą |
| Kas pasikeitė prieš simptomą? | Diegimo ir konfigūracijos įrašai | Vien laiko sutapimas neįrodo priežasties |
Asinchroniniam darbui išlaikykite saugų ryšį tarp pateiktos užduoties ir jos vykdymo proceso. HTTP 202 atsakymas gali reikšti, kad darbas priimtas. Jis neįrodo, kad eksportas baigtas.
Perspėkite, kai reikia veikti
Prieš nustatydami SLO, apibrėžkite SLI ir jo vardiklį. Šiame pavyzdyje skaičiuokite tinkamus eksportus, teisingai užbaigtus per sutartą trukmę. Apibrėžkite, kaip į matavimą patenka ilgai vykdomos ir apleistos užduotys.
Klaidų biudžetas aprašo leidžiamą nesėkmę per SLO laikotarpį. Jo naudojimo tempas parodo, kaip greitai nesėkmės tą biudžetą sunaudoja. Google gairės naudoja kelis laiko intervalus, kad suderintų savalaikį aptikimą ir perteklinių perspėjimų mažinimą. Perspėjimai pagal SLO.
Skubiai kvieskite žmogų, kai sąlyga reikalauja savalaikio veiksmo. Mažiau skubų darbą siųskite į eilę. Kiekvienam perspėjimui reikia atsakingo asmens, poveikio aprašo, tyrimo nuorodos ir reagavimo instrukcijos. Peržiūrėkite perspėjimus, po kurių nuolat nesiimama jokių veiksmų.
Nenaudokite vienos bendros ribos kiekvienai paslaugai. Sprendimą veikia poveikis naudotojams, srautas, darbo valandos ir reagavimo pajėgumas.
Apsaugokite telemetrijos konvejerį
Telemetrijoje gali būti asmens duomenų, prieigos raktų, užklausų parametrų ir konfidencialių dokumentų. Leidžiamus laukus apibrėžkite prieš rinkimą. Ribokite prieigą ir saugojimą. Pašalinkite paslaptis prieš siųsdami į išorinę apdorojimo sistemą. Jautri telemetrija.
Nenaudokite kliento el. pašto ar unikalaus užduoties ID kaip metrikos žymos. Neribotos žymos didina laiko eilučių skaičių ir gali atskleisti identifikatorius. Metrikoms naudokite kontroliuojamus matmenis. Patvirtintus ryšio identifikatorius dėkite į prieigos kontrole apsaugotus žurnalus ar trasas.
Matuokite patį konvejerį. Tikrinkite duomenų priėmimo sutrikimus, prarastus duomenis ir laiką nuo naujausio stebėjimo. Lygi klaidų diagrama gali reikšti, kad klaidų nėra arba kad telemetrija negaunama. Parodykite šį skirtumą.
Ištirkite konkretų sutrikimą
Išgalvota paslauga į kiekvieną užklausą atsako HTTP 202. Užduočių laukimo eilėje trukmė išauga nuo sekundžių iki 15 minučių. Vykdymo procesų žurnalai rodo pasikartojančius duomenų bazės laukimo termino viršijimus. Atrinktos trasos didžiąją vykdymo procesų laiko dalį priskiria kreipiniams į duomenų bazę.
Šie įrodymai pagrindžia tikslingą tyrimą. Jie neįrodo, ar priežastis yra užklausos pakeitimas, išnaudotos jungtys, ar duomenų bazės pajėgumas. Palyginkite šias hipotezes taikydami klaidų tyrimo metodą.
Taiga Monitoring pateikia produkto būklės vaizdą su prieinamumo ir naršyklės naudojimo patirties signalais. Jis papildo infrastruktūros ir programos stebimumą; šių sistemų nepakeičia. Monitoring.
Atlikite užduotį
Šios pamokos išgalvotam eksportui apibrėžkite vieną SLI, vieną veiksmo reikalaujantį perspėjimą, tris leidžiamus telemetrijos laukus ir du draudžiamus laukus. Nurodykite, kaip aptiktumėte sugedusį telemetrijos konvejerį.
Atsisiųsti užduoties lapą (Markdown)Atšaukus šį pasirinkimą ištrinama visa šioje naršyklėje išsaugota pažanga.
Pažanga lieka šioje naršyklėje. Be paskyros ir stebėjimo.
Šaltiniai ir papildoma literatūra
- OpenTelemetry: Observability primer ↗
- OpenTelemetry: Handling sensitive data ↗
- Google SRE: Alerting on SLOs ↗
- Taiga docs: Monitoring ↗