Jednotka 3 / 11

Log Analysis a Root Cause Analysis: Hľadanie signálu v šume

zisky:

  • Rýchlo nájdite signál v šume pomocou AI na zhrnutie, zoskupenie a časovú os protokolov
  • Schopnosť oddeliť koreláciu a kauzalitu a zaobchádzať s návrhmi hlavnej príčiny umelej inteligencie ako s hypotézami, ktoré je potrebné overiť
  • Schopnosť dostať sa k skutočnej základnej príčine používaním metódy „5 Prečo“ s umelou inteligenciou a podporením každého kroku skutočnými dôkazmi

Analýza protokolu a analýza hlavných príčin: Hľadanie signálu v šume pomocou AI

Keď systém zlyhá, prvé miesto, kam sa pozriete, sú protokoly. Protokol je textový tok, ktorý uchováva záznam o systéme alebo aplikácii s časovou pečiatkou „čo som urobil, čo sa stalo, čo sa pokazilo“. Moderná infraštruktúra však produkuje milióny riadkov protokolov za hodinu; nie je to more informácií, ale často oceán hluku. Log analýza je umenie nájsť dôležitý signál (chyba, abnormalita, vzor) v tomto šume. Proces odpovede na otázku „aká bola skutočná príčina“ po udalosti sa nazýva analýza koreňovej príčiny (RCA – Root Cause Analysis). Tu je AI veľmi výkonná pri sumarizácii tisícok riadkov za sekundu, extrahovaní vzorov, stanovení časových plánov a vymenúvaní možných príčin. Ale pozor: AI vytvára možné príčiny; Vy ste ten, kto si v systéme overí, ktorý je skutočný a urobí rozhodnutie.

V tejto lekcii sa naučíte, ako s istotou zhrnúť protokoly pomocou AI, ako vytvoriť časovú os udalosti, ako rozlíšiť medzi koreláciou (spolu sa meniacou) a príčinnou súvislosťou (jedna spôsobuje druhú) a ako spustiť metódu RCA, ako je napríklad „5 Whys“ s AI.

Prečo korelácia nie je príčinná súvislosť?

Toto je najkritickejší koncept tejto jednotky. Len preto, že sa dve udalosti vyskytujú súčasne, jedna nespôsobuje druhú. CPU servera a sieťová prevádzka sa môžu zvýšiť súčasne; ale jedna nie je výsledkom druhej, obe môžu byť výsledkom tretej udalosti (napríklad spustenie dávkovej úlohy). Keď AI vidí, že sa metriky menia spoločne, predpokladá, že „X pravdepodobne spôsobilo Y“. Toto je východiskový bod, nie záver. Ak chcete overiť kauzalitu, musíte buď izolovať premennú (spustiť X v testovacom prostredí a zistiť, či nastane Y), alebo dokázať mechanizmus (ukázať technické prostriedky, pomocou ktorých X vytvára Y).

Pozor: Vetu AI „toto to pravdepodobne spôsobilo“ berte ako hypotézu, nie zistenie. Pri RCA vedie nesprávna hlavná príčina k nesprávnej korekcii a opakovaniu udalosti. Našli ste prvého podozrivého, nie príčinu; Práca začína tam.

Krok za krokom: Analýza protokolov pomocou AI

  1. Zúžiť rozsah. Uveďte okno udalosti, nie celý protokol: „udalosť začala o 14:05, kritická od 14:00 do 14:20“. Povedzte AI príslušný časový úsek a službu.
  2. Maska. Protokoly obsahujú internú IP, názov hostiteľa, používateľa a token. Zamaskujte ich (10.x.x.x, host-A, user1, REDACTED) a potom exportujte.
  3. Zhrnutie a zoskupenie žiadostí. "Zoskupte tento protokol podľa závažnosti, spočítajte opakujúce sa chyby, nájdite časovú pečiatku prvej chyby." Pýtajte sa na štruktúru, nie na surové poleno.
  4. Nastavte si časovú os. "Usporiadajte tieto udalosti v časovom poradí a ukážte, čo nasleduje po čom." Nájdenie prvého domina je cesta k hlavnej príčine.
  5. Pýtajte sa na hypotézy, nie na dôkazy. "Uveďte možné hlavné príčiny v poradí pravdepodobnosti a dajte mi overovací príkaz, ktorý sa má spustiť v systéme pre každú z nich." Pýtajte sa na diagnózu, nie na výsledok.
  6. Overte v systéme. Otestujte každú hypotézu pomocou diagnostických príkazov iba na čítanie (log grep, stavový dotaz, metrika). Odstraňujte, kým nebude potvrdená iba jedna hlavná príčina.

