Enota 7 / 12

Analiza dnevnika in opazljivost

Dobički:

  • Sposobnost povzemanja velikih odlagališč dnevnikov z maskiranjem in filtriranjem v AI ter ustvarjanje časovnice
  • Biti sposoben ovrednotiti časovna razmerja, ki jih je vzpostavila umetna inteligenca, kot hipoteze, ne vzročnosti
  • Sposobnost potrditve hipoteze o glavnem vzroku z metriko in kodo ter priprava posmrtne skice

Ko se programska oprema izvaja v produkciji (okolje v živo), vam samo sledi, metrike in dnevniki (vrstice dnevnika s časovnim žigom, ki jih ustvari aplikacija med izvajanjem) povedo, kaj počne. Pridobivanje pomembnega signala iz tisočev, včasih milijonov vrstic dnevnika med izpadom je najbolj stresen in časovno kritičen trenutek odziva na incident. Tu je lahko AI pomočnik, saj povzema obsežno besedilo, izloča vzorce in ustvarja hipoteze – če spoštujete zasebnost in omejitve preverjanja.

V tej enoti se naučimo uporabljati umetno inteligenco v kontekstu opazljivosti – zmožnost razumevanja notranjega stanja sistema s pogledom na njegove zunanje rezultate: pridobivanje pomena iz hrupa v dnevniku, določanje časovne premice hrošča, iskanje ponavljajočih se vzorcev in priprava posmrtnega ostanka. Pomembno opozorilo vnaprej: dnevniki neobdelane proizvodnje pogosto vsebujejo osebne podatke in skrivnosti; njihovo naključno vstavljanje v orodje AI je resna kršitev.

Zakaj so dnevniki težki, zakaj je AI koristen?

Dnevniki so težki zaradi treh razlogov: glasnosti (preveč jih je), šuma (veliko vrstic je nepomembnih) in nereda (dogodek je razpršen po dnevnikih različnih storitev). Človeško oko se v tem kupu utrudi in zgreši pomembno vrstico.

AI je dober pri povzemanju velikih blokov besedila, štetju ponavljajočih se vzorcev in vprašanju, "kaj se je spremenilo tik pred tem izbruhom napak?" Močan je pri vzpostavljanju časovnih razmerij, kot je Vendar pa obstajata dve omejitvi. Prvo je kontekstno okno: količina dnevnikov, ki jih lahko vstavite v model, je omejena, zato morate najprej filtrirati in vzorčiti. Drugič, potrditev: AI, ki pravi, da je "tukaj glavni vzrok", je hipoteza; Ne sprejmite odločitve, ne da bi jo potrdili z meritvami in kodo.

Pozor: neobdelani produkcijski dnevniki lahko vsebujejo naslov IP, e-pošto, žeton, ID seje in včasih odprto skrivnost. Zakrijte jih, preden jih posredujete umetni inteligenci, ali pa uporabite samo orodja, ki so odobrena v podjetju in so zaščitena s podatki. To temo poglobimo v 10. enoti.

Korak za korakom: od dnevnika do temeljnega vzroka

  1. Zožite časovno okno. Določite minute, ko se je dogodek začel; Preglejte to okno, ne ves dan.
  2. Filtrirajte hrup. Izločite znane ponavljajoče se, neškodljive vrstice; Osredotočite se na napako (ERROR), opozorilo (WARN) in prvi trenutek odstopanja.
  3. Zakrijte občutljive podatke. Očistite osebne podatke in skrivnosti, preden jih daste AI.
  4. Ustvarite povzetek in časovnico. Prosite AI, da povzame dogodek v kronologiji (»najprej to, nato ono«).
  5. Potrdite hipotezo z metriko in kodo. Razlog, ki ga je izpostavil AI; Potrdite z nadzorno ploščo, ustrezno kodo in časovnico uvajanja, če je primerno.
  6. Zapiši naučeno. Naredi postmortem skico in naštej preventivne ukrepe.

Trije mini kovčki

Primer 1 — 40.000 vrstic, povzetih v 5 minutah. Plačilna storitev je 12 minut poročala o občasni napaki. Ekipa je umetni inteligenci posredovala ustrezno 20-minutno okno maskiranih dnevnikov (približno 40.000 vrstic, vzorčeno) in ustvarila časovnico. Model je pokazal, da je izbruh napake sovpadal s trenutkom, ko se je odzivni čas storitve odvisnosti povečal z 200 ms na 8 sekund. Ekipa je to potrdila na armaturni plošči in v 10 minutah zožila vzrok.

Primer 2 – Zavajajoča korelacija. V drugem incidentu je umetna inteligenca za to pripisala krivdo z besedami, da so se napake zgodile "hkrati" z izvajanjem crona (načrtovano opravilo). Ko je ekipa preverila meritve, je videla, da se je cron dejansko končal pred dogodkom; Korelacija je bila naključje. Pravi vzrok je bilo uhajanje spomina. Lekcija: Časovna korelacija, ki jo je vzpostavila umetna inteligenca, je namig, ne dokaz.

Primer 3 – Posmrtno pospešeno. Po izpadu je ekipa posredovala (zamaskiran) prepis sporočila in časovnico iz kanala dogodka v AI ​​in dala, da izdela posmrtno skico: povzetek, vpliv, časovnica, glavni vzrok, dejanja. Človeški urednik je popravil dejstva in imenoval lastnike dejanj. Dokument, ki običajno traja 2 uri, je bil dokončan v približno 40 minutah z bolj dosledno strukturo.

Štiri kopirane predloge

Povzetek dnevnika in časovnica (s prikritim dnevnikom):

Spodaj je okno dogodkov zamaskiranega produkcijskega dnevnika.1) Prelijte dogodek na kronološko časovnico (označite trenutek prvega odstopanja).2) Preštejte in združite najpogosteje ponavljajoče se vrste napak/opozoril.3) "Kaj se je spremenilo tik pred tem?" Navedite dogodke, ki so kandidati za vprašanje. To so hipoteze; Označite kot "mora biti preverjeno". {{dnevniki}}

Ekstrakcija vzorca napake:

Poiščite ponavljajoče se vzorce napak v teh vrsticah dnevnika. Za vsak vzorec: vzorčna vrstica (zamaskirana), ocenjeni vir in možen pomen. Zberi redke, a kritične posamezne napake na ločenem seznamu »pozornosti«.{{logs}}

Generiranje strukturirane poizvedbe/filtra:

Za {{log tool: grep/jq/Kibana KQL/CloudWatch Insights}} napišite poizvedbo, ki izpolnjuje ta pogoj: {{npr. 5xx napak v zadnjih 15 minutah, razen uporabnika X}}. Razložite poizvedbo; Prepričajte se, da si ne izmišljate imen domen; vprašajte, če niste prepričani.

Posmrtna skica:

Napišite obsmrtno skico iz naslednje (zamaskirane) časovnice dogodka: Povzetek / Vpliv (trajanje, prizadeti uporabnik) / Časovnica / Glavni vzrok / Kaj je šlo dobro / Dejanja (za vsako pustite polje lastnika prazno). NE uporabljajte obtožujočega jezika; Bodite dejanski in proaktivni.{{timeline}}

Šibek poziv/močan poziv

Slab: "Poglejte te dnevnike, kaj je narobe?" (Neobdelani dnevnik celotnega dneva, z osebnimi podatki, neciljan.)
Strong: "Spodaj je zamaskiran produkcijski dnevnik od 14:02–14:20 (filtriran na 5xxs). V tem oknu poiščite trenutek, ko je prišlo do izbruha napake, preštejte najpogostejšo vrsto napake in navedite odstopanja, ki so se pojavila v 60 sekundah neposredno pred eksplozijo; označite vse kot 'hipotezo, ki jo je treba preveriti'."

Zmogljiva različica; Zoži časovno okno, filtrira in prikrije dnevnik, postavi jasno vprašanje in že na začetku ugotovi, da je rezultat hipoteza.

Iskanje

AI je močan

Omejitev / preverjanje

Velik povzetek dnevnika

Da, hitro

Lahko pride do izgube vzorčenja

Vzpostavitev časovnega razmerja

ustvarja namige

Korelacija ≠ vzročna zveza

Generiranje poizvedbe/filtra

dober osnutek

Ali so imena domen resnična?

Posmrtna skica

Struktura in jezik

Primeri so potrjeni pri ljudeh

Korelacija ni vzročna zveza

Najpogostejša past pri analizi dnevnika je zmota "zgodilo se je istočasno, torej zato". Umetna inteligenca se ujame v to past tako zlahka, če ne celo lažje, kot ljudje; ker misli, da je simultanost v besedilu močan signal. Da bi lahko rekli, da en dogodek dejansko vodi v drugega; potrebni so čas, mehanizem in, če je mogoče, ponovljivost. Za vsako trditev o vzročnosti, ki jo ugotovi umetna inteligenca, se vprašamo, "kateri drugi dokazi to potrjujejo?" Preizkusite z vprašanjem.

Nasvet: Ko se prijavljate v AI, namesto izpisa besedila, če je mogoče, najprej natisnite poizvedbo/filter in ga zaženite v svojem vozilu; Na ta način zmanjšate občutljive podatke in ločite kontekstno okno modela v res pomembne vrstice.

Pogoste napake

  • Lepljenje surovega, nemaskiranega dnevnika. Razkritje osebnih podatkov in skrivnosti; resna kršitev zasebnosti.
  • Dajanje celega dne naenkrat. Presega kontekstno okno, signal se utopi v šumu.
  • Napačna korelacija za vzročno zvezo. Časovno razmerje, ki ga je vzpostavila umetna inteligenca, je namig, ne dokaz.
  • Zanašanje na poizvedbo z izmišljenim imenom domene. Model lahko predlaga ime polja dnevnika, ki ne obstaja; preverite s shemo.
  • Objava obdukcije brez preverjanja. Dejstva in podatke o vplivu morajo potrditi ljudje.

Če povzamem

Umetna inteligenca je zmogljivo orodje za premagovanje glasnosti in šuma pri analizi dnevnika: povzemanje velikih prepisov, vzpostavljanje časovnic, ekstrahiranje vzorcev in priprava posmrtnih skic. Vendar ne pozabite na tri omejitve: ne izvažajte občutljivih podatkov, ne da bi jih prikrili, filtrirajte in vzorčite jih, da ustrezajo oknu konteksta, ter preverite vsako trditev o vzročnosti z meritvami in kodo. Korelacija ni vzročna zveza; AI daje namige, vi se odločite z dokazi.

Aplikacijska naloga

Izberite 15–20-minutno okno iz dnevnika dogodkov ali preskusnega okolja, ki ga imate. Najprej prikrijte osebne podatke in skrivnosti (ali ustvarite sintetični dnevnik). Nato izvlecite kronologijo in najpogostejše vrste napak iz AI s predlogo »povzetek dnevnika in časovnica«. Poskusite preveriti hipotezo o glavnem vzroku, ki jo je umetna inteligenca predstavila z metriko ali delom kode, ki jo imate: ali je hipoteza držala ali je šlo za zavajajočo korelacijo? Svojo ugotovitev zapiši v enem stavku.

kontrolni seznam

  • [ ] Zakrijem osebne podatke in skrivnosti, preden dam dnevnik AI.
  • [ ] Analizo zmanjšam na ozko časovno okno in filter.
  • [ ] Časovna razmerja, ki jih je vzpostavila umetna inteligenca, vidim kot hipoteze, ne kot vzročnost.
  • [ ] Trditev o temeljnem vzroku preverim z meritvami in kodo.
  • [ ] Potrjujem, da so imena domen poizvedb/filtrov, ki jih ustvarim, resnična.
  • [ ] Človeško potrjujem dejstva in številke v posmrtni skici.