Jedinica 3 / 11

Analiza dnevnika i analiza korijenskog uzroka: Pronalaženje signala u šumu

Dobici:

  • Brzo pronađite signal u šumu koristeći AI za sumiranje, grupiranje i evidenciju vremenske linije
  • Sposobnost odvajanja korelacije i uzročnosti i tretiranja sugestija osnovnog uzroka umjetne inteligencije kao hipoteza koje treba provjeriti
  • Sposobnost da se dođe do pravog uzroka korištenjem metode '5 Zašto' s umjetnom inteligencijom i podržavajući svaki korak stvarnim dokazima

Analiza dnevnika i analiza korijenskog uzroka: Pronalaženje signala u šumu pomoću AI

Kada se sistem sruši, prvo mjesto na koje gledate su zapisnici. Dnevnik je tekstualni tok koji vodi vremenski označenu evidenciju "šta sam uradio, šta se dogodilo, šta se pokvarilo" sistema ili aplikacije. Ali moderna infrastruktura proizvodi milione redova trupaca na sat; nije more informacija, već često okean buke. Analiza dnevnika je umjetnost pronalaženja važnog signala (greška, abnormalnost, obrazac) u ovoj buci. Proces odgovora na pitanje "šta je bio pravi uzrok" nakon događaja naziva se analiza korijenskog uzroka (RCA - Root Cause Analysis). Ovdje je AI vrlo moćna u sažimanju hiljada redova u sekundi, izdvajanju obrazaca, uspostavljanju vremenskih linija i nabrajanju mogućih uzroka. Ali riječ opreza: AI generiše moguće uzroke; Vi ste taj koji u sistemu provjerava ko je pravi i donosi odluku.

U ovoj jedinici naučit ćete kako pouzdano sumirati zapise pomoću AI, kako uspostaviti vremensku liniju događaja, kako razlikovati korelaciju (zajednička promjena) i uzročnost (jedno uzrokuje drugo) i kako pokrenuti RCA metodu kao što je "5 Zašto" s AI.

Zašto korelacija nije uzročna veza?

Ovo je najkritičniji koncept ove jedinice. Samo zato što se dva događaja dešavaju u isto vrijeme, jedan ne uzrokuje drugi. CPU servera i mrežni promet mogu se povećati u isto vrijeme; ali jedno nije rezultat drugog, oba mogu biti rezultat trećeg događaja (na primjer, početak skupnog posla). Kada AI vidi da se metrike mijenjaju zajedno, pretpostavlja da je „vjerovatno X uzrokovao Y“. Ovo je početna tačka, a ne zaključak. Da biste potvrdili uzročnost, trebate ili izolirati varijablu (okidati X u testnom okruženju i vidjeti da li se Y događa) ili dokazati mehanizam (pokazati tehnička sredstva pomoću kojih X proizvodi Y).

Oprez: Uzmite rečenicu AI "ovo je vjerovatno uzrokovalo ovo" kao hipotezu, a ne nalaz. U RCA, neispravan osnovni uzrok dovodi do pogrešne korekcije i ponavljanja događaja. Pronašli ste prvog osumnjičenog, a ne uzrok; Posao počinje tamo.

Korak po korak: Analiza dnevnika sa AI

  1. Suzite obim. Navedite prozor događaja, a ne cijeli dnevnik: "događaj je počeo u 14:05, kritično od 14:00–14:20". Recite AI o relevantnom terminu i usluzi.
  2. Maska. Dnevnici sadrže internu IP adresu, ime hosta, korisnika i token. Maskirajte ih (10.x.x.x, host-A, user1, REDACTED), a zatim izvezite.
  3. Zahtjev za sažetak i grupiranje. "Grupirajte ovaj dnevnik prema ozbiljnosti, brojite ponavljajuće greške, pronađite vremensku oznaku prve greške." Zatražite strukturu, a ne sirovi dnevnik.
  4. Postavite vremensku liniju. "Poređajte ove događaje vremenskim redosljedom i pokažite šta slijedi." Pronalaženje prve domine je put do temeljnog uzroka.
  5. Tražite hipotezu, a ne dokaze. “Navedite moguće osnovne uzroke po redosljedu vjerovatnoće i dajte mi naredbu za verifikaciju za pokretanje na sistemu za svaki.” Tražite dijagnozu, a ne rezultat.
  6. Potvrdite u sistemu. Testirajte svaku hipotezu pomoću dijagnostičkih naredbi samo za čitanje (log grep, statusni upit, metrika). Eliminišite sve dok ne postoji samo jedan potvrđeni osnovni uzrok.