5 Prečo metóda

Klasickým a výkonným nástrojom RCA je „5 Whys“: počnúc jedným príznakom a otázkou „prečo?“ päťkrát. Opýtaním sa dostanete ku základnej príčine pod povrchovým príznakom. Príklad: "Stránka zlyhala. Prečo? Aplikácia zomrela, pretože sa jej minula pamäť. Prečo? Dopyt spotreboval všetku pamäť. Prečo? Dopyt nepoužil index. Prečo? Index bol v poslednom vydaní odstránený. Prečo? Pri kontrole zmien sa to nezaznamenalo." Hlavnou príčinou nie je povrchové „zrútenie stránky“, ale „proces kontroly slabých zmien“. Umelá inteligencia by bola dobrým partnerom pri budovaní tohto reťazca – ale každý krok „prečo“ musíte podložiť skutočnými dôkazmi, inak by AI mohla prísť s hodnoverným, ale falošným reťazcom.

tri mini prípady

Prípad 1 – 40 000 riadkov, 3 minúty. Správca začal manuálne skenovať 40 000 riadkov denníkov aplikácií počas nočného výpadku. Príslušnú 20-minútovú časť maskovaného denníka odovzdal AI a požiadal o zhrnutie a zoskupenie. AI nahlásila prvú chybu OutOfMemory o 02:14, hneď po chybách so zvýšeným časovým limitom. Inžinier dostal časový výkaz za 3 minúty; potvrdil pôvodnú diagnózu na vlastnom metrickom paneli.

Prípad 2 – Návrat z nesprávnej základnej príčiny. Tím sa domnieval, že prvá hypotéza AI („záznamy zaplnili disk“) bola správna, a denníky vymazal. Na druhý deň sa však incident zopakoval. V druhom kole implementovali „5 Whys“ s disciplínou: skutočným dôvodom bolo, že chyba aplikácie zapisovala stovky výpisov jadra za sekundu. Prvou hypotézou bola korelácia; Skutočný dôvod bol iný. Prijatie bez overenia poskytlo iba jednodňový odklad.

Prípad 3 – Časová os našla vinníka. Počas občasného výpadku siete boli záznamy o desiatkach zariadení. Inžinier odovzdal maskované protokoly AI a nechal ju vytvoriť jednotnú časovú os. Graf ukázal, že každý výpadok začal presne 30 sekúnd po správe o kontrole stavu prepínača redundancie. Táto korelácia bola silným vodítkom; Tím overil chybu firmvéru kľúča na zariadení a vymenil ho.

Štyri kopírovateľné šablóny

1) Zhrnutie denníka a zoskupenie:

Nižšie je maskovaný denník pre [servis] od 14:00 do 14:20. Povedzte mi: (1) zoskupte a spočítajte riadky podľa závažnosti (CHYBA/UPOZORNENIE/INFO), (2) uveďte zoznam 5 najčastejšie sa opakujúcich chýb, (3) nájdite časovú pečiatku prvej CHYBY. Neprepisujte surový denník, len poskytnite štruktúrované zhrnutie. Pridanie vytvoreného riadku. Protokol: [zamaskovaný protokol]

2) Nastavenie časovej osi:

Nasledujúce maskované záznamy udalostí sme usporiadali do jednej časovej osi (časová pečiatka + zdroj + udalosť). Ukážte, čo nasleduje po čom, a označte udalosť, ktorá sa zdá byť prvým spúšťačom. Upozorňujeme, že ide o HYPOTÉZU a kauzalitu je potrebné overiť. Nahrávky: [maskované nahrávky]

3) 5 dôvodov, prečo partner RCA:

Vaša úloha: RCA facilitátor. Symptóm: [príznak]. Urobte si so mnou „5 Prečo“: „Prečo?“ pri každom kroku. Pýtajte sa, ja odpoviem dôkazmi, ktoré mám, vy položíte ďalšiu otázku. Ak sú moje dôkazy slabé, upozornite ma a povedzte mi, aké údaje potrebujem zbierať. Nevyhlasujte hlavnú príčinu bez dôkazov.

4) Hypotéza + príkaz na overenie:

Uveďte možné hlavné príčiny tohto symptómu [symptóm] v poradí pravdepodobnosti. Pre každý dôvod: (a) aké máte podozrenie, (b) dajte mi overovací príkaz LEN NA ČÍTANIE, ktorý sa má spustiť v mojom systéme (žiadne mazanie/zmena). Vysvetlite, ktorý výsledok potvrdzuje alebo vyvracia hypotézu.

Slabá výzva / Silná výzva

Slabá výzva:

