Vienetas 7 / 12

Žurnalų analizė ir stebėjimas

Pelnas:

  • Galimybė apibendrinti didelius rąstų sąvartynus užmaskuojant ir filtruojant juos į AI ir sukurti laiko juostą
  • Gebėjimas AI nustatytus laiko ryšius vertinti kaip hipotezes, o ne priežastinį ryšį
  • Gebėjimas patvirtinti pagrindinės priežasties hipotezę naudojant metriką ir kodą ir parengti pomirtinį eskizą

Kai programinė įranga veikia gamyboje (tiesioginėje aplinkoje), tik pėdsakai, metrika ir žurnalai (laiko žyme pažymėtos žurnalo eilutės, kurias sukuria programa, kai ji veikia), nurodo, ką ji daro. Prasmingo signalo ištraukimas iš tūkstančių, o kartais ir milijonų rąstų eilučių per gedimą yra labiausiai įtemptas ir laiko kritinis momentas reaguojant į incidentą. Čia AI gali būti pagalbininkas, apibendrinantis didžiulį tekstą, išgaunantis šablonus ir generuojantis hipotezes – jei tik gerbsite privatumo ir patvirtinimo ribas.

Šiame skyriuje mokomės naudoti dirbtinį intelektą stebimumo kontekste – gebėjimo suprasti vidinę sistemos būseną žiūrint į jos išorinius išėjimus: išgauti prasmę iš žurnalo triukšmo, nustatyti klaidos laiko juostą, rasti pasikartojančius modelius ir sudaryti pomirtinį vaizdą. Kritinis įspėjimas iš anksto: neapdorotuose gamybos žurnaluose dažnai yra asmens duomenų ir paslapčių; atsitiktinis jų įklijavimas į AI įrankį yra rimtas pažeidimas.

Kodėl žurnalai yra sunkūs, kodėl AI naudingas?

Žurnalai yra sunkūs dėl trijų priežasčių: garsumo (jų yra per daug), triukšmo (daug eilučių nesvarbi) ir netvarkos (įvykis išsklaidytas skirtingų paslaugų žurnaluose). Žmogaus akis šioje krūvoje pavargsta ir praleidžia svarbią eilutę.

AI moka apibendrinti didelius teksto blokus, skaičiuoti pasikartojančius šablonus ir klausti „kas pasikeitė prieš pat klaidų pliūpsnį? Jis yra galingas užmezgant laiko santykius, pvz., Tačiau yra dvi ribos. Pirmasis yra konteksto langas: žurnalų, kuriuos galite tilpti į modelį, skaičius yra ribotas, todėl pirmiausia turite filtruoti ir atrinkti. Antra, patvirtinimas: AI posakis „čia yra pagrindinė priežastis“ yra hipotezė; Nepriimkite sprendimo nepatvirtinę jo metrika ir kodu.

Įspėjimas: neapdorotuose gamybos žurnaluose gali būti IP adresas, el. pašto adresas, prieigos raktas, seanso ID ir kartais atvira paslaptis. Užmaskuokite juos prieš teikdami juos dirbtiniam intelektui arba naudokite tik įmonės patvirtintus, duomenų apsaugotus įrankius. Mes gilinamės į šią temą 10 skyriuje.

Žingsnis po žingsnio: nuo žurnalo iki pagrindinės priežasties

  1. Susiaurinkite laiko langą. Nustatykite minutes, kada prasidėjo įvykis; Apžiūrėkite tą langą, o ne visą dieną.
  2. Išfiltruokite triukšmą. Pašalinkite žinomas pasikartojančias, nekenksmingas linijas; Sutelkite dėmesį į klaidą (ERROR), įspėjimą (WARN) ir pirmąjį nukrypimo momentą.
  3. Užmaskuoti jautrius duomenis. Išvalykite asmeninius duomenis ir paslaptis prieš pateikdami juos dirbtiniam intelektui.
  4. Sukurkite santrauką ir laiko juostą. Paprašykite dirbtinio intelekto apibendrinti įvykį chronologija („iš pradžių tai, tada anas“).
  5. Patvirtinkite hipotezę naudodami metriką ir kodą. Priežastis, kurią nurodė AI; Patvirtinkite naudodami prietaisų skydelį, atitinkamą kodą ir diegimo laiko juostą, jei taikoma.
  6. Įrašykite tai, ką išmokote. Padarykite pomirtinį eskizą ir išvardykite prevencinius veiksmus.

Trys mini dėklai

1 atvejis – 40 000 eilučių apibendrinta per 5 minutes. Mokėjimo tarnyba 12 minučių pranešė apie pertraukiamą klaidą. Komanda AI pateikė atitinkamą 20 minučių užmaskuotų žurnalų langą (maždaug 40 000 eilučių, atrinktų) ir sukūrė laiko juostą. Modelis parodė, kad klaidos pliūpsnis sutapo su momentu, kai priklausomybės paslaugos atsako laikas padidėjo nuo 200 ms iki 8 sekundžių. Komanda tai patvirtino prietaisų skydelyje ir per 10 minučių susiaurino priežastį.

2 atvejis – klaidinanti koreliacija. Kito incidento metu AI ją apkaltino sakydamas, kad klaidos įvyko „tuo pačiu metu“ kaip cron (suplanuotos užduoties) vykdymas. Kai komanda patikrino metrikas, jie pamatė, kad cron iš tikrųjų baigė darbą prieš įvykį; Koreliacija buvo atsitiktinumas. Tikroji priežastis buvo atminties nutekėjimas. Pamoka: AI nustatyta laiko koreliacija yra užuomina, o ne įrodymas.

3 atvejis – pomirtinis pagreitintas. Po gedimo komanda perdavė (užmaskuotą) pranešimo nuorašą ir laiko juostą iš įvykio kanalo į AI ir pareikalavo, kad šis parengtų pomirtinį eskizą: santrauką, poveikį, laiko juostą, pagrindinę priežastį, veiksmus. Žmogus redaktorius ištaisė faktus ir paskyrė veiksmų savininkus. Dokumentas, kuris paprastai trunka 2 valandas, buvo parengtas per maždaug 40 minučių, o struktūra nuoseklesnė.

Keturi kopijuojami šablonai

Žurnalo suvestinė ir laiko juosta (su užmaskuotu žurnalu):

Žemiau yra užmaskuoto gamybos žurnalo įvykių langas.1) Įveskite įvykį į chronologinę laiko juostą (pažymėkite pirmojo nukrypimo momentą).2) Suskaičiuokite ir sugrupuokite dažniausiai pasikartojančias klaidas / įspėjimų tipus.3) "Kas pasikeitė prieš pat?" Išvardykite įvykius, galinčius atsakyti į klausimą. Tai yra hipotezės; Pažymėkite kaip „būtina patikrinti“. {{logs}}

Klaidos šablono ištraukimas:

Raskite pasikartojančius klaidų modelius šiose žurnalo eilutėse. Kiekvienam modeliui: pavyzdžio eilutė (užmaskuota), įvertintas šaltinis ir galima reikšmė. Surinkite retas, bet svarbias pavienes klaidas į atskirą „dėmesio“ sąrašą.{{logs}}

Struktūrinės užklausos / filtro generavimas:

Jei naudojate {{log tool: grep/jq/Kibana KQL/CloudWatch Insights}}, parašykite užklausą, atitinkančią šią sąlygą: {{pvz. 5xx klaidos per pastarąsias 15 min., neįskaitant vartotojo X}}.Paaiškinkite užklausą; Įsitikinkite, kad nesudarote domenų vardų, paklauskite, jei nesate tikri.

Pomirtinis eskizas:

Parašykite pomirtinį eskizą iš šios (užmaskuotos) įvykio laiko juostos: Santrauka / Poveikis (trukmė, paveiktas vartotojas) / Laiko juosta / Pagrindinė priežastis / Kas sekėsi gerai / Veiksmai (kiekvienam savininko lauką palikite tuščią). NENAUDOKITE kaltinančios kalbos; Būkite realūs ir aktyvūs.{{timeline}}

Silpnas raginimas / Stiprus raginimas

Silpnas: "Pažiūrėkite į šiuos rąstus, kas negerai?" (Neapdorotas visos dienos žurnalas su asmens duomenimis, netikslinis.)
Stiprus: "Žemiau yra užmaskuotas gamybos žurnalas nuo 14:02 iki 14:20 (filtruotas iki 5xxs). Šiame lange suraskite momentą, kada prasidėjo klaidos pliūpsnis, suskaičiuokite dažniausiai pasitaikantį klaidos tipą ir išvardykite nukrypimus, pasirodžiusius per 60 sekundžių prieš pat sprogimą; pažymėkite juos visus kaip "hipotezė, kurią reikia patikrinti".

Galinga versija; Jis susiaurina laiko langą, filtruoja ir užmaskuoja žurnalą, užduoda aiškų klausimą ir nuo pat pradžių nustato, kad išvestis yra hipotezė.

Quest

AI yra stiprus

Apribojimas / patvirtinimas

Didelis žurnalo santrauka

Taip, greitai

Gali būti imties praradimas

Laiko santykių užmezgimas

generuoja užuominas

Koreliacija ≠ priežastinis ryšys

Užklausų/filtrų generavimas

geras juodraštis

Ar domenų vardai yra tikri?

Pomirtinis eskizas

Struktūra ir kalba

Atvejai patvirtinti žmonių

Koreliacija nėra priežastinis ryšys

Dažniausia žurnalų analizės klaida yra klaida „tai atsitiko tuo pačiu metu, todėl štai kodėl“. Dirbtinis intelektas į šiuos spąstus patenka taip pat lengvai, jei ne lengviau, nei žmonės; nes mano, kad vienalaikiškumas tekste yra stiprus signalas. Gebėti sakyti, kad vienas įvykis iš tikrųjų veda į kitą; reikalingas laikas, mechanizmas ir, jei įmanoma, pakartojamumas. Dėl kiekvieno priežastingumo teiginio, kurį nustato AI, klausiame: „Kokie kiti įrodymai tai patvirtina? Išbandykite tai su klausimu.

Patarimas: Kai prisijungiate prie AI, vietoj teksto iškelties, jei įmanoma, pirmiausia atspausdinkite užklausą / filtrą ir paleiskite jį savo transporto priemonėje; Tokiu būdu sumažinsite jautrius duomenis ir atskirsite modelio konteksto langą į tikrai svarbias eilutes.

Dažnos klaidos

  • Neapdoroto, demaskuoto rąsto įklijavimas. Asmens duomenų ir paslapčių atskleidimas; šiurkštus privatumo pažeidimas.
  • Duoti visą dieną iš karto. Jis viršija konteksto langą, signalas paskęsta triukšme.
  • Klaidinga koreliacija ir priežastinis ryšys. AI nustatytas laiko santykis yra užuomina, o ne įrodymas.
  • Pasikliaujama užklausa su sugalvotu domeno pavadinimu. Modelis gali pasiūlyti žurnalo lauko pavadinimą, kurio nėra; patikrinkite pagal schemą.
  • Postmortem paskelbimas jo nepatikrinus. Faktai ir poveikio skaičiai turi būti patvirtinti žmogaus.

Apibendrinant

AI yra galingas įrankis, leidžiantis įveikti garsumą ir triukšmą analizuojant žurnalus: apibendrinant didelius nuorašus, nustatant laiko juostas, išskiriant šablonus ir ruošiant pomirtinius eskizus. Tačiau atminkite tris ribas: neeksportuokite neskelbtinų duomenų jų nepaslėpę, filtruokite ir atrinkite juos, kad jie atitiktų konteksto langą, ir patikrinkite kiekvieną priežastinio ryšio teiginį naudodami metriką ir kodą. Koreliacija nėra priežastinis ryšys; AI suteikia užuominų, jūs priimate sprendimą remdamiesi įrodymais.

Taikymo užduotis

Iš turimo įvykių arba bandymo aplinkos žurnalo pasirinkite 15–20 minučių langą. Pirmiausia užmaskuokite asmens duomenis ir paslaptis (arba sukurkite sintetinį žurnalą). Tada iš AI išskleiskite chronologiją ir dažniausiai pasitaikančius klaidų tipus naudodami šabloną „žurnalo suvestinė ir laiko juosta“. Pabandykite patikrinti pagrindinės priežasties hipotezę, kurią iškėlė AI, naudodami jūsų turimą metriką arba kodo fragmentą: ar hipotezė pasitvirtino, ar tai buvo klaidinanti koreliacija? Savo atradimą užrašykite vienu sakiniu.

kontrolinis sąrašas

  • [ ] Prieš pateikdamas žurnalą AI, užmaskuoju asmeninius duomenis ir paslaptis.
  • [ ] Analizę sumažinu iki siauro laiko lango ir filtruoju.
  • [ ] AI nustatytus laiko ryšius matau kaip hipotezes, o ne priežastinį ryšį.
  • [ ] Patvirtinu pagrindinės priežasties paraišką naudodamas metriką ir kodą.
  • [ ] Patvirtinu, kad mano sugeneruotų užklausų / filtrų domenų pavadinimai yra tikri.
  • [ ] Žmoniškai patvirtinu pomirtinio eskizo faktus ir skaičius.