5 Zašto metod

RCA-ov klasični i moćni alat je "5 Zašto": počevši od jednog simptoma i pitati "zašto?" pet puta. Ako pitate, dolazite do temeljnog uzroka ispod površinskog simptoma. Primjer: "Stranica se srušila. Zašto? Aplikacija je umrla jer joj je ponestalo memorije. Zašto? Upit je potrošio svu memoriju. Zašto? Upit nije koristio indeks. Zašto? Indeks je obrisan u posljednjem izdanju. Zašto? Ovo nije primijećeno u pregledu promjena." Osnovni uzrok nije površinska "stranica se srušila" već "slab proces pregleda promjena". AI bi bio dobar partner u izgradnji ovog lanca – ali svaki korak „zašto“ morate potkrijepiti stvarnim dokazima, ili bi AI mogla smisliti uvjerljiv, ali lažan lanac.

tri mini kofera

Slučaj 1 — 40.000 redova, 3 minute. Administrator je počeo ručno da skenira 40.000 linija dnevnika aplikacija tokom prekida rada preko noći. Dao je relevantni 20-minutni dio maskiranog dnevnika AI i zatražio sažetak i grupiranje. AI je označio prvu grešku OutOfMemory u 02:14, odmah nakon povećanog vremenskog ograničenja grešaka. Inženjer je za 3 minuta primio satnicu; potvrdio originalnu dijagnozu na vlastitom metričkom panelu.

Slučaj 2 — Povratak iz pogrešnog uzroka. Tim je smatrao da je prva hipoteza AI-a („logovi su napunili disk“) tačna i obrisao je dnevnike. Ali incident se ponovio i sledećeg dana. U drugom krugu, disciplinovano su implementirali "5 Zašto": pravi razlog je bio što je greška u aplikaciji pisala stotine dumpova jezgra u sekundi. Prva hipoteza bila je korelacija; Pravi razlog je bio drugačiji. Prihvatanje bez verifikacije omogućilo je samo jednodnevnu odgodu.

Slučaj 3 — Vremenska linija je pronašla krivca. Bilo je evidencija desetina uređaja tokom povremenog prekida mreže. Inženjer je dao maskirane zapise AI-u i dao mu da napravi jedinstvenu vremensku liniju. Grafikon je pokazao da je svaki prekid počeo tačno 30 sekundi nakon poruke o zdravstvenoj provjeri redundancije prekidača. Ova korelacija je bila jak trag; Tim je potvrdio grešku firmvera ključa na uređaju i zamijenio ga.

Četiri šablona za kopiranje

1) Sažetak dnevnika i grupiranje:

Ispod je maskirani dnevnik za [uslugu] od 14:00-14:20. Recite mi: (1) grupišite i prebrojite linije prema ozbiljnosti (GREŠKA/UPOZORENJE/INFO), (2) navedite prvih 5 obrazaca grešaka koje se ponavljaju, (3) pronađite vremensku oznaku prve GREŠKE. Nemojte ponovo pisati neobrađeni dnevnik, samo dajte strukturirani sažetak. Dodavanje izmišljene linije.Log: [maskirani dnevnik]

2) Postavljanje vremenske linije:

Rasporedili smo sljedeće maskirane zapise događaja u jednu vremensku liniju (vremenska oznaka + izvor + događaj). Pokažite šta slijedi i označite događaj koji izgleda kao prvi okidač. Imajte na umu da je ovo HIPOTEZA i da treba provjeriti uzročnost. Snimci: [maskirani snimci]

3) 5 razloga RCA partner:

Vaša uloga: RCA fasilitator. Simptom: [simptom]. Učinite sa mnom "5 Zašto": "Zašto?" na svakom koraku. Pitajte, ja ću odgovoriti dokazima koje imam, vi postavite sledeće pitanje. Ako su moji dokazi slabi, upozorite me i recite mi koje podatke trebam prikupiti. Ne proglašavajte osnovni uzrok bez dokaza.

4) Hipoteza + komanda za provjeru:

Navedite moguće uzroke za ovaj simptom [simptom] po redosljedu vjerovatnoće. Za svaki razlog: (a) na šta sumnjate, (b) dajte mi komandu za verifikaciju SAMO ČITANJE za pokretanje na mom sistemu (bez brisanja/promjene). Objasnite koji ishod potvrđuje ili opovrgava hipotezu.

Slaba prompt / Jaka prompt

Slab upit:

Šta nije u redu sa ovim dnevnikom? [10.000 redova neobrađenog dnevnika]

Ovo podstiče i otkrivanje osjetljivih podataka bez maske i ostavlja AI bez konteksta. AI može naletjeti na nasumični red i dati površan ili čak izmišljen razlog.

Snažan upit:

Vaša uloga: viši SRE. Događaj: platni servis je dao 50% greške između 02:10-02:25. Ispod je maskirani dnevnik tog prozora. Dajte mi (1) sažetak grupiran po ozbiljnosti, (2) vremensku oznaku prve greške, (3) moguće uzroke po vjerovatnoći i naredbu za verifikaciju samo za čitanje za svaku. Označite tvrdnje o uzročnosti kao hipoteze. Dnevnik: [maskirani dnevnik]

korak

Svrha

Uloga AI

muška uloga

Sažetak/grupiranje

smanjiti buku

Konfigurisanje hiljada redova

Odredite opseg i masku

vremenska linija

Pronalaženje prve domine

sortiranje događaja

Potvrdite pečate

generisanje hipoteza

razvrstavanje osumnjičenih

navesti mogućnosti

filtrirati po kontekstu

verifikacija

pronađite pravi razlog

Predložite dijagnostičku naredbu

Pokrenite naredbu i komentirajte je

odluka

Odabir popravke

ponude opcije

Donesite odluku i potvrdite

Uobičajene greške

  • Pogrešna korelacija za uzročnost. Prihvatanje dvije metrike koje se mijenjaju zajedno kao "jedan uzrok drugog" proizvodi lažnu korekciju.
  • Lijepljenje neobrađenog dnevnika bez maske. Davanje dnevnika koji sadrži IP, token i korisnika otvorenom alatu predstavlja kršenje sigurnosti.
  • Proglašavanje prve hipoteze kao temeljnog uzroka. Prihvatanje prve sugestije AI bez verifikacije je poziv za ponavljanje događaja.
  • Izvoz cijelog dnevnika. Ogroman dnevnik bez konteksta uključuje AI u nasumični red; Sažimanje u prozor događaja.
  • 5 razloga bez dokaza. Ako ne napravite sigurnosnu kopiju svakog koraka "zašto" stvarnim podacima, na kraju ćete dobiti uvjerljiv, ali izmišljen lanac.
Savjet: Prije nego što prekinete RCA, pitajte "ako je ovaj osnovni uzrok zaista otklonjen, neće li se ponoviti?" Postavite pitanje. Ako je odgovor "možda", još niste došli do temeljnog uzroka; Pitajte drugo "zašto".

Ukratko

Analiza dnevnika se odnosi na pronalaženje signala u okeanu buke; AI sažima i strukturira ovaj okean u sekundi, uspostavlja vremensku liniju i generiše hipoteze. Ali korelacija nije uzročna veza: uzrok koji sugerira AI je početna sumnja, a ne nalaz dok se ne potvrdi. Sažmite dnevnik u prozor događaja, maskirajte ga, zatražite strukturu, kopajte duboko sa “5 Zašto” i testirajte svaku hipotezu na sistemu komandama samo za čitanje. Vi ste taj koji pronalazi osnovni uzrok i potvrđuje rješenje; AI je vaš pratilac.

Zadatak aplikacije

Uzmite zapise prošlog događaja (ili testnog događaja), sažmite ih u prozor događaja i maskirajte sve osjetljive oblasti. Zatražite sažetak i raspored od AI sa gornjim predlošcima „Sažetak dnevnika“ i „Vremenska linija“. Zatim prijeđite sa simptoma na osnovni uzrok pomoću šablona „5 razloga RCA partnera“; Napišite svoj vlastiti dokaz za svaki korak. Konačno, testirajte početnu hipotezu AI naredbom za verifikaciju i zabilježite da li je potvrđena ili opovrgnuta. Sumirajte proces u 6 stavki.

kontrolna lista

  • [ ] Jesam li skupio dnevnik u prozor događaja i maskirao osjetljiva područja?
  • [ ] Jesam li tražio od AI strukturirani sažetak i vremenski okvir, a ne sirovi dnevnik?
  • [ ] Jesam li označio tvrdnje AI o uzročnosti kao hipoteze?
  • [ ] Da li sam testirao svaku hipotezu na sistemu naredbom za verifikaciju samo za čitanje?
  • [ ] Da li sam potkrijepio svaki korak od “5 zašto” stvarnim dokazima?
  • [ ] Jesam li se pitao i donio odluku da li bi osnovni uzrok zapravo spriječio događaj?