Lärstig 05Lektion 4 / 8

Observera tjänsten och dess användare

Koppla mätvärden, loggar och traces till tjänstens mål. Utforma larm, datagränser och kontroller för saknad telemetri.

Praktisk nivå11 minGranskad

Publicerad av Så skriver vi

Det här lär du dig

  • Välj telemetri som besvarar en specifik fråga om driften.
  • Skilj ett symtom i tjänsten från en intern orsak.
  • Skydda telemetrin och upptäck underlag som saknas eller är inaktuellt.

Börja med frågan

Övervakning kontrollerar kända förhållanden. Observability hjälper dig att undersöka systemets beteende, även fel som du inte förutsåg. Fler dashboards ger inte automatiskt bättre svar.

Börja med en användarfråga för en fiktiv exporttjänst: kan en behörig användare få rätt export inom den överenskomna tiden? Välj sedan signaler som stöder frågan och hjälper till att förklara fel.

OpenTelemetry tillhandahåller instrumentering och standarder för telemetri. Det kan skicka signaler till kompatibla backend-system. Du behöver fortfarande lagring, frågor, åtkomstkontroller, lagringstider och personer som agerar utifrån underlaget. Introduktion till observability.

Koppla samman olika slags underlag

Ett mätvärde mäter en storhet över tid. En logg registrerar en händelse. En trace kopplar samman relaterade operationer när ett anrop rör sig genom ett system. En span representerar en operation i en trace.

Fråga om driftenExempel på underlagBegränsning att komma ihåg
Hur många exporter som omfattas av mätningen misslyckas?Antalet fel och antalet anrop som omfattasEn felaktig nämnare ger en missvisande andel
Vad hände med en viss export?Strukturerad logg med jobb-ID, utfall och versionSaknade händelser lämnar luckor
Var tog tiden vägen?Trace genom API, kö, worker och databasStickprov och bruten kontextöverföring kan dölja arbete
Vad ändrades före symtomet?Register över driftsättningar och konfigurationerTidssamband fastställer inte i sig en orsak

Bevara en säker koppling mellan det inskickade jobbet och workerns körning för asynkront arbete. Ett HTTP 202-svar kan betyda att arbetet har accepterats. Det bevisar inte att exporten är klar.

Larma när en åtgärd behövs

Definiera SLI:t och dess nämnare innan du sätter SLO:t. Räkna i exemplet de exporter som omfattas och slutförs korrekt inom överenskommen tid. Definiera hur långvariga och övergivna jobb räknas i mätningen.

En felbudget beskriver den tillåtna mängden fel inom SLO-perioden. En burn rate beskriver hur snabbt felen förbrukar budgeten. Googles vägledning använder flera tidsfönster för att balansera snabb upptäckt mot larmbrus. Larm utifrån SLO:er.

Larma jouren när tillståndet kräver en åtgärd i tid. Lägg mindre brådskande arbete i en kö. Varje larm behöver en ansvarig, en beskrivning av påverkan, en länk för utredning och en instruktion för åtgärd. Granska larm som upprepade gånger inte leder till någon åtgärd.

Använd inte ett generellt tröskelvärde för alla tjänster. Användarpåverkan, trafik, verksamhetens öppettider och tillgänglig kapacitet för insatser påverkar beslutet.

Skydda telemetripipelinen

Telemetri kan innehålla personuppgifter, tokens, anropsparametrar och konfidentiella dokument. Definiera tillåtna fält före insamling. Begränsa åtkomst och lagringstid. Maskera hemligheter före export till ett externt backend-system. Känslig telemetri.

Använd inte kundens e-postadress eller ett unikt jobb-ID som etikett för mätvärden. Etiketter med obegränsat antal värden ökar antalet tidsserier och kan exponera identifierare. Använd kontrollerade dimensioner för mätvärden. Lägg godkända korrelationsidentifierare i åtkomstskyddade loggar eller traces.

Mät själva pipelinen. Kontrollera inläsningsfel, tappade data och åldern på den senaste observationen. Ett platt feldiagram kan betyda att inga fel finns eller att ingen telemetri kommer in. Visa skillnaden.

Undersök ett konkret fel

Den fiktiva tjänsten rapporterar HTTP 202 för varje anrop. Åldern på jobben i kön stiger från sekunder till 15 minuter. Worker-loggar visar upprepade timeout-fel mot databasen. Stickprov av traces visar att större delen av workerns tid går till databasanrop.

Underlaget stöder en riktad utredning. Det fastställer inte om orsaken är en ändrad fråga, slut på anslutningar eller databasens kapacitet. Jämför hypoteserna med felsökningsmetoden.

Taiga Monitoring ger en bild av produktens hälsa med signaler om tillgänglighet och upplevelsen i webbläsaren. Det kompletterar observability för infrastruktur och applikationer; det ersätter inte dessa system. Monitoring.

Gör övningen

Definiera ett SLI, ett larm som kräver en åtgärd, tre tillåtna telemetrifält och två förbjudna fält för lektionens fiktiva export. Ange hur du skulle upptäcka en trasig telemetripipeline.

Ladda ned övningsblad (Markdown)

Kontrollera din förståelse

Exportens svarstid ökar. Stickprov av traces visar långsamma databasspans. Vad kan du dra för slutsats?

Källor och vidare läsning

Relaterad läsning från Taiga