Čo je zlé na tomto denníku? [10 000 riadkov surového denníka]

Touto výzvou dôjde k úniku citlivých údajov bez maskovania a AI zostane bez kontextu. AI môže naraziť na náhodnú líniu a uviesť povrchný alebo dokonca vymyslený dôvod.

Výkonná výzva:

Vaša úloha: senior SRE. Udalosť: platobná služba medzi 02:10-02:25 vykázala 50 % chybu. Nižšie je maskovaný protokol tohto okna. Dajte mi (1) súhrn zoskupený podľa závažnosti, (2) časovú pečiatku prvej chyby, (3) možné hlavné príčiny v poradí pravdepodobnosti a pre každú z nich overovací príkaz len na čítanie. Označte tvrdenia kauzality ako hypotézy. Denník: [maskovaný denník]

krok

Účel

Úloha AI

mužská rola

Zhrnutie/zoskupenie

znížiť hluk

Konfigurácia tisícov riadkov

Určite rozsah a masku

časovej osi

Nájdenie prvého domino

triedenie udalostí

Overiť pečiatky

generovanie hypotéz

triedenie podozrivých

vymenovať možnosti

filtrovať podľa kontextu

overenie

nájsť skutočný dôvod

Navrhnite diagnostický príkaz

Spustite príkaz a okomentujte ho

rozhodnutie

Výber opravy

ponúkať možnosti

Urobte rozhodnutie a potvrďte

Časté chyby

  • Nesprávna korelácia s príčinnou súvislosťou. Akceptovanie dvoch metrík, ktoré sa menia spoločne, pretože „jedna spôsobila druhú“, vedie k nesprávnej korekcii.
  • Prilepenie surového polena bez masky. Poskytnutie protokolu obsahujúceho IP, token a používateľa otvorenému nástroju je porušením bezpečnosti.
  • Vyhlásenie prvej hypotézy za hlavnú príčinu. Prijatie prvého návrhu AI bez jeho overenia je pozvánkou na opakovanie udalosti.
  • Export celého denníka. Obrovský denník bez kontextu pripája AI do náhodného riadku; Zbaliť do okna udalosti.
  • 5 dôvodov bez dôkazov. Ak každý krok „prečo“ nezálohujete skutočnými údajmi, skončíte s hodnoverným, ale vymysleným reťazcom.
Tip: Pred ukončením RCA sa opýtajte „ak je táto hlavná príčina skutočne opravená, nestane sa to znova?“ Položte otázku. Ak je odpoveď „možno“, ešte ste sa nedostali k hlavnej príčine; Opýtajte sa iného „prečo“.

V súhrne

Log analýza je o nájdení signálu v oceáne hluku; AI sumarizuje a štruktúruje tento oceán v priebehu niekoľkých sekúnd, vytvára časovú os a vytvára hypotézy. Ale korelácia nie je príčinná súvislosť: príčina navrhnutá AI je počiatočné podozrenie, nie nález, kým sa nepotvrdí. Zbaľte protokol do okna udalosti, zamaskujte ho, požiadajte o štruktúru, ponorte sa do hĺbky pomocou „5 Prečo“ a otestujte každú hypotézu v systéme pomocou príkazov iba na čítanie. Vy ste ten, kto nájde hlavnú príčinu a potvrdí nápravu; AI je váš spoločník.

Aplikačná úloha

Vezmite protokoly minulej udalosti (alebo testovacej udalosti), zbaľte ich do okna udalosti a zamaskujte všetky citlivé oblasti. Vyžiadajte si súhrn a plán od AI pomocou šablón „Súhrn denníka“ a „Časová os“ vyššie. Potom prejdite od symptómu k hlavnej príčine pomocou šablóny „5 Reasons RCA partner“; Napíšte svoj vlastný dôkaz pre každý krok. Nakoniec otestujte počiatočnú hypotézu AI pomocou overovacieho príkazu a zaznamenajte, či je potvrdená alebo vyvrátená. Zhrňte proces do 6 položiek.

kontrolný zoznam

  • [ ] Zbalil som denník do okna udalosti a zamaskoval som citlivé oblasti?
  • [ ] Požiadal som AI ​​o štruktúrované zhrnutie a časovú os, nie o nespracovaný denník?
  • [ ] Označil som tvrdenia AI o príčinnej súvislosti ako hypotézy?
  • [ ] Testoval som každú hypotézu v systéme pomocou overovacieho príkazu iba na čítanie?
  • [ ] Podložil som každý krok „5 dôvodov“ skutočnými dôkazmi?
  • [ ] Spýtal som sa a rozhodol som, či hlavná príčina skutočne zabráni udalosti?