Unitate 7 / 12

Analiza jurnalului și observabilitatea

Câștiguri:

  • Abilitatea de a rezuma depozitele mari de jurnal prin mascarea și filtrarea lor în AI și de a crea o cronologie
  • A fi capabil să evalueze relațiile de timp stabilite de AI ca ipoteze, nu cauzalitate
  • Abilitatea de a valida ipoteza cauzei principale cu valori și cod și de a pregăti o schiță post-mortem

Când un software rulează în producție (mediu live), numai urmele, valorile și jurnalele (liniile de jurnal marcate cu timp produse de aplicație în timp ce aceasta rulează) vă spun ce face. Atragerea unui semnal semnificativ de la mii, uneori milioane de linii de jurnal în timpul unei întreruperi este cel mai stresant și cel mai critic moment al răspunsului la incident. Aici, AI poate fi un ajutor, rezumănd text masiv, extragând modele și generând ipoteze - atâta timp cât respectați confidențialitatea și limitele de verificare.

În această unitate, învățăm să folosim inteligența artificială în contextul observabilității - capacitatea de a înțelege starea internă a unui sistem, uitându-ne la ieșirile sale externe: extragerea semnificației din zgomotul de jurnal, stabilirea cronologiei unui bug, găsirea modelelor care se repetă și redactarea unui post-mortem. Avertisment critic din față: jurnalele de producție brute conțin adesea date și secrete personale; introducerea lor la întâmplare într-un instrument AI este o încălcare gravă.

De ce sunt grele jurnalele, de ce este AI utilă?

Jurnalele sunt dificile din trei motive: volum (sunt prea multe), zgomot (multe linii sunt irelevante) și dezordine (un eveniment este împrăștiat în jurnalele diferitelor servicii). Ochiul uman obosește în această grămadă și ratează linia importantă.

AI este bun la rezumarea blocurilor mari de text, la numărarea tiparelor care se repetă și la întrebarea „ce s-a schimbat chiar înainte de această explozie de erori?” Este puternic în stabilirea unor relații de timp, cum ar fi. Cu toate acestea, există două limite. Prima este fereastra de context: cantitatea de bușteni pe care le puteți încadra într-un model este limitată, așa că mai întâi trebuie să filtrați și să eșantionați. În al doilea rând, validarea: AI care spune „aici este cauza principală” este o ipoteză; Nu luați o decizie fără a o confirma cu valori și cod.

Atenție: jurnalele de producție brute pot conține adresă IP, e-mail, token, ID de sesiune și uneori secret deschis. Mascați-le înainte de a le furniza AI sau utilizați numai instrumente aprobate de întreprindere și securizate de date. Aprofundăm acest subiect în unitatea 10.

Pas cu pas: de la jurnal la cauza principală

  1. Restrângeți fereastra de timp. Stabiliți minutele când a început evenimentul; Examinează fereastra aceea, nu toată ziua.
  2. Filtrați zgomotul. Îndepărtați liniile repetitive și inofensive cunoscute; Concentrați-vă pe eroare (EROARE), avertizare (WARN) și primul moment de abatere.
  3. Mascați datele sensibile. Curățați datele personale și secretele înainte de a le oferi AI.
  4. Creați un rezumat și o cronologie. Cereți AI să rezumă evenimentul într-o cronologie („mai întâi asta, apoi aceea”).
  5. Validați ipoteza cu metrici și cod. Motivul indicat de AI; Confirmați cu tabloul de bord, codul relevant și calendarul de implementare, dacă este cazul.
  6. Puneți în scris ceea ce s-a învățat. Faceți o schiță post-mortem și enumerați acțiunile preventive.

Trei mini carcase

Cazul 1 — 40.000 de rânduri rezumate în 5 minute. Un serviciu de plată a raportat o eroare intermitentă timp de 12 minute. Echipa a alimentat fereastra relevantă de 20 de minute de jurnalele mascate (aproximativ 40.000 de linii, eșantionate) la AI și a generat o cronologie. Modelul a arătat că explozia de eroare a coincis cu momentul în care timpul de răspuns al unui serviciu de dependență a crescut de la 200 ms la 8 secunde. Echipa a confirmat acest lucru pe tabloul de bord și a restrâns cauza în 10 minute.

Cazul 2 – Corelație înșelătoare. Într-un alt incident, AI a dat vina pe aceasta spunând că erorile au avut loc „în același timp” ca o rulare cron (sarcină programată). Când echipa a verificat valorile, au văzut că cron se terminase de fapt înainte de eveniment; Corelația a fost o coincidență. Adevărata cauză a fost o scurgere de memorie. Lecție: Corelația de timp stabilită de AI este un indiciu, nu o dovadă.

Cazul 3 – Postmortem accelerat. După o întrerupere, echipa a transmis transcrierea mesajului (mascat) și cronologia de la canalul evenimentului la AI și i-a pus să producă o schiță post-mortem: rezumat, impact, cronologie, cauza principală, acțiuni. Editorul uman a corectat faptele și a numit proprietari de acțiuni. Documentul, care durează de obicei 2 ore, a fost finalizat în aproximativ 40 de minute cu o structură mai consistentă.

Patru șabloane copiabile

Rezumatul jurnalului și cronologia (cu jurnalul mascat):

Mai jos este o fereastră de evenimente a jurnalului de producție mascat.1) Turnați evenimentul într-o cronologie cronologică (marcați momentul primei abateri).2) Numărați și grupați cele mai frecvente tipuri de erori/avertismente recurente.3) „Ce s-a schimbat chiar înainte?" Listați evenimentele candidate pentru întrebare. Acestea sunt ipoteze; Marcați-l ca „trebuie verificat”. {{ busteni }}

Extragerea modelului de eroare:

Găsiți modele de erori recurente în aceste linii de jurnal. Pentru fiecare model: linie de probă (mascata), sursa estimată și semnificația posibilă. Colectați erorile rare, dar critice, într-o listă separată de „atenție”.{{jurnale}}

Generare structurată de interogări/filtre:

Pentru {{instrument de înregistrare: grep/jq/Kibana KQL/CloudWatch Insights}}, scrieți o interogare care îndeplinește următoarea condiție: {{de ex. 5xx erori în ultimele 15 minute, excluzând utilizatorul X}}. Explicați interogarea; Asigurați-vă că nu inventați numele de domenii, întrebați dacă nu sunteți sigur.

Schiță postmortem:

Scrieți o schiță postmortem din următoarea cronologie a evenimentului (mascat): Rezumat / Impact (durată, utilizator afectat) / Cronologie / Cauză principală / Ce a mers bine / Acțiuni (lăsați câmpul proprietarului necompletat pentru fiecare). NU folosiți limbaj acuzator; Fii concret și proactiv.{{cronologie}}

Prompt slab / Prompt puternic

Slab: „Uită-te la buștenii ăștia, ce e în neregulă?” (Jurnal brut al întregii zile, cu date personale, nețintite.)
Puternic: „Mai jos este jurnalul de producție mascat de la 14:02–14:20 (filtrat la 5xxs). În această fereastră, găsiți momentul în care a început eroarea, numărați cel mai frecvent tip de eroare și enumerați abaterile care au apărut în cele 60 de secunde imediat înainte de explozie; marcați-le pe toate ca „ipoteză de verificat”.

Versiune puternică; Îngustează fereastra de timp, filtrează și maschează jurnalul, pune o întrebare clară și stabilește de la început că rezultatul este o ipoteză.

Căutare

AI este puternic

Limitare/verificare

Rezumat mare jurnal

Da, repede

Poate exista pierderi de eșantionare

Stabilirea unei relații de timp

generează indicii

Corelație ≠ cauzalitate

Generarea de interogări/filtre

ciornă bună

Numele de domenii sunt reale?

Schiță postmortem

Structura si limbajul

Cazurile sunt confirmate la om

Corelația nu este o cauză

Cea mai frecventă capcană în analiza jurnalelor este eroarea „sa întâmplat în același timp, așa că de aceea”. AI cade în această capcană la fel de ușor, dacă nu mai ușor, decât oamenii; deoarece consideră că simultaneitatea în text este un semnal puternic. Pentru a putea spune că un eveniment duce de fapt la altul; sunt necesare sincronizare, mecanism și, dacă este posibil, repetabilitate. Pentru fiecare afirmație de cauzalitate pe care o stabilește AI, ne întrebăm „ce alte dovezi confirmă acest lucru?” Testează-l cu întrebarea.

Sfat: Când vă conectați la AI, în loc de un dump text, dacă este posibil, imprimați mai întâi o interogare/filtru și rulați-l în vehiculul dvs.; În acest fel, reduceți datele sensibile și separați fereastra de context a modelului în rândurile cu adevărat importante.

Greșeli comune

  • Lipirea jurnalului brut, nemascat. Dezvăluirea datelor personale și a secretelor; o încălcare gravă a vieții private.
  • Dăruind toată ziua deodată. Depășește fereastra de context, semnalul este înecat în zgomot.
  • Corelație greșită cu cauzalitate. Relația de timp stabilită de AI este un indiciu, nu o dovadă.
  • Bazându-se pe o interogare cu un nume de domeniu inventat. Modelul poate sugera un nume de câmp de jurnal care nu există; verifica cu schema.
  • Publicarea autopsiei fără a o verifica. Faptele și cifrele de impact trebuie confirmate uman.

Pe scurt

AI este un instrument puternic pentru a depăși volumul și zgomotul în analiza jurnalelor: rezumarea transcrierilor mari, stabilirea cronologiei, extragerea tiparelor și pregătirea schițelor post-mortem. Dar rețineți trei limite: nu exportați date sensibile fără a le masca, filtrați și eșantionați-le pentru a se potrivi cu fereastra de context și verificați fiecare afirmație de cauzalitate cu valori și cod. Corelația nu este cauzalitate; AI oferă indicii, iei decizia cu dovezi.

Sarcina de aplicare

Selectați o fereastră de 15-20 de minute dintr-un jurnal de evenimente sau mediu de testare pe care îl aveți. Mai întâi mascați datele și secretele personale (sau produceți un jurnal sintetic). Apoi extrageți o cronologie și cele mai frecvente tipuri de erori din AI cu șablonul „rezumat jurnal și cronologie”. Încercați să verificați ipoteza cauzei principale pe care AI-ul a prezentat-o ​​cu o metrică sau o bucată de cod pe care o aveți: ipoteza a fost valabilă sau a fost o corelație înșelătoare? Notează-ți descoperirea într-o singură propoziție.

lista de verificare

  • [ ] Masc datele personale și secretele înainte de a da jurnalul AI.
  • [ ] Reduc analiza la o fereastră de timp restrânsă și filtrez.
  • [ ] Eu văd relațiile de timp stabilite de AI ca ipoteze, nu cauzalitate.
  • [ ] Verific afirmația privind cauza principală cu valori și cod.
  • [ ] Confirm că numele de domenii ale interogărilor/filtrelor pe care le generez sunt reale.
  • [ ] Certific uman faptele și cifrele din schița post-mortem.