PagerDuty jeb Kāpēc Operāciju nodaļa nevar gulēt naktī

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.

PagerDuty jeb Kāpēc Operāciju nodaļa nevar gulēt naktī

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.

PagerDuty jeb Kāpēc Operāciju nodaļa nevar gulēt naktī

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.).

PagerDuty jeb Kāpēc Operāciju nodaļa nevar gulēt naktī

  • Ä»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:

PagerDuty jeb Kāpēc Operāciju nodaļa nevar gulēt naktī

Mēs redzam:

PagerDuty jeb Kāpēc Operāciju nodaļa nevar gulēt naktī

  • 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 https://www.statuscake.com/. Å is pakalpojums pārbauda mÅ«su vietņu pieejamÄ«bu no dažādām pasaules vietām. GadÄ«jumā, ja tiek saņemts nepieņemams atbildes kods (piemēram, 502), tiek izveidots incidents un tad viss notiek iepriekÅ” aprakstÄ«tajā ķēdē. StatusCake pati par sevi ir iespēja uzraudzÄ«t iekŔējos URL, SSL sertifikātu vai domēna derÄ«guma termiņu.

  • LibreNMS

Šī ir vēl viena uzraudzības sistēma, par to vairāk varat lasīt viņu mājaslapā https://www.librenms.org/. Ar tās palīdzību mēs uzraugām tīkla saskarnes un iDRAC no serveriem.

PagerDuty jeb Kāpēc Operāciju nodaļa nevar gulēt naktī

Bija arÄ« tādas integrācijas kā Datadog, CloudWatch. JÅ«s varat redzēt vairāk par to, kas ar viņiem notika Å”eit.

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ā.

PagerDuty jeb Kāpēc Operāciju nodaļa nevar gulēt naktī

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:

PagerDuty jeb Kāpēc Operāciju nodaļa nevar gulēt naktī

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ā).

Skatiet Ŕīs ievieŔanas avotus Ŕeit.

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

Pievieno komentāru