Jednotka 3 / 11

Log Analysis a Root Cause Analysis: Hledání signálu v šumu

zisky:

  • Rychle vyhledejte signál v šumu pomocí umělé inteligence k shrnutí, seskupování a časové ose protokolů
  • Schopnost oddělit korelaci a kauzalitu a zacházet s návrhy základních příčin umělé inteligence jako s hypotézami, které je třeba ověřit
  • Schopnost dostat se ke skutečné hlavní příčině používáním metody „5 Proč“ s umělou inteligencí a podpořením každého kroku skutečnými důkazy

Log Analysis a Root Cause Analysis: Hledání signálu v šumu pomocí AI

Když se systém zhroutí, první místo, kam se podíváte, jsou protokoly. Protokol je textový proud, který uchovává časový záznam o tom, „co jsem udělal, co se stalo, co se pokazilo“ systému nebo aplikace. Ale moderní infrastruktura produkuje miliony řádků protokolů za hodinu; není to moře informací, ale často oceán hluku. Log analýza je umění najít důležitý signál (chybu, abnormalitu, vzor) v tomto šumu. Proces odpovědi na otázku „jaká byla skutečná příčina“ po události se nazývá analýza hlavní příčiny (RCA – Root Cause Analysis). Zde je umělá inteligence velmi výkonná při sumarizaci tisíců řádků za sekundu, extrahování vzorců, stanovení časových os a vyjmenování možných příčin. Ale pozor: AI vytváří možné příčiny; Vy jste ten, kdo si v systému ověřuje, který je skutečný, a rozhoduje.

V této lekci se naučíte, jak sebevědomě shrnout protokoly pomocí AI, jak vytvořit časovou osu události, jak rozlišit mezi korelací (společně se měnící) a kauzalitou (jedna způsobuje druhou) a jak spustit metodu RCA, jako je „5 Whys“ s AI.

Proč korelace není kauzalita?

Toto je nejkritičtější koncept této jednotky. Jen proto, že dvě události probíhají současně, jedna nezpůsobuje druhou. Současně se může zvýšit CPU a síťový provoz serveru; ale jedna není výsledkem druhé, obě mohou být výsledkem třetí události (například zahájení dávkové úlohy). Když AI vidí, že se metriky mění společně, předpokládá, že „X pravděpodobně způsobilo Y“. Toto je výchozí bod, nikoli závěr. Chcete-li ověřit kauzalitu, musíte proměnnou buď izolovat (spustit X v testovacím prostředí a zjistit, zda nastane Y), nebo prokázat mechanismus (ukázat technické prostředky, kterými X produkuje Y).

Pozor: Větu AI „toto to pravděpodobně způsobilo“ berte jako hypotézu, nikoli zjištění. U RCA vede nesprávná hlavní příčina k nesprávné korekci a opakování události. Našli jste prvního podezřelého, ne příčinu; Práce začíná tam.

Krok za krokem: Analýza protokolů pomocí AI

  1. Zúžit rozsah. Uveďte okno události, nikoli celý protokol: „událost začala ve 14:05, kritická od 14:00–14:20“. Řekněte AI příslušný časový úsek a službu.
  2. Maska. Protokoly obsahují interní IP, název hostitele, uživatele a token. Maskujte je (10.x.x.x, hostitel-A, uživatel1, REDACTED) a poté exportujte.
  3. Shrnutí požadavku a seskupení. "Seskupit tento protokol podle závažnosti, počítat opakující se chyby, najít časové razítko první chyby." Požádejte o strukturu, ne o surový protokol.
  4. Nastavte časovou osu. "Uspořádejte tyto události v časovém pořadí a ukažte, co následuje po čem." Nalezení prvního domina je cesta k hlavní příčině.
  5. Žádejte hypotézy, ne důkazy. "Uveďte možné kořenové příčiny v pořadí pravděpodobnosti a dejte mi ověřovací příkaz, který se má v systému spustit pro každou." Ptejte se na diagnózu, ne na výsledek.
  6. Ověřte v systému. Otestujte každou hypotézu pomocí diagnostických příkazů pouze pro čtení (log grep, stavový dotaz, metrika). Odstraňujte, dokud nebude potvrzena pouze jedna hlavní příčina.

5 Proč metoda

Klasickým a mocným nástrojem RCA je „5 Whys“: začíná jedním symptomem a ptá se „proč?“. pětkrát. Tím, že se zeptáte, se dostanete ke kořenové příčině pod povrchovým příznakem. Příklad: "Stránky se zhroutily. Proč? Aplikace zemřela, protože jí došla paměť. Proč? Dotaz spotřeboval veškerou paměť. Proč? Dotaz nepoužil index. Proč? Index byl smazán v posledním vydání. Proč? Toho si nevšimla kontrola změn." Hlavní příčinou není povrchové „selhání webu“, ale „slabý proces kontroly změn“. Umělá inteligence by byla dobrým partnerem při budování tohoto řetězce – ale každý krok „proč“ musíte podložit skutečnými důkazy, jinak by AI mohla přijít s věrohodným, ale falešným řetězcem.

tři mini pouzdra

Případ 1 — 40 000 řádků, 3 minuty. Správce během nočního výpadku začal ručně skenovat 40 000 řádků aplikačních protokolů. Předal příslušnou 20minutovou část maskovaného deníku AI a požádal o shrnutí a seskupení. AI označila první chybu OutOfMemory ve 02:14, hned po chybách se zvýšeným časovým limitem. Inženýr obdržel časový výkaz za 3 minuty; potvrdil původní diagnózu na vlastním metrickém panelu.

Případ 2 — Návrat z nesprávné hlavní příčiny. Jeden tým se domníval, že první hypotéza AI ("logy zaplnily disk") byla správná, a vyčistil protokoly. Další den se ale incident opakoval. Ve druhém kole implementovali „5 Whys“ s disciplínou: skutečným důvodem bylo, že chyba aplikace zapisovala stovky výpisů jádra za sekundu. První hypotéza byla korelace; Skutečný důvod byl jiný. Přijetí bez ověření poskytlo pouze jednodenní odklad.

Případ 3 – Časová osa našla viníka. Během občasného výpadku sítě byly zaznamenány desítky zařízení. Inženýr předal maskované protokoly AI a nechal ji vytvořit jednotnou časovou osu. Graf ukázal, že každý výpadek začal přesně 30 sekund po zprávě o kontrole stavu redundantního přepínače. Tato korelace byla silným vodítkem; Tým ověřil chybu firmwaru klíče na zařízení a vyměnil jej.

Čtyři kopírovatelné šablony

1) Shrnutí protokolu a seskupení:

Níže je maskovaný protokol pro [službu] od 14:00 do 14:20. Řekněte mi: (1) seskupte a spočítejte řádky podle závažnosti (CHYBA/VAROVÁNÍ/INFO), (2) vyjmenujte 5 nejčastěji se opakujících chyb, (3) najděte časové razítko první CHYBY. Nepřepisujte nezpracovaný protokol, pouze poskytněte strukturované shrnutí. Přidání vytvořeného řádku. Protokol: [maskovaný protokol]

2) Nastavení časové osy:

Uspořádali jsme následující maskované záznamy událostí do jediné časové osy (časové razítko + zdroj + událost). Ukažte, co následuje po čem, a označte událost, která se zdá být prvním spouštěčem. Všimněte si, že se jedná o HYPOTÉZU a kauzalitu je třeba ověřit. Nahrávky: [maskované nahrávky]

3) 5 důvodů, proč partner RCA:

Vaše role: Facilitátor RCA. Příznak: [příznak]. Udělejte se mnou „5 Proč“: „Proč?“ na každém kroku. Ptejte se, já odpovím s důkazy, které mám, vy se zeptejte na další otázku. Pokud jsou mé důkazy slabé, varujte mě a řekněte mi, jaká data potřebuji shromáždit. Neprohlašujte hlavní příčinu bez důkazů.

4) Hypotéza + příkaz ověření:

Uveďte možné základní příčiny tohoto příznaku [symptom] v pořadí pravděpodobnosti. Pro každý důvod: (a) jaké máte podezření, (b) dejte mi ověřovací příkaz POUZE PRO ČTENÍ, který se má spustit v mém systému (žádné smazání/změna). Vysvětlete, který výsledek potvrzuje nebo vyvrací hypotézu.

Slabá výzva / Silná výzva

Slabá výzva:

Co je na tomto protokolu špatného? [10 000 řádků surového protokolu]

Tato výzva způsobí únik citlivých dat bez maskování a ponechá AI bez kontextu. Umělá inteligence může narazit na náhodnou linii a uvést povrchní nebo dokonce smyšlený důvod.

Výkonná výzva:

Vaše role: senior SRE. Událost: platební služba vykázala 50% chybu mezi 02:10-02:25. Níže je maskovaný protokol tohoto okna. Uveďte (1) souhrn seskupený podle závažnosti, (2) časové razítko první chyby, (3) možné základní příčiny v pořadí pravděpodobnosti a pro každou z nich ověřovací příkaz pouze pro čtení. Označte tvrzení kauzality jako hypotézy. Protokol: [maskovaný protokol]

krok

Účel

Role AI

mužská role

Shrnutí/seskupení

snížit hluk

Konfigurace tisíců řádků

Určete rozsah a masku

časová osa

Hledání prvního domina

řazení událostí

Potvrďte razítka

generování hypotéz

třídění podezřelých

vyjmenujte možnosti

filtrovat podle kontextu

ověření

najít pravý důvod

Navrhněte diagnostický příkaz

Spusťte příkaz a okomentujte jej

rozhodnutí

Volba opravit

nabídnout možnosti

Udělejte rozhodnutí a potvrďte

Časté chyby

  • Záměna korelace za příčinnou souvislost. Přijetí dvou metrik, které se mění společně, protože „jedna způsobila druhou“, vytváří chybnou opravu.
  • Vkládání surového polena bez masky. Předání protokolu obsahujícího IP, token a uživatele otevřenému nástroji je porušením zabezpečení.
  • Prohlášení první hypotézy za hlavní příčinu. Přijetí prvního návrhu AI bez ověření je pozvánkou k opakování akce.
  • Export celého protokolu. Obrovský protokol bez kontextu zapojuje AI do náhodného řádku; Sbalit do okna události.
  • 5 důvodů bez důkazů. Pokud každý krok „proč“ nezálohujete skutečnými daty, skončíte s věrohodným, ale vymyšleným řetězcem.
Tip: Před ukončením RCA se zeptejte „pokud je tato hlavní příčina skutečně opravena, nestane se to znovu?“ Zeptejte se. Pokud je odpověď „možná“, ještě jste se nedostali k hlavní příčině; Zeptejte se jiného „proč“.

V souhrnu

Log analýza je o nalezení signálu v oceánu šumu; Umělá inteligence shrnuje a strukturuje tento oceán během několika sekund, stanoví časovou osu a generuje hypotézy. Ale korelace není kauzalita: příčina navržená AI je počáteční podezření, nikoli nález, dokud není potvrzen. Sbalte protokol do okna události, zamaskujte jej, zeptejte se na strukturu, ponořte se do hloubky pomocí „5 Whys“ a otestujte každou hypotézu v systému pomocí příkazů pouze pro čtení. Vy jste ten, kdo najde hlavní příčinu a potvrdí nápravu; AI je váš společník.

Aplikační úkol

Vezměte protokoly minulé události (nebo testovací události), sbalte je do okna události a zamaskujte všechny citlivé oblasti. Vyžádejte si souhrn a plán od AI pomocí výše uvedených šablon „Shrnutí protokolu“ a „Časová osa“. Poté přejděte od příznaku k hlavní příčině pomocí šablony „5 Reasons RCA partner“; Napište vlastní důkazy pro každý krok. Nakonec otestujte počáteční hypotézu AI pomocí ověřovacího příkazu a zaznamenejte, zda je potvrzena nebo vyvrácena. Shrňte proces do 6 položek.

kontrolní seznam

  • [ ] Sbalil jsem protokol do okna události a zamaskoval jsem citlivé oblasti?
  • [ ] Požádal jsem AI ​​o strukturované shrnutí a časovou osu, ne o nezpracovaný protokol?
  • [ ] Označil jsem tvrzení AI o příčinnosti jako hypotézy?
  • [ ] Testoval jsem každou hypotézu v systému pomocí ověřovacího příkazu pouze pro čtení?
  • [ ] Podložil jsem každý krok „5 Proč“ skutečnými důkazy?
  • [ ] Zpochybnil jsem a učinil rozhodnutí, zda hlavní příčina skutečně zabrání události?