The Mon-ifesto Part 2: Alerting and Graphing

Un ghid în trei părți pentru o mai bună monitorizare a aplicațiilor

Partea 2 a unei serii din 3 părți despre monitorizare. Puteți citi Partea 1 aici.

Odată ce valorile dvs. au fost identificate, stabilite linia de bază și fluxul de date, atunci ce? Urmează configurarea alertelor.

Există patru tipuri de alerte pe care le vor genera valorile dvs.: prioritate redusă, prioritate medie, prioritate ridicată și informațional . A afla ce alarme generează ce alerte și a le direcționa către canalele corespunzătoare va contribui mult la reducerea „oboselii pagerului” și la fericirea echipelor de operațiuni (și la lipsa somnului). Să aruncăm o privire la fiecare tip de alertă și câteva sugestii despre cum să le direcționăm.

Vă rugăm să rețineți că SLA-urile pentru aceste tipuri de avertizare sunt reguli generale; SLA-urile pentru aplicații vor fi probabil diferite, dar acestea sunt un bun punct de plecare. În acest context, un SLA este timpul de la generarea alertelor până la confirmarea de către un inginer, nu un timp până la rezoluție.

1. Alerte cu prioritate ridicată (SLA: minute)

Alertele cu prioritate ridicată reprezintă cel mai sever nivel de alerte pe care îl va genera aplicația dvs. Aceste alerte vor fi adesea pentru creșteri bruște mari într-una din cele patru valori cheie (apeluri pe minut, rata de eroare, timpul de răspuns, saturația lățimii de bandă). Observați că am spus „ vârfuri bruște mari” – nu doriți ca fiecare vârf să genereze o alertă cu prioritate ridicată, ci doar cele care indică o posibilă stare de eșec pentru aplicația dvs. În plus, alertele cu prioritate ridicată sunt pentru disponibilitatea generală a aplicației; dacă aplicația dvs. nu poate fi accesată, atunci aveți o problemă majoră.

Direcționarea alertelor cu prioritate ridicată este destul de simplă: dacă aveți integrare cu NOC-ul companiei dvs. trimiteți-le alertele. Dacă nu, un instrument de gestionare a operațiunilor este de neprețuit. Un astfel de instrument vă va permite să apelați telefoanele inginerilor pentru a-i alerta cu privire la problemă. Alertele cu prioritate ridicată sunt tipul de alerte pentru care trezesc oamenii, așa că nu fi timid în ceea ce privește configurarea alarmelor puternice. Aveți nevoie de inginerii dvs. pentru a răspunde la acestea în același mod în care pompierii răspund la un incendiu cu cinci alarme.

Pe lângă paginarea inginerilor, veți dori să afișați aceste alerte undeva. A avea un grup de lucru cu ceea ce se întâmplă este vital pentru a vă asigura că întreaga echipă se află pe aceeași pagină și înțelege care sunt prioritățile. O placă de evenimente bazată pe browser este o soluție bună pentru acest lucru, dar puteți utiliza și televizoare sau proiectoare dacă echipa dvs. se află în același birou.

2. Alertă cu prioritate medie (SLA: Ore)

Să începem vorbind despre modul în care direcționăm alertele medii. Nu doriți să sunați alarme cu aceste alerte, dar doriți, de asemenea, să vă asigurați că alertele dvs. medii sunt vizibile pentru inginerii dvs. Pentru aceasta aș recomanda o abordare în două direcții: direcționați alertele atât către un instrument precum Slack, Hipchat, Teams etc., cât și către panoul de alertă. Folosirea unei aplicații de chat în timp real oferă inginerilor de gardă un canal de alertă în timp real, oferind în același timp inginerilor dvs. de serviciu posibilitatea de a ignora alertele.

În ceea ce privește ce tip de alerte ar trebui să fie considerate cu prioritate medie, de obicei doriți să analizați valori crescute susținute sau creșteri bruște în valori care nu prezintă aplicației dvs. o condiție de eșec potențial. În plus, dacă doriți, puteți include notificări host-down în categoria de prioritate medie. Dacă ați arhitectat corect serviciul de aplicații, o masă non-critică de gazde descendente nu ar trebui să prezinte o situație de criză. Totuși, reducerea gazdelor combinată cu modele de trafic viitoare necunoscute înseamnă că nu aveți nicio idee dacă sunteți pe cale să vedeți sau nu o inundație de trafic de intrare și dacă ar trebui să planificați pentru cel mai rău.

3. Alerte cu prioritate redusă (SLA: Days)

Alertele cu prioritate redusă sunt alertele cu prioritate redusă pe care inginerii dvs. vor trebui să acționeze. Aceste alerte pot fi pentru orice lucru care are nevoie de un fel de intervenție umană – spațiu redus pe disc, creșteri ale procesorului, pachete de rețea abandonate, etc. Motivul pentru care tratăm aceste alarme ca fiind cu prioritate redusă este că, așa cum s-a discutat în partea 1, orice problemă gravă cu infrastructura sau mediul de aplicații care stau la baza lor va ajunge la cele patru valori cheie. Pe cont propriu, lucruri precum utilizarea procesorului nu înseamnă prea mult, dar un inginer ar trebui să se uite la el atunci când are ceva timp și să vadă dacă există o problemă mai profundă în joc.

Direcționarea acestor alerte este simplă: trimiteți-le la JIRA sau la o altă aplicație de urmărire a sarcinilor. Întrucât SLA este măsurat în zile, aceste alerte pot sta în siguranță într-o coadă JIRA pentru ca echipele dvs. de ingineri să aleagă una câte una atunci când nu se angajează alerte cu prioritate mai mare. În plus, nu vă mirați dacă majoritatea problemelor cu prioritate redusă sunt închise rapid, deoarece „nu s-a putut reproduce”, de multe ori aceste alerte sunt probleme tranzitorii din cauza unor factori care nu intră sub controlul echipei de ingineri (copierea de rezervă a fișierelor a cauzat un blocaj de rețea I / O etc.).

Dacă aveți capacitatea de dezvoltare, alarmele cu prioritate redusă sunt ținte foarte bune pentru automatizarea răspunsului la alarmă. Adesea, o problemă va avea o rezoluție repetabilă (reporniți mașina, ștergeți folderul / tmp etc.) și automatizarea acestor sarcini este o modalitate bună de a elibera cicluri pentru ca inginerii dvs. să lucreze la sarcini mai importante.

4. Alerte informaționale (SLA: None)

Până acum, am vorbit despre alerte care necesită intervenția umană într-o anumită calitate. Alertele informative nu; cu greu pot fi numite „alerte”, deoarece sunt mai asemănătoare cu „notificări” sau „postări”. Aici poate fi util un sistem precum Splunk sau un stack ELK; puteți derula aceste notificări către un fel de sistem de agregare a textului pentru o analiză ulterioară sau corelare, dacă doriți. Aceste notificări pot fi utile pentru construirea tablourilor de bord metrice care urmăresc statistici precum implementări de aplicații sau reporniri JVM.

Acum, după ce ne-am definit nivelurile de alertă și cum vom notifica inginerii noștri cu privire la probleme, trebuie să ne dăm seama cum vom răspunde exact la aceste alarme.

* The Mon-ifesto Part 1: Metrics

* The Mon-ifesto Part 3: Alert Response and Post-Mortem

DECLARAȚIE DE PREZENTARE: Aceste opinii sunt cele ale autorului. Cu excepția cazului în care se menționează altfel în această postare, Capital One nu este afiliată și nici nu este susținută de niciuna dintre companiile menționate. Toate mărcile comerciale și alte proprietăți intelectuale utilizate sau afișate sunt proprietatea proprietarilor respectivi. Acest articol este © 2018 Capital One.