Enhed 7 / 11

Incident Management og postmortem: Grundårsagsanalyse med kunstig intelligens

Gevinster:

  • Evne til at forstå livscyklussen af en hændelse (detektion, triage, afhjælpning, opløsning, postmortem), MTTD/MTTR-metrikker og princippet om 'afbød først, undersøg senere'
  • Evne til at bruge AI til at indsnævre hypoteser på tidspunktet for hændelsen og producere en ulastelig postmortem-skitse, der validerer hver grundlæggende årsag med data
  • Evne til at anvende disciplinen at skrive på et sprog, der ikke giver postmortem skylden og dele begivenhedsdata ved at maskere det.

Hvert system går i stykker til sidst. Forskellen er, hvordan gode teams forbereder sig til denne uundgåelige begivenhed, og hvordan de lærer. Hændelse er en uventet hændelse, der forstyrrer eller truer med at forstyrre tjenesten: et nedbrud i tjenesten, stigende svartider, tab af data. Hændelseshåndtering betyder at opdage, afbøde, løse hændelsen så hurtigt som muligt og derefter lære af den. Dette er den disciplin, der driver DevOps og SRE (Site Reliability Engineering) professionelle dag og nat.

To kritiske målinger måler hændelsens kvalitet: MTTD (Mean Time To Detect) og MTTR (Mean Time To Recover). Målet er at formindske begge dele. AI tilføjer to store værdier her: hurtig opsummering af logfiler og metrikker på tidspunktet for hændelsen for at indsnævre den mulige rodårsag og hurtigt udarbejdelse af en postmortem (efter hændelsesundersøgelsesrapport) efter hændelsen. Men beslutningerne om hændelsesforløbet - hvilken service der skal slås fra, rollback, hvad man skal sige til kunden - er dine.

En begivenheds livscyklus

  1. Registrering: Der lyder en alarm, eller der kommer en kundeklage. Jo før jo bedre.
  2. Triage: Hvor alvorligt er det? Hvad er domænet? Alvorlighedsniveauer er tildelt - normalt SEV1 (mest kritisk, hele systemet) til SEV4 (mindre).
  3. Sammensæt dit responsteam. I kritiske hændelser påtager en hændelsesleder koordinering.
  4. Afbød: Stop blødningen først - ofte en tilbagerulning eller dækning af et flag. Du finder årsagen senere.
  5. Løsning: Anvend permanent rettelse.
  6. Lær (postmortem): Hvad skete der, hvorfor skete det, hvordan forhindrer vi det i at ske igen?
Tip: En af de mest kostbare fejl på tidspunktet for hændelsen er at forsinke standsningen af ​​blødningen, fordi "lad os først komme til den nøjagtige årsag." Regel: først decrement (gendannelse/gendan service), så forespørg. At rulle tilbage til en kendt-god version er ofte den hurtigste afhjælpning.

Skyldfri postmortem kultur

Rygraden i sunde teams er en kultur med ulastelig postmortem: Målet er ikke "hvem gjorde det", men "hvilket system og proces tillod denne fejltagelse?" er spørgsmålet. Folk skjuler fejlen, hvis de ved, at de vil blive straffet; Den skjulte fejl gentages. Postmortem er ikke en anklagerapport, men et læringsdokument.

En god postmortem omfatter: resumé, effekt (hvor mange brugere, hvor længe, ​​hvor mange penge), tidslinje, grundlæggende årsag(er), hvad der gik godt/dårligt, og handlingspunkter – konkrete tiltag, hver med en ejer og en dato.

Forsigtig: Når du skriver postmortems med AI, skal du sørge for at eliminere anklagende sprogbrug (nemlig "person X lavede en fejl"). Masker også klient-id'er, interne IP'er og hemmeligheder, når hændelsesdata tilføres AI - postmortem deles ofte bredt.

Grundårsagsanalyse: 5 hvorfor og AI

