Dobički:
- Hitro poiščite signal v šumu z uporabo AI za povzemanje, združevanje in dnevnike časovne osi
- Sposobnost ločevanja korelacije in vzročnosti ter obravnavanja predlogov temeljnih vzrokov umetne inteligence kot hipotez, ki jih je treba preveriti
- Sposobnost priti do resničnega temeljnega vzroka z uporabo metode '5 zakaj' z umetno inteligenco in podpiranjem vsakega koraka z resničnimi dokazi
Analiza dnevnika in analiza temeljnega vzroka: Iskanje signala v šumu z AI
Ko se sistem zruši, najprej pogledate dnevnike. Dnevnik je besedilni tok, ki vodi zapis s časovnim žigom o tem, "kaj sem naredil, kaj se je zgodilo, kaj se je pokvarilo" v sistemu ali aplikaciji. Toda sodobna infrastruktura proizvede na milijone vrstic dnevnikov na uro; ni morje informacij, ampak pogosto ocean hrupa. Analiza dnevnika je umetnost iskanja pomembnega signala (napaka, nenormalnost, vzorec) v tem šumu. Postopek odgovora na vprašanje »kaj je bil pravi vzrok« po dogodku se imenuje analiza korenskega vzroka (RCA – Root Cause Analysis). Tu je umetna inteligenca zelo močna pri povzemanju na tisoče vrstic na sekundo, ekstrahiranju vzorcev, določanju časovnih premic in naštevanju možnih vzrokov. Toda opozorilo: AI ustvarja možne vzroke; Vi ste tisti, ki v sistemu preverite, katera je prava in se odločite.
V tej enoti se boste naučili, kako samozavestno povzemati dnevnike z AI, kako vzpostaviti časovnico dogodka, kako razlikovati med korelacijo (spreminjanje skupaj) in vzročno zvezo (eno povzroča drugo) in kako zagnati metodo RCA, kot je "5 zakaj" z AI.
Zakaj korelacija ni vzročna zveza?
To je najbolj kritičen koncept te enote. Samo zato, ker se zgodita dva dogodka hkrati, eden ne povzroči drugega. CPE strežnika in omrežni promet se lahko povečata hkrati; vendar eden ni rezultat drugega, oba sta lahko rezultat tretjega dogodka (na primer začetek paketnega opravila). Ko AI vidi, da se meritve spreminjajo skupaj, domneva, da je "verjetno X povzročil Y." To je izhodišče, ne zaključek. Če želite preveriti vzročnost, morate bodisi izolirati spremenljivko (sprožiti X v testnem okolju in preveriti, ali se Y zgodi) ali dokazati mehanizem (pokazati tehnična sredstva, s katerimi X proizvede Y).
Pozor: stavek AI "to je verjetno povzročilo" jemljite kot hipotezo, ne kot ugotovitev. Pri RCA vodi napačen osnovni vzrok do nepravilnega popravka in ponovitve dogodka. Našli ste prvega osumljenca, ne vzroka; Delo se začne tam.
Korak za korakom: Analiza dnevnika z AI
- Zožite obseg. Podajte okno dogodka, ne celotnega dnevnika: "dogodek se je začel ob 14:05, kritično od 14:00 do 14:20". Povejte AI ustrezen časovni interval in storitev.
- Maska. Dnevniki vsebujejo notranji IP, ime gostitelja, uporabnika in žeton. Zakrijte jih (10.x.x.x, gostitelj-A, uporabnik1, REDIKTIRano) in nato izvozite.
- Zahtevajte povzetek in združevanje. "Združite ta dnevnik po resnosti, preštejte ponavljajoče se napake, poiščite časovni žig prve napake." Vprašajte za strukturo, ne za surov dnevnik.
- Nastavite časovnico. "Razvrsti te dogodke po časovnem vrstnem redu in pokaži, kaj čemu sledi." Iskanje prve domine je pot do temeljnega vzroka.
- Zahtevajte hipotezo, ne dokaze. »Navedite možne temeljne vzroke po vrstnem redu verjetnosti in mi dajte ukaz za preverjanje, ki naj se zažene v sistemu za vsakega.« Vprašajte za diagnozo, ne za rezultat.
- Preverite v sistemu. Preizkusite vsako hipotezo z diagnostičnimi ukazi samo za branje (log grep, status query, metric). Odpravljajte, dokler ne obstaja le en potrjen glavni vzrok.
5 Zakaj metoda
Klasično in močno orodje RCA je "5 zakaj": začeti z enim simptomom in vprašati "zakaj?" petkrat. Z vprašanjem pridete do temeljnega vzroka pod površnimi simptomi. Primer: "Spletno mesto se je zrušilo. Zakaj? Aplikacija je umrla, ker ji je zmanjkalo pomnilnika. Zakaj? Poizvedba je porabila ves pomnilnik. Zakaj? Poizvedba ni uporabila indeksa. Zakaj? Indeks je bil izbrisan v zadnji izdaji. Zakaj? To ni bilo opaziti pri pregledu sprememb." Temeljni vzrok ni površinsko "zrušitev spletnega mesta", ampak "šibek postopek pregleda sprememb". Umetna inteligenca bi bila dober partner pri gradnji te verige – vendar morate vsak korak »zakaj« podpreti z resničnimi dokazi, sicer bi lahko umetna inteligenca ustvarila verodostojno, a lažno verigo.
trije mini kovčki
Primer 1 — 40.000 vrstic, 3 minute. Skrbnik je med nočnim izpadom začel ročno pregledovati 40.000 vrstic dnevnikov aplikacij. AI je dal ustrezni 20-minutni del maskiranega dnevnika in prosil za povzetek in grupiranje. AI je prvo napako OutOfMemory označil ob 02:14, takoj po napakah s podaljšano časovno omejitvijo. Inženir je prejel časovnico v 3 minutah; potrdil prvotno diagnozo na lastni metrični plošči.
2. primer – Vrnitev zaradi napačnega temeljnega vzroka. Ekipa je menila, da je bila prva hipoteza AI ("dnevniki so napolnili disk") pravilna in je dnevnike počistila. Toda naslednji dan se je dogodek ponovil. V drugem krogu so disciplinirano uvedli "5 zakaj": pravi razlog je bil, da je napaka v aplikaciji zapisovala na stotine jedrnih izpisov na sekundo. Prva hipoteza je bila korelacija; Pravi razlog je bil drugačen. Sprejem brez preverjanja je zagotovil le enodnevni odlog.
Primer 3 – Časovnica je našla krivca. Med občasnim izpadom omrežja so bili dnevniki več deset naprav. Inženir je zamaskirane dnevnike dal AI in naročil, da ustvari enotno časovnico. Grafikon je pokazal, da se je vsak izpad začel točno 30 sekund po sporočilu o preverjanju stanja redundantnega stikala. Ta korelacija je bila močan namig; Ekipa je preverila napako vdelane programske opreme ključa na napravi in jo zamenjala.
Štiri predloge za kopiranje
1) Povzetek dnevnika in združevanje:
Spodaj je maskiran dnevnik za [storitev] od 14:00 do 14:20. Povej mi: (1) združi in preštej vrstice glede na resnost (NAPAKA/OPOZORILO/INFO), (2) naštej 5 najpogostejših ponavljajočih se vzorcev napak, (3) poišči časovni žig prve NAPAKE. Ne prepisujte neobdelanega dnevnika, podajte samo strukturiran povzetek. Dodajanje izmišljene vrstice. Dnevnik: [maskiran dnevnik]
2) Nastavitev časovnice:
Naslednje maskirane zapise dogodkov smo uredili v eno samo časovnico (časovni žig + vir + dogodek). Pokažite, kaj sledi čemu in označite dogodek, ki se zdi prvi sprožilec. Upoštevajte, da je to HIPOTEZA in vzročnost je treba preveriti. Posnetki: [zamaskirani posnetki]
3) 5 razlogov partner RCA:
Vaša vloga: moderator RCA. Simptom: [simptom]. Naredite "5 zakaj" z mano: "zakaj?" na vsakem koraku. Vprašajte, odgovoril bom z dokazi, ki jih imam, vi postavite naslednje vprašanje. Če so moji dokazi šibki, me opozorite in povejte, katere podatke moram zbrati. Ne razglašajte temeljnega vzroka brez dokazov.
4) Hipoteza + ukaz za preverjanje:
Navedite možne temeljne vzroke za ta simptom [simptom] po verjetnostnem vrstnem redu. Za vsak razlog: (a) kaj sumite, (b) dajte mi ukaz za preverjanje SAMO ZA BRANJE, ki naj se izvaja v mojem sistemu (brez brisanja/spreminjanja). Pojasnite, kateri rezultat potrdi ali ovrže hipotezo.
Šibek poziv/močan poziv
Šibek poziv:
Kaj je narobe s tem dnevnikom? [10.000 vrstic neobdelanega dnevnika]
Ta poziv odkrije občutljive podatke in pusti AI brez konteksta. AI se lahko spotakne ob naključni vrstici in navede površen ali celo izmišljen razlog.
Močan poziv:
Vaša vloga: višji SRE. Dogodek: plačilna storitev je dala 50% napako med 02:10-02:25. Spodaj je maskiran dnevnik tega okna. Daj mi (1) povzetek, razvrščen po resnosti, (2) časovni žig prve napake, (3) možne temeljne vzroke po vrstnem redu verjetnosti in ukaz za preverjanje samo za branje za vsakega. Trditve o vzročnosti označite kot hipoteze. Dnevnik: [maskiran dnevnik]
korak
Namen
Vloga AI
moška vloga
Povzetek/združevanje
zmanjšati hrup
Konfiguriranje na tisoče vrstic
Določite obseg in masko
časovnica
Iskanje prve domine
razvrščanje dogodkov
Potrdite žige
ustvarjanje hipotez
razvrščanje osumljencev
naštejte možnosti
filtrirajte po kontekstu
preverjanje
poiščite pravi razlog
Predlagajte diagnostični ukaz
Zaženite ukaz in ga komentirajte
odločitev
Izbira popravka
ponujajo možnosti
Odločite se in potrdite
Pogoste napake
- Napačna korelacija za vzročno zvezo. Sprejemanje dveh metrik, ki se spreminjata skupaj kot "ena je povzročila drugo", povzroči napačen popravek.
- Lepljenje neobdelanega dnevnika brez maske. Dajanje dnevnika, ki vsebuje IP, žeton in uporabnika, odprtemu orodju je kršitev varnosti.
- Razglasitev prve hipoteze za glavni vzrok. Če sprejmete prvi predlog AI, ne da bi ga preverili, je povabilo k ponovitvi dogodka.
- Izvoz celotnega dnevnika. Ogromen dnevnik brez konteksta vključi AI v naključno vrstico; Strni v okno dogodka.
- 5 razlogov brez dokazov. Če vsakega koraka »zakaj« ne podprete z resničnimi podatki, boste na koncu dobili verodostojno, a izmišljeno verigo.
Namig: preden končate RCA, vprašajte "če je ta osnovni vzrok dejansko odpravljen, se ne bo ponovil?" Postavite vprašanje. Če je odgovor "morda," še niste prišli do temeljnega vzroka; Vprašajte še "zakaj".
Če povzamem
Pri analizi dnevnika gre za iskanje signala v oceanu šuma; AI povzame in strukturira ta ocean v nekaj sekundah, vzpostavi časovnico in ustvari hipoteze. Vendar korelacija ni vzročna zveza: vzrok, ki ga predlaga umetna inteligenca, je začetni sum in ne ugotovitev, dokler ni potrjena. Strnite dnevnik v okno dogodka, ga maskirajte, vprašajte za strukturo, poglobite se s »5 zakaj« in preizkusite vsako hipotezo v sistemu z ukazi samo za branje. Vi ste tisti, ki najdete osnovni vzrok in potrdite rešitev; AI je vaš spremljevalec.
Aplikacijska naloga
Vzemite dnevnike preteklega dogodka (ali testnega dogodka), ga strnite v okno dogodka in maskirajte vsa občutljiva področja. Zahtevajte povzetek in razpored od AI z zgornjima predlogama »Povzetek dnevnika« in »Časovna premica«. Nato se premaknite od simptoma k temeljnemu vzroku s predlogo »5 razlogov RCA partner«; Za vsak korak napišite svoje dokaze. Nazadnje preizkusite prvotno hipotezo AI z ukazom za preverjanje in zabeležite, ali je potrjena ali ovržena. Povzemite postopek v 6 točkah.
kontrolni seznam
- [ ] Ali sem strnil dnevnik v okno dogodkov in zakril občutljiva področja?
- [ ] Ali sem od umetne inteligence zahteval strukturiran povzetek in časovnico, ne neobdelanega dnevnika?
- [ ] Ali sem trditve AI o vzročnosti označil kot hipoteze?
- [ ] Ali sem preizkusil vsako hipotezo v sistemu z ukazom za preverjanje samo za branje?
- [ ] Ali sem vsak korak "5 zakaj" podprl z resničnimi dokazi?
- [ ] Ali sem podvomil in sprejel odločitev, ali bi osnovni vzrok dejansko preprečil dogodek?