Njësia 6 / 11

Monitorimi dhe vrojtueshmëria: Rregullat metrike, log, gjurmimi dhe alarmi

Fitimet:

  • Aftësia për të kuptuar tre shtyllat e vëzhgimit (metrik, log, gjurmë) dhe katër sinjalet e arta dhe të ketë inteligjencë artificiale të gjenerojë pyetje PromQL, rregullat e alarmit dhe tabelat
  • Aftësia për të parandaluar lodhjen e alarmit duke i mbajtur alarmet të orientuara nga veprimet dhe në pragjet e duhura të urgjencës dhe testimit kundrejt të dhënave historike të sistemit tuaj
  • Aftësia për të parandaluar privatësinë dhe rrjedhjet sekrete duke maskuar zonat e ndjeshme përpara se t'i jepni shkrimet inteligjencës artificiale

Ndërsa një sistem mund të duket se po funksionon, ai mund të jetë duke vdekur brenda: memoria po mbushet ngadalë, koha e përgjigjes rritet, shkalla e gabimit rritet. Mënyra e vetme për ta vërejtur këtë është të monitoroni vazhdimisht sistemin. Një koncept më i avancuar është vëzhgueshmëria: aftësia për të kuptuar se çfarë po ndodh brenda sistemit duke parë shenjat e tij të jashtme. Ekzistojnë tre shtylla të vëzhgimit dhe profesionisti i DevOps i përdor të treja:

  • Metrikë: Vlerat numerike të matura me kalimin e kohës - përdorimi i CPU-së, numri i kërkesave, koha e përgjigjes, shkalla e gabimit. "Sa shumë?" i përgjigjet pyetjes.
  • Regjistri: Regjistrimet e ngjarjeve me tekst të prodhuara nga sistemi - "përdoruesi i regjistruar", "lidhja me bazën e të dhënave ka humbur". "Çfarë ndodhi saktësisht?" i përgjigjet pyetjes.
  • Gjurmë: Rruga që ndjek një kërkesë gjatë kalimit nga shërbimi në shërbim brenda sistemit dhe kohëzgjatja e çdo hapi. "Ku është ngadalësia?" i përgjigjet pyetjes.

Mjetet më të zakonshme: Prometheus për metrikë, Grafana për vizualizim, Loki/ELK për log, Jaeger/OpenTelemetry për gjurmë. AI është shumë i aftë në shkrimin e gjuhëve të pyetjeve (veçanërisht Prometheus' PromQL), rregullat e alarmit dhe konfigurimet e panelit të kontrollit për këto mjete. Është gjithashtu vendi ku AI është më i fortë: përmbledhja e pjesëve të mëdha të regjistrave dhe metrikave dhe shënjimi i anomalive.

Le të sqarojmë ndryshimin midis monitorimit dhe vëzhgueshmërisë me një fjali: monitorimi është duke bërë pyetje që tashmë i dini ("A është CPU e kaluar 90%?"); vëzhgueshmëria është të jesh në gjendje të bësh pyetje që nuk i dinit tashmë ("pse kjo ngadalësi e çuditshme po ndodh vetëm për një klient të caktuar në një kohë të caktuar?"). Sistemet moderne janë aq komplekse sa nuk mund të parashikoni të gjitha mënyrat e dështimit; Prandaj, aftësia për të mbledhur metrika, regjistra dhe gjurmë të pasura dhe më pas për t'i kërkuar ato në thellësi - domethënë vëzhgueshmëri - bëhet kritike. Këtu hyn në lojë AI kur i përgjigjet "pyetjes së panjohur më parë": ajo skanon shpejt të dhënat e papërpunuara që keni, sugjeron modele dhe anomali dhe ju arrini tek shkaku kryesor duke verifikuar këto të dhëna.

Hap pas hapi: çfarë dhe si të monitoroni?

  1. Zgjidhni matjet e duhura. Në industri, "katër sinjale të arta" merren si bazë: vonesa, trafiku, gabimet, ngopja - sa i plotë është burimi. Këto përmbledhin shëndetin e shumicës së shërbimeve.
  2. Mblidhni metrikë. Lëreni aplikacionin të paraqesë një pikë përfundimtare që Prometeu mund të lexojë.
  3. Konfiguro tabelat e kontrollit. Vizualizoni këto metrikë në Grafana.
  4. Shkruani rregullat e alarmit. Kush do të paralajmërohet kur tejkalohet një prag dhe si?
  5. Përqendroni regjistrat. Bëjini të gjitha regjistrat e shërbimit të kërkueshëm në një vend.
  6. Ulja e zhurmës. Alarmi i tepërt krijon "lodhje vigjilent"; Alarmi i rëndësishëm zhduket.
Këshillë: Një alarm i mirë plotëson dy gjëra: është i zbatueshëm dhe ka urgjencën e duhur. Një alarm që zgjon dikë në orën 3 të mëngjesit duhet të jetë diçka që në fakt kërkon ndërhyrje gjatë natës. Mos zgjo askënd për diçka që nuk kërkon veprim më vete, si "CPU 70%"; shfaqin atë në tabelë.

Si të shkruani një rregull alarmi?

Një sinjalizim përbëhet nga tre komponentë: kushti (cila metrikë tejkalon cilin prag dhe për sa kohë), kohëzgjatja (“për 5 minuta” për të shmangur nxitjen e luhatjeve momentale) dhe rëndësia/veprimi (kujt, përmes cilit kanal). AI i vendos me mjeshtëri këto tre me kontekstin e duhur. Për shembull, përkthimi i një rregulli si "alarmi kritik nëse shkalla e gabimit kalon 5% për 5 minuta" në PromQL është një detyrë e sekondës së ndarë për AI - por ju vendosni nëse pragu është i duhuri për sistemin tuaj.

Kujdes: Pragjet e alarmit të sugjeruara nga AI janë supozime të përgjithshme. Ngarkesa normale e sistemit tuaj, toleranca dhe ndikimi i punës janë të ndryshme. Përpara se të vendosni një prag drejtpërdrejt në prod, ju shikoni të dhënat tuaja historike dhe pyesni "sa herë është shkaktuar ky prag në të kaluarën, sa prej tyre ishin probleme reale?" Përgjigjuni pyetjes.

Privatësia e regjistrit: paralajmërim kritik

Shkrimet janë burimi më i anashkaluar i rrjedhjeve. Një linjë regjistri mund të përmbajë aksidentalisht një fjalëkalim, një numër karte krediti ose të dhëna personale (nën KVKK/GDPR). Kur ngjitni regjistrat në një AI për analizë:

  1. Maska zonat e ndjeshme. Zëvendësoni vlera të tilla si token, fjalëkalim, email, numër ID me <REDACTED>.
  2. Jepni shembuj, jo të gjithë. Në vend të një milion rreshtash, shpesh mjaftojnë disa qindra linja përfaqësuese.
  3. Zgjidhni një automjet të miratuar nga institucioni. Sidomos për regjistrat e prodhimit, përdorni një mjet, të dhënat e të cilit nuk shkojnë në trajnim.

Katër sinjale të arta dhe tabela alarmi

sinjal

matur nga

Shembull i pragut të alarmit

urgjenca

vonesë

koha e përgjigjes

p95 > 800 ms, 5 min

lartë

trafiku

Kërkesë/sek

Rritje/ulje e papritur 300%.

e mesme

Gabim

Shkalla e kërkesës së dështuar

> 5%, 5 min

kritike

Ngopja

zënia e burimeve

Disku > 85%

lartë

tre mini kuti

Rasti 1 - 400 rreshta regjistri të përmbledhur në 30 sekonda. Një shërbim ishte ngadalësuar. Inxhinieri i dha 400 rreshtat e maskuar të regjistrit AI dhe tha, "përmblidhni modelet e përsëritura të gabimit dhe intensitetin e kohës". Inteligjenca artificiale tregoi se një thirrje e jashtme e veçantë API përfundon çdo 30 sekonda. Shkaku kryesor i gjetur në 30 sekonda; Skanimi manual i regjistrave do të zgjaste gjysmë ore.

Rasti 2 - lodhja e alarmit e zgjidhur. Një ekip merrte 200 alarme në ditë dhe po i injoronte të gjithë - derisa një alarm i vërtetë ndërprerjeje u anashkalua. Jepini AI të gjitha rregullat e alarmit dhe pyesni "cilat prej tyre nuk janë të zbatueshme dhe cilat mund të kombinohen?" pyetën ata. Numri i alarmeve është ulur në 12 në ditë; Çdo alarm tani merrej seriozisht.

Rasti 3 - pragu i gabuar i kapur herët. YZ sugjeroi "Paralajmëroj kur 95% është plot" për diskun. Inxhinieri shikoi të dhënat historike: sapo disku arriti 95% kishte pak kohë për ndërhyrje. Ai uli pragun në 80% dhe shtoi një alarm të dytë bazuar në "shkallën e rritjes". Verifikimi parandaloi një ndërprerje të vërtetë të mesnatës.

Katër shabllone të kopjueshëm

1) Përmbledhja e regjistrave (i maskuar):

Analizoni shembullin e regjistrit më poshtë (kam maskuar vlerat e ndjeshme me <REDACTED>). Më jepni: (1) modelet e gabimeve të përsëritura, (2) përqendrimi me kalimin e kohës, (3) shkaku kryesor i mundshëm dhe (4) 3 metrikë që do të shikoj për të verifikuar. Regjistri: [LINES]

2) Gjenerimi i rregullave të alarmit:

Shkruani një rregull alarmi për Prometheus/Alertmanager: Gjeneroni alarmin [SEVERITY] nëse [THRESHOLD] tejkalon [METRIC][DURATION]. Rregulli duhet të jetë i orientuar drejt veprimit dhe të përfshijë një shënim dhe një fushë lidhjeje të librit. Shpjegoni PromQL dhe shkruani pse ky prag është i arsyeshëm.

3) Shkrimi/deklarimi i pyetjes PromQL:

Shkruani një pyetje PromQL që mat: [EX. 5xxerror rate përqindje në 5 minutat e fundit]. Shpjegoni pyetjen hap pas hapi. Pastaj më tregoni se cili duhet të jetë diapazoni i shëndetshëm për këtë vlerë.

4) Dizajni i panelit:

Dizenjoni një tabelë të Grafana-s për [SHËRBIM]: me cilat panele duhet të shfaq katër sinjalet e arta (latenca, trafiku, gabimi, ngopja)? Sugjeroni metrikë, llojin e vizualizimit dhe pragun e arsyeshëm për çdo panel. Qëllimi: për të parë gjendjen shëndetësore të një roje në 10 sekonda.

Prompt i dobët / Prompt i fortë

I dobët: "Çfarë ka në atë regjistër?" (e ndjekur nga 5000 rreshta trungu të papërpunuar, argumente në të)

Rezultati: ju zbuloni sekrete dhe AI ​​jep një përmbledhje të pacaktuar, sipërfaqësore.

Strong: "Gjeni modelet e përsëritura të gabimeve dhe intensitetin e kohës në shembullin e regjistrit të maskuar me 300 rreshta më poshtë; më tregoni shkakun më të mundshëm rrënjësor dhe metrikat që do të shikoj për të verifikuar. I kam bërë shenjat <REDACTED>."

Dallimi: prompti i dytë jep një shembull të maskuar dhe të fokusuar, duke kërkuar një rezultat të qartë analize; Është edhe i sigurt edhe i dobishëm.

Gabimet e zakonshme

  • Ngjitja e regjistrit në AI pa e maskuar atë. Rrjedhja më e zakonshme e të dhënave sekrete/personale.
  • Vendosja e alarmeve për gjithçka. Lodhja e alarmit varros alarmin e vërtetë.
  • Alarmi jo-veprues. Është zhurmë paralajmëruese për të cilën askush nuk mund të bëjë asgjë.
  • Pranimi i pragut të AI pa diskutim. Pragu duhet të caktohet sipas historisë së sistemit tuaj.
  • Vetëm duke parë metrikën. Pa log dhe gjurmë, shkaku rrënjësor nuk mund të gjendet shumicën e kohës.
  • Mos vendosja e një ore alarmi (për). Luhatjet momentale prodhojnë alarme të rreme.

Në përmbledhje

Vëzhgueshmëria; Është aftësia për të kuptuar brendësinë e sistemit nga jashtë me metrikë, shkrime dhe gjurmë. Katër sinjalet e arta (latenca, trafiku, gabimi, ngopja) përmbledhin shëndetin e shumicës së shërbimeve. Inteligjenca artificiale është shumë e fuqishme në shkrimin e pyetjeve të PromQL, rregullave të alarmit dhe paneleve, dhe në përmbledhjen e pjesëve të mëdha të regjistrave dhe gjetjen e anomalive. Por është përgjegjësia juaj të verifikoni pragjet e alarmit kundrejt historisë së sistemit tuaj, t'i mbani alarmet të orientuara nga veprimet dhe të mos i ndani asnjëherë regjistrat pa i maskuar ato.

Detyra e aplikimit

Për një shërbim (ose një shembull shërbimi): (1) Keni krijuar një rregull alarmi për shkallën e gabimit me shabllonin "Generimi i rregullave të alarmit" dhe vendosni pragun e sugjeruar në "sa herë është aktivizuar në të kaluarën?" Provoje me pyetjen; (2) maskoni një mostër regjistri që keni dhe analizojeni me shabllonin "Përmbledhja e regjistrave"; (3) vini re se cilën metrikë do të shikoni për të konfirmuar shkakun rrënjësor më të mundshëm.

listë kontrolli

  • [ ] Zgjodha metrikën për të gjurmuar bazuar në katër sinjale të arta.
  • [ ] Kam maskuar të gjitha regjistrat që i kam dhënë AI për sa i përket zonave të ndjeshme.
  • [ ] Kam verifikuar që çdo alarm ishte i orientuar drejt veprimit dhe i urgjencës së duhur.
  • [ ] Kam testuar pragjet e alarmit kundrejt të dhënave historike të sistemit tim.
  • [ ] Kam filtruar luhatjet e menjëhershme duke shtuar për (kohëzgjatjen) alarmeve.
  • [ ] Kam përdorur metrikë + log + gjurmë së bashku për shkakun rrënjësor.