En klassisk teknik er "5 hvorfor": spørg "hvorfor?" til et problem. Ved at spørge igen og igen kommer du fra det overfladiske symptom til den rigtige rod. "Tjenesten styrtede ned. Hvorfor? Mangler hukommelse. Hvorfor? Der var en lækage. Hvorfor? En biblioteksopdatering..." AI'en er hurtig til at bygge denne kæde og foreslå mulige filialer — men du skal verificere hvert "hvorfor" med dine data; AI kan også bygge en fornuftig, men forkert kæde.

Sværhedstabel

Niveau

Indvirkning

eksempel

intervention

SEV1

Hele systemet/kritisk forretningstab

Betalingen faldt helt

Øjeblikkeligt hele holdet, chefen

SEV2

Stor dysfunktion

Login mislykkedes

Hurtig, vagt + support

SEV3

Delvis/begrænset effekt

En rapport er forsinket

i arbejdstiden

SEV4

lille/kosmetisk

tastefejl

almindelig arbejdskø

tre minisager

Case 1 — MTTR fra 45 minutter til 8 minutter. Betalingstjenesten gik ned. Den vagthavende ingeniør gav de maskerede logfiler og de sidste deployeringsoplysninger til AI og spurgte "Hvad er den mest sandsynlige trigger i de sidste 20 minutter?" spurgte han. AI viste, at kollapset startede i samme minut som den sidste indsættelse. Ingeniøren rullede straks den version tilbage; Tjenesten vendte tilbage efter 8 minutter. Grundårsagen (en forbindelsespoolfejl i den nye version) blev derefter bekvemt undersøgt.

Case 2 - postmortem skitse på 20 minutter. Efter en SEV2 var holdet trætte og havde ikke kræfter til at skrive en rapport; ofte blev rapporten forsinket i uger. Denne gang gav de tidslinjen og hændelsesnoter til AI og producerede en kriminalitetsfri postmortem-skitse. AI skabte en pæn ramme for effekt, tidslinje og handlingspunkter; Holdet fyldte det med fakta og offentliggjorde det på 20 minutter. Lektionen var ikke tabt.

Tilfælde 3 — forkert grundårsag fanget. I et tilfælde sagde AI'en "root cause database overload", og det virkede rimeligt. Men ingeniøren bekræftede metrikken: Databasebelastningen var normal på tidspunktet for hændelsen. Den egentlige årsag var et eksternt DNS-problem. Den oprindelige hypotese om AI var flydende, men forkert; Validering med data forhindrede rapporten i at blive offentliggjort med en forkert konklusion.

Fire kopierbare skabeloner

1) Hurtig triage på tidspunktet for hændelsen:

Vi oplever en produktionsbegivenhed. Maskerede symptomer: [SYMPTOM].Sidste ændringer: [SIDSTE UDSÆTNING/ÆNDRING]. Giv mig:(1) de 3 mest sandsynlige grundårsagshypoteser i rækkefølge efter sandsynlighed,(2) kommandoen/metrikken, der vil verificere hver i løbet af 1 minut,(3) det hurtigste SAFE-afhjælpningstrin (f.eks. rollback). Strengt taget; Angiv, at jeg skal verificere hver hypotese.

2) Uskyldig postmortem skitse:

Skriv en ulastelig postmortem-skitse fra hændelsesnoterne nedenfor. Afsnit: Resumé, Påvirkning (bruger/varighed/omkostninger), Tidslinje, Grundårsag(er), Hvad gik godt, Hvad gik dårligt, Handlingspunkter (hver med ejer + datofelt). Fokus på navngivning, proces og system. Bemærkninger: [MASKED]

3) 5 hvorfor-analyse:

Byg en "5 hvorfor"-kæde, startende med følgende symptom: [SYMPTOM]. Vis om der er mere end én mulig gren ved hvert trin. Ud for hvert "hvorfor" skriver du beviserne (log/metrik), som jeg vil se på for at bekræfte det. Til sidst skal du markere, hvilke trin der ikke er blevet bekræftet endnu.

4) Oprettelse af handlingsegnede elementer:

I henhold til denne grundlæggende årsag skal du foreslå handlinger, der kan forhindre den samme begivenhed i at gentage sig. Klassificer hvert punkt efter: (a) forebyggelse, påvisning eller reduktion, (b) estimeret indsats, (c) virkning. Sorter efter højeste effekt/indsats-forhold. Grundårsag: [X]

Svag prompt / Stærk prompt

Svag: "Tjenesten er gået ned, hvad skal jeg gøre?"

Resultat: ingen kontekst; AI kan komme med generelle anbefalinger, der ikke passer til dit tilfælde, og kan endda komme med en endelig årsag.

Stærk: "Produktionsbetalingstjenesten har givet 5xx i 5 minutter. Den sidste implementering var for 6 minutter siden. Angiv de 3 mest sandsynlige årsagshypoteser i rækkefølge efter sandsynlighed, fortæl kommandoen, der vil verificere hver af dem, og foreslå den hurtigste sikre afhjælpning. Vær ikke specifik, angiv, at jeg skal verificere."

Forskel: den anden prompt giver symptom, timing og sidste ændring; det kræver hypotese + verifikation + reduktion og holder AI upræcist.

Almindelige fejl

  • Leder efter den nøjagtige rodårsag før afhjælpning. Det forsinker stop af blødning og øger MTTR.
  • Udgivelse af den første hypotese om AI uden at verificere den. Flydende, men falske årsager lækker ind i rapporten.
  • Anklagende sprog. Postmortem skrevet anonymt fremmer fortielse og gentagelsesfejl.
  • Handlingsorienteret rapport uden punktopstillinger. Et forslag uden ejer og dato vil aldrig blive gennemført.
  • Deling af hændelsesdata uden at maskere dem. Postmortem går til et bredt publikum; hemmelige/personlige data er lækket.
  • Ikke at forberede tilbagerulningsstien på forhånd. Hvis vending ikke er praktisk, bremses reduktionen.

Sammenfattende

Hændelseshåndtering handler om hurtigt at opdage, afbøde, løse og lære af uundgåelige hændelser; MTTD og MTTR er nøglemålinger. Den gyldne regel er "afbødning først, undersøg senere", og at vende tilbage til den kendte version er ofte den hurtigste afhjælpning. AI er uvurderlig til at opsummere logs på tidspunktet for hændelsen, indsnævre hypoteser og producere ulastelige postmortem-skitser efter hændelsen - men det er dit ansvar at validere hver grundårsagshypotese med data, rense sproget for skylden og maskere hændelsesdata.

Ansøgningsopgave

Overvej en tidligere (eller fiktiv) begivenhed. (1) Få AI til at generere hypoteser og verifikationstrin med skabelonen "hurtig triage på stedet"; Bemærk hvilken hypotese der kan bekræftes af dataene. (2) Tegn en rapport ved hjælp af skabelonen "ikke skyldig postmortem"-skabelonen og fyld den med fakta. (3) Identificer mindst to handlinger, og tildel en ejer og en dato til hver.

tjekliste

  • [ ] På tidspunktet for hændelsen tænkte jeg først på at afbøde (tilbageføring/nedlukning) og lod hovedårsagen ligge til senere.
  • [ ] Jeg verificerede alle grundårsagshypoteser for AI med log/metrik.
  • [ ] Jeg skrev det i et sprog, der ikke giver postmortem skylden, med fokus på processen og systemet.
  • [ ] Jeg tildelte hvert handlingsobjekt en ejer og en dato.
  • [ ] Jeg maskerede de hemmelige og personlige oplysninger fra de begivenhedsdata, jeg gav til AI.
  • [ ] Jeg tildelte sværhedsgraden korrekt i henhold til påvirkningen.