Tizim qanchalik murakkab bo'lsa, u har xil ogohlantirishlar bilan to'lib-toshgan bo'ladi. Va xuddi shu ogohlantirishlarga munosabat bildirish, ularni jamlash va vizualizatsiya qilish kerak. Menimcha, bu ko'pchilikka asabiylashish darajasigacha tanish bo'lgan holat.
Muhokama qilinadigan yechim eng kutilmagan emas, ammo qidiruv ushbu mavzu bo'yicha to'liq huquqli maqolani qaytarmaydi.
Shuning uchun men FunCorp tajribasini baham ko'rishga qaror qildim va navbatchilik jarayoni qanday tuzilgani, kim qo'ng'iroq qiladi, nima uchun va qanday qarash mumkinligi haqida gapirishga qaror qildim.
PagerDuty nima?
Shunday qilib, bu muammolarni hal qilish uchun biz qulay vositani izlay boshladik. Biroz qidiruvdan so'ng biz PagerDuty-ni tanladik. PD bizga ko'p sonli integratsiya va sozlamalarga ega bo'lgan juda to'liq va ixcham yechim bo'lib tuyuldi. U qanday?
Xulosa qilib aytganda, PagerDuty bu hodisani qayta ishlash platformasi bo'lib, u turli xil integratsiyalar orqali kiruvchi hodisalarni qayta ishlay oladi, navbatchilik buyruqlarini o'rnatadi va keyin voqea darajasiga qarab navbatchi muhandisni ogohlantiradi (yuqori darajada - qo'ng'iroq, past darajada - ilovadan / SMS-dan surish).
Navbatchi kim?
Bu, ehtimol, PD o'rnatishni boshlash uchun birinchi joy.
FunCorp-da, boshqa kompaniyalar singari, navbatchi ofitserining faxriy lavozimi mavjud. Kuniga bir marta muhandisdan muhandisga uzatiladi. PagerDuty-dan ogohlantirishga javob berishning birinchi va ikkinchi qatori mavjud. Faraz qilaylik, yuqori darajadagi ogohlantirish keldi va agar birinchi qatordan navbatchiga qo'ng'iroq qilinganidan keyin 10 minut o'tgach, unga hech qanday munosabat bo'lmasa (ya'ni, tan olish yoki hal qilingan holatga o'tkazilmasa), qo'ng'iroq ikkinchisiga o'tadi. navbatchi muhandis. Bu PagerDuty-ning o'zida Eskalatsiya siyosati orqali sozlangan.
Agar ikkinchi navbatchi javob bermasa, bildirishnoma yana qaytib keladi asosiy navbatchiga.
Shunday qilib, har qanday kiruvchi yuqori ustuvor ogohlantirish ishlovsiz qolishi mumkin emas.
Keling, voqealar qaerdan kelib chiqishi mumkinligini ko'rib chiqaylik.
Biz qanday integratsiyalardan foydalanamiz?
PD turli xizmatlardan juda ko'p turli hodisalarni oladi. Hozirda bizda 25 ga yaqin shunday xizmatlar mavjud va ularni qayta ishlash uchun biz tayyor integratsiyalardan foydalanamiz.
- Prometheus
Ko'rsatkichlarni yig'ishning asosiy tizimi Prometey hisoblanadi. HabrΓ©-da bu haqda ko'p narsa yozilgan, shunchaki aytamanki, bizda turli muhitlar uchun ularning bir nechtasi bor: biri virtual mashinalar va dokerlardan o'lchovlarni yig'adi, ikkinchisi Amazon xizmatlaridan, uchinchisi apparat mashinalaridan. Telegraf asosan metrikalar eksportchisi sifatida ishlatiladi.
Bu erda ham, menimcha, sarlavhadan hamma narsa aniq. Ushbu integratsiya cron tomonidan bajarilgan ba'zi skriptlardan bildirishnomalarni yuborish uchun ishlatiladi. PD sizga xat yuboradigan ma'lum bir manzilni beradi. Bunday integratsiyaga ega xizmatni yaratishda siz ustuvorliklarni belgilashingiz mumkin, kiruvchi hodisalar qanday tartibda qayta ishlanadi, qanday aniq ogohlantirishni yaratish kerak (har bir kiruvchi xat uchun, kiruvchi xat uchun + ma'lum bir qoida va boshqalar).
- bo'shashmasdan
Menimcha, juda qiziqarli integratsiya. Ba'zida biror narsa sodir bo'ladi, lekin voqealar bilan qamrab olinmaydi. Shuning uchun biz hodisa yaratish uchun Slack-dan integratsiyani qo'shdik. Ya'ni korporativ Slack-ga yozishingiz mumkin /callofduty hammasi sekin va tez orada buziladi va PD uni qayta ishlaydi va voqeani navbatchi muhandisga yuboradi.
Biz bajaramiz:
Biz ko'ramiz:
- API
HTTP integratsiyasi. Aslida, bu erda ayniqsa qiziq narsa yo'q, faqat JSON formatidagi tanaga ega POST so'rovi. Masalan, qiziqarli narsa: biz uni tashqi monitoring uchun ishlatamiz
- LibreNMS
Bu boshqa monitoring tizimi, siz bu haqda o'z veb-saytida o'qishingiz mumkin
Datadog, CloudWatch kabi integratsiyalar ham mavjud edi. Ular bilan nima sodir bo'lganligi haqida ko'proq bilib olishingiz mumkin
Vizualizatsiya
Voqealar haqida xabar berishning asosiy tizimi - Slack. PDga kelgan barcha hodisalar maxsus chatga yoziladi va agar ularning holati o'zgarsa, bu chatda ham ko'rsatiladi.
Shiftga osilgan monitorlar ekranlarida foydali ma'lumotlarni ko'rsatish imkoniyati paydo bo'lganda, biz to'satdan bizda (devops bo'limida) ularda ko'rsatish uchun hech narsa yo'qligini angladik. Ajoyib Grafana bor, lekin u hamma narsani qamrab olmaydi va xodimlar jadvallarga emas, balki ogohlantirishlarga munosabat bildirishadi.
GitHub-da PD uchun ixcham va ma'lumot beruvchi "taxta" uchun puxta, ammo muvaffaqiyatsiz qidiruvdan so'ng, biz o'zimizni yozishga qaror qildik - faqat bizga kerak bo'lgan narsalar bilan. Dastlab PD interfeysining o'zini ko'rsatish g'oyasi mavjud bo'lsa-da, u yanada noqulay ko'rinardi.
Uni yozish uchun faqat o'qish huquqiga ega PD kalitini olish kifoya.
Va bizda shunday narsa bor:
Ekranda joriy ochiq hodisalar, tanlangan jadvaldan hozirgi navbatchi muhandisning ismi va yuqori darajadagi hodisasiz vaqt ko'rsatiladi (yuqori ustuvor hodisa bo'lgan panel qizil rang bilan ajratiladi).
Natijada biz barcha hodisalarimizni ko'rish uchun qulay boshqaruv paneli oldik. Agar sizlardan ba'zilaringiz bizning tajribamizni foydali deb topsa, xursand bo'laman.
Manba: www.habr.com