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.
Udgivet af TaigaSå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ål | Eksempel på dokumentation | Begrænsning at huske |
|---|---|---|
| Hvor mange relevante eksporter fejler? | Antal fejl og antal relevante forespørgsler | En forkert nævner giver en misvisende andel |
| Hvad skete der med én eksport? | Struktureret log med job-ID, resultat og version | Manglende hændelser efterlader huller |
| Hvor blev tiden brugt? | Trace på tværs af API, kø, worker og database | Sampling og brudt kontekstoverførsel kan skjule arbejde |
| Hvad ændrede sig før symptomet? | Registreringer af udrulning og konfiguration | Tidsmæ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
Kilder og videre læsning
- OpenTelemetry: Observability primer ↗
- OpenTelemetry: Handling sensitive data ↗
- Google SRE: Alerting on SLOs ↗
- Taiga docs: Monitoring ↗
Relateret læsning fra Taiga
Fjerner du dette valg, slettes al fremgang gemt i denne browser.
Fremgangen bliver i denne browser. Ingen konto, ingen sporing.