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