Jo sarežģītÄka sistÄma, jo vairÄk tÄ kļūst aizaugusi ar visa veida brÄ«dinÄjumiem. Un ir jÄreaÄ£Ä uz Å”iem paÅ”iem brÄ«dinÄjumiem, jÄapkopo tie un jÄvizualizÄ. ManuprÄt, Ŕī ir daudziem lÄ«dz nervozitÄtei pazÄ«stama situÄcija.
RisinÄjums, par kuru tiks runÄts, nav pats negaidÄ«tÄkais, taÄu meklÄÅ”ana neatgriež pilnvÄrtÄ«gu rakstu par Å”o tÄmu.
TÄpÄc nolÄmu padalÄ«ties ar FunCorp pieredzi un pastÄstÄ«t par to, kÄ tiek strukturÄts dežūras process, kas zvana, kÄpÄc un kÄ uz to visu var paskatÄ«ties.
Kas ir PagerDuty?
TÄpÄc, lai atrisinÄtu visas Ŕīs problÄmas, mÄs sÄkÄm meklÄt Ärtu rÄ«ku. PÄc nelielas meklÄÅ”anas mÄs izvÄlÄjÄmies PagerDuty. PD mums Ŕķita diezgan pilnÄ«gs un kodolÄ«gs risinÄjums ar lielu skaitu integrÄciju un iestatÄ«jumu. KÄda viÅa ir?
ÄŖsÄk sakot, PagerDuty ir incidentu apstrÄdes platforma, kas var apstrÄdÄt ienÄkoÅ”os incidentus, izmantojot dažÄdas integrÄcijas, iestatÄ«t dežūras rÄ«kojumus un pÄc tam brÄ«dinÄt dežurÄjoÅ”u inženieri atkarÄ«bÄ no incidenta lÄ«meÅa (augstÄ lÄ«menÄ« - zvans, zemÄ lÄ«menÄ« - push no lietojumprogrammas / SMS) .
Kas ir dežurants?
IespÄjams, Ŕī ir pirmÄ vieta, kur sÄkt PD iestatÄ«Å”anu.
FunCorp, tÄpat kÄ citos uzÅÄmumos, ir dežuranta goda amats. To nosÅ«ta no inženiera inženierim vienu reizi dienÄ. Ir tÄ sauktÄ pirmÄ un otrÄ rinda, kas reaÄ£Ä uz brÄ«dinÄjumu no PagerDuty. PieÅemsim, ka pienÄk augstas prioritÄtes brÄ«dinÄjums un, ja 10 minÅ«tes pÄc zvana dežurantam no pirmÄs lÄ«nijas uz to netiek reaÄ£Äts (t.i., tas netiek pÄrsÅ«tÄ«ts uz apstiprinÄjuma vai atrisinÄta statusu), izsaukums pÄriet uz otro. dežurants inženieris. Tas ir konfigurÄts paÅ”Ä PagerDuty, izmantojot eskalÄcijas politikas.
Ja otrais dežurants nereaÄ£Ä, paziÅojums atgriežas galvenais dežurantam.
TÄdÄjÄdi neviens ienÄkoÅ”ais augstas prioritÄtes brÄ«dinÄjums nevar palikt neapstrÄdÄts.
Tagad redzÄsim, no kurienes var rasties incidenti.
KÄdas integrÄcijas mÄs izmantojam?
PD saÅem daudz dažÄdu incidentu no dažÄdiem dienestiem. Å obrÄ«d mums ir aptuveni 25 Å”Ädi servisi, un to apstrÄdei izmantojam dažas gatavas integrÄcijas.
- Prometejs
GalvenÄ metrikas vÄkÅ”anas sistÄma ir Prometheus. Par to jau ir daudz rakstÄ«ts vietnÄ HabrĆ©, es tikai teikÅ”u, ka mums ir vairÄki no tiem dažÄdÄm vidÄm: viens apkopo metriku no virtuÄlajÄm maŔīnÄm un dokeriem, otrs no Amazon pakalpojumiem, treÅ”ais no aparatÅ«ras maŔīnÄm. Telegraf galvenokÄrt tiek izmantots kÄ metrikas eksportÄtÄjs.
- E-pasts
ArÄ« Å”eit, manuprÄt, no virsraksta viss ir skaidrs. Å Ä« integrÄcija tiek izmantota, lai nosÅ«tÄ«tu paziÅojumus no dažiem skriptiem, ko izpilda cron. PD dod jums noteiktu adresi, uz kuru jÅ«s sÅ«tÄt vÄstules. Veidojot servisu ar Å”Ädu integrÄciju, var iestatÄ«t prioritÄtes, kÄdÄ secÄ«bÄ tiks apstrÄdÄti ienÄkoÅ”ie incidenti, kÄ tieÅ”i izveidot brÄ«dinÄjumu (par katru ienÄkoÅ”o vÄstuli, par ienÄkoÅ”o vÄstuli + noteikts noteikums utt.).
- Ļengans
ManuprÄt, ļoti interesanta integrÄcija. Ir reizes, kad kaut kas notiek, bet to neaptver incidenti. TÄpÄc mÄs pievienojÄm integrÄciju no Slack, lai izveidotu incidentu. Tas ir, jÅ«s varat rakstÄ«t uzÅÄmumam Slack /callofduty viss ir lÄns un drÄ«z salÅ«zÄ«s un PD to apstrÄdÄs un nosÅ«tÄ«s incidentu dežurantam.
MÄs darÄm:
MÄs redzam:
- API
HTTP integrÄcija. PatiesÄ«bÄ Å”eit nav nekÄ Ä«paÅ”i interesanta, tikai POST pieprasÄ«jums ar pamattekstu JSON formÄtÄ. PiemÄram, kaut kas interesants: mÄs to izmantojam ÄrÄjai uzraudzÄ«bai, izmantojot
- LibreNMS
Å Ä« ir vÄl viena uzraudzÄ«bas sistÄma, par to vairÄk varat lasÄ«t viÅu mÄjaslapÄ
Bija arÄ« tÄdas integrÄcijas kÄ Datadog, CloudWatch. JÅ«s varat redzÄt vairÄk par to, kas ar viÅiem notika
VizualizÄcija
GalvenÄ incidentu ziÅoÅ”anas sistÄma ir Slack. Visi incidenti, kas nonÄk PD, tiek ierakstÄ«ti Ä«paÅ”Ä tÄrzÄÅ”anÄ, un, ja to statuss mainÄs, tas tiek parÄdÄ«ts arÄ« tÄrzÄÅ”anÄ.
Kad radÄs iespÄja parÄdÄ«t noderÄ«gus datus uz monitoru ekrÄniem, kas karÄjÄs no griestiem, mÄs pÄkÅ”Åi sapratÄm, ka mums (devops nodaļÄ) nav ko tajos attÄlot. Ir brÄ«niŔķīga Grafana, taÄu tÄ neaptver visu, un darbinieki reaÄ£Ä uz brÄ«dinÄjumiem, nevis diagrammÄm.
PÄc pamatÄ«giem, bet neveiksmÄ«giem meklÄjumiem GitHub, lai atrastu kodolÄ«gu un informatÄ«vu ādÄliā PD, mÄs nolÄmÄm uzrakstÄ«t savu - tikai ar to, kas mums nepiecieÅ”ams. Lai gan sÄkotnÄji bija doma parÄdÄ«t paÅ”u PD interfeisu, tas izskatÄ«jÄs vÄl neÄrtÄk.
Lai to uzrakstÄ«tu, viss, kas jums jÄdara, ir jÄiegÅ«st atslÄga no PD ar tikai lasÄ«Å”anas tiesÄ«bÄm.
Un tas ir tas, ko mÄs saÅÄmÄm:
EkrÄnÄ tiek parÄdÄ«ti paÅ”reizÄjie atklÄtie incidenti, paÅ”reizÄjÄ dežūrÄjoÅ”Ä inženiera vÄrds saskaÅÄ ar atlasÄ«to grafiku un laiks bez augstas prioritÄtes incidenta (panelis ar augstas prioritÄtes incidentu tiks iezÄ«mÄts sarkanÄ krÄsÄ).
RezultÄtÄ mÄs saÅÄmÄm Ärtu informÄcijas paneli visu mÅ«su incidentu apskatei. PriecÄÅ”os, ja kÄdam no jums mÅ«su pieredze bÅ«s noderÄ«ga.
Avots: www.habr.com