Læringssti 05Lektion 4 / 8

Forstå tjenestens og brugernes adfærd

Forbind målinger, logs og traces med tjenestens mål. Design alarmer, datagrænser og kontroller for manglende telemetri.

Praktisk11 minReviewet

Udgivet af Sådan skriver vi

Det lærer du

  • Vælg telemetri, der besvarer et konkret driftsspørgsmål.
  • Skeln mellem et symptom i tjenesten og en intern årsag.
  • Beskyt telemetri, og opdag manglende eller forældede observationer.

Start med spørgsmålet

Monitoring kontrollerer kendte betingelser. Observability hjælper dig med at undersøge systemets adfærd, også fejl, du ikke havde forudset. Flere dashboards giver ikke automatisk bedre svar.

Start med et brugerspørgsmål for en fiktiv eksporttjeneste: Kan en autoriseret bruger modtage den korrekte eksport inden for den aftalte tid? Vælg derefter signaler, der understøtter spørgsmålet og hjælper med at forklare fejl.

OpenTelemetry leverer instrumentering og standarder for telemetri. Det kan sende signaler til kompatible backends. Du har stadig brug for lagring, queries, adgangskontroller, opbevaringsregler og mennesker, der handler på observationerne. Introduktion til observability.

Forbind forskellige former for dokumentation

En metric måler en størrelse over tid. En log registrerer en hændelse. Et trace forbinder relaterede operationer, mens en forespørgsel bevæger sig gennem et system. Et span repræsenterer én operation i et trace.

DriftsspørgsmålEksempel på dokumentationBegrænsning at huske
Hvor mange relevante eksporter fejler?Antal fejl og antal relevante forespørgslerEn forkert nævner giver en misvisende andel
Hvad skete der med én eksport?Struktureret log med job-ID, resultat og versionManglende hændelser efterlader huller
Hvor blev tiden brugt?Trace på tværs af API, kø, worker og databaseSampling og brudt kontekstoverførsel kan skjule arbejde
Hvad ændrede sig før symptomet?Registreringer af udrulning og konfigurationTidsmæssig sammenhæng beviser ikke alene en årsag

Bevar en sikker sammenhæng mellem det indsendte job og workerens udførelse ved asynkront arbejde. Et HTTP 202-svar kan betyde, at arbejdet er modtaget. Det beviser ikke, at eksporten er færdig.

Alarmér, når handling er nødvendig

Definér SLI’en og dens nævner, før du fastlægger SLO’et. Tæl i eksemplet de relevante eksporter, der afsluttes korrekt inden for den aftalte tid. Definér, hvordan langvarige og opgivne jobs indgår i målingen.

Et fejlbudget beskriver den tilladte fejlmængde i SLO-perioden. En burn rate beskriver, hvor hurtigt fejl forbruger budgettet. Googles vejledning bruger flere tidsvinduer til at afveje rettidig opdagelse og alarmstøj. Alarmer baseret på SLO’er.

Tilkald nogen, når forholdet kræver en hurtig handling. Send mindre hastende arbejde til en kø. Hver alarm kræver en ansvarlig, en beskrivelse af påvirkningen, et link til undersøgelse og en instruktion for håndtering. Gennemgå alarmer, der gentagne gange ikke fører til handling.

Brug ikke én generisk grænseværdi for alle tjenester. Brugerpåvirkning, trafik, åbningstider og beredskabets kapacitet påvirker beslutningen.

Beskyt telemetripipelinen

Telemetri kan indeholde personoplysninger, tokens, forespørgselsparametre og fortrolige dokumenter. Definér tilladte felter før indsamling. Begræns adgang og opbevaring. Fjern secrets før eksport til en ekstern backend. Følsom telemetri.

Brug ikke en kundes e-mailadresse eller et unikt job-ID som metriclabel. Labels uden afgrænsede værdier øger antallet af tidsserier og kan eksponere identifikatorer. Brug kontrollerede dimensioner til metrics. Placér godkendte korrelationsidentifikatorer i adgangsbegrænsede logs eller traces.

Mål selve pipelinen. Kontrollér indsamlingsfejl, tabte data og den seneste observations alder. En flad fejlgraf kan betyde ingen fejl eller ingen indgående telemetri. Vis forskellen.

Undersøg en konkret fejl

Den fiktive tjeneste svarer HTTP 202 på hver forespørgsel. Alderen på dens kø stiger fra sekunder til 15 minutter. Workerlogs viser gentagne databasetimeouts. Udvalgte traces placerer størstedelen af workerens tid i databasekald.

Observationerne understøtter en fokuseret undersøgelse. De dokumenterer ikke, om årsagen er en ændret query, opbrugte forbindelser eller databasens kapacitet. Sammenlign hypoteserne med fejlsøgningsmetoden.

Taiga Monitoring giver et overblik over produktets tilstand med signaler om tilgængelighed og browseroplevelse. Funktionen supplerer observability for infrastruktur og applikationer; den erstatter ikke disse systemer. Monitoring.

Lav øvelsen

Definér én SLI, én alarm, der kræver handling, tre tilladte telemetrifelter og to forbudte felter for lektionens fiktive eksport. Beskriv, hvordan du vil opdage en defekt telemetripipeline.

Download arbejdsark (Markdown)

Kontrollér din forståelse

Eksportens latenstid stiger. Udvalgte traces viser langsomme databasespans. Hvad kan du konkludere?

Kilder og videre læsning

Relateret læsning fra Taiga