PagerDuty, же Эмне үчүн Операция бөлүмү түнү уктабайт

Система канчалык татаал болсо, ал ар кандай эскертүүлөр менен толуп калат. Жана ушул эле эскертүүлөргө реакция кылуу, аларды бириктирүү жана визуалдаштыруу зарыл. Менимче, бул көпчүлүккө нервденгенге чейин тааныш абал.

Талкуула турган чечим күтүүсүз эмес, бирок издөө бул тема боюнча толук кандуу макаланы бербейт.

Ошондуктан, мен FunCorp тажрыйбасы менен бөлүшүүнү чечтим жана нөөмөт процесси кандайча түзүлөт, ким чалды, эмне үчүн жана мунун бардыгын кантип карап көрүүгө болот.

PagerDuty, же Эмне үчүн Операция бөлүмү түнү уктабайт

PagerDuty деген эмне?

Ошентип, бул көйгөйлөрдүн баарын чечүү үчүн биз ыңгайлуу куралды издей баштадык. Бир аз издегенден кийин, биз PagerDuty тандадык. PD бизге көптөгөн интеграциялар жана орнотуулар менен толук жана кыска чечим болуп көрүндү. Ал кандай?

Кыскача айтканда, PagerDuty инциденттерди иштеп чыгуу платформасы болуп саналат, ал ар кандай интеграциялар аркылуу келип түшкөн инциденттерди иштетип, нөөмөт буйруктарын орнотуп, андан кийин инциденттин деңгээлине жараша нөөмөттөгү инженерге эскертет (жогорку деңгээлде - чакыруу, төмөнкү деңгээлде - тиркемеден / SMSтен түртүү).

Дежурный деген ким?

Бул, балким, PD орнотууну баштоо үчүн биринчи жер.

FunCorp компаниясында башка компаниялар сыяктуу эле дежурный ардактуу кызматы бар. Күнүнө бир жолу инженерден инженерге берилет. PagerDuty сигналына жооптун биринчи жана экинчи саптары бар. Жогорку приоритеттүү эскертүү келди дейли, эгер биринчи саптан нөөмөтчү инженерге чалуудан 10 мүнөт өткөндөн кийин ага эч кандай реакция болбосо (б.а., ал кабыл алынган же чечилген статуска которулбаса), чалуу экинчиге өтөт. дежурный инженер. Бул PagerDuty өзүндө Escalation Policy аркылуу конфигурацияланган.

PagerDuty, же Эмне үчүн Операция бөлүмү түнү уктабайт

Экинчи кезметчи жооп бербесе, билдирүү кайра кайтарылат негизги дежурныйга.

Ошентип, кандайдыр бир келген жогорку артыкчылыктуу эскертүү иштетилбей кала албайт. 

Эми инциденттер кайдан келип чыгышын карап көрөлү.

Биз кандай интеграцияларды колдонобуз?

PD ар кандай кызматтардан көптөгөн ар кандай окуяларды алат. Учурда бизде 25тей ушундай кызматтар бар жана аларды иштетүү үчүн биз даяр интеграцияларды колдонобуз.

  • Prometheus

Негизги метрика чогултуу системасы Prometheus болуп саналат. Habréде бул жөнүндө көп нерсе жазылган, мен жөн гана айта кетейин, бизде алардын бир нечеси ар кандай чөйрөлөр үчүн бар: бири виртуалдык машиналардан жана докерлерден, экинчиси Amazon кызматтарынан, үчүнчүсү аппараттык машиналардан. Telegraf негизинен метрика экспорттоочу катары колдонулат.

  • электрондук почта

Бул жерде да, менимче, аталышынан баары ачык көрүнүп турат. Бул интеграция cron тарабынан аткарылган кээ бир скрипттерден эскертмелерди жөнөтүү үчүн колдонулат. PD сизге кат жөнөткөн белгилүү бир даректи берет. Мындай интеграциясы бар кызматты түзүүдө сиз приоритеттерди белгилей аласыз, түшкөн инциденттер кандай тартипте иштетилет, так кантип эскертүү түзүлөт (ар бир келген кат үчүн, келген кат үчүн + белгилүү бир эреже ж.б.у.с.).

PagerDuty, же Эмне үчүн Операция бөлүмү түнү уктабайт

  • жалкоолонуп

Менин оюмча, абдан кызыктуу интеграция. Кээде бир нерсе болуп, бирок окуялар менен камтылбай калган учурлар болот. Ошондуктан, биз окуяны түзүү үчүн Slack интеграциясын коштук. Башкача айтканда, сиз корпоративдик Slackке жаза аласыз /callofduty баары жай жана жакында бузулат жана ПД аны иштеп чыгып, окуяны дежур инженерге жөнөтөт.

Биз жасайбыз:

PagerDuty, же Эмне үчүн Операция бөлүмү түнү уктабайт

Биз көрөбүз:

PagerDuty, же Эмне үчүн Операция бөлүмү түнү уктабайт

  • API

HTTP интеграциясы. Чынында, бул жерде өзгөчө кызыктуу эч нерсе жок, жөн гана JSON форматындагы денеси бар POST өтүнүчү. Мисалы, кызыктуу нерсе: биз аны тышкы мониторинг үчүн колдонобуз https://www.statuscake.com/. Бул кызмат дүйнөнүн ар кайсы бурчтарынан биздин сайттардын жеткиликтүүлүгүн текшерет. Биз кабыл алынгыс жооп кодун алган учурда (мисалы, 502) инцидент түзүлүп, андан кийин бардыгы жогоруда сүрөттөлгөн чынжыр боюнча жүрөт. StatusCake өзү ички URL'дерди, SSL сертификатын же домендин мөөнөтүн көзөмөлдөө мүмкүнчүлүгүнө ээ.

  • LibreNMS

Бул дагы бир мониторинг системасы, сиз алардын сайтында бул тууралуу көбүрөөк окуй аласыз https://www.librenms.org/. Анын жардамы менен биз серверлерден тармак интерфейстерин жана iDRAC-ды көзөмөлдөйбүз.

PagerDuty, же Эмне үчүн Операция бөлүмү түнү уктабайт

Ошондой эле Datadog, CloudWatch сыяктуу интеграциялар болгон. Алар менен эмне болгонун көбүрөөк көрө аласыз бул жерде.

Визуализация

Окуяларды билдирүүнүн негизги системасы - Slack. ПДга келген бардык окуялар атайын чатта жазылат жана алардын статусу өзгөрсө, бул да чатта көрсөтүлөт.

PagerDuty, же Эмне үчүн Операция бөлүмү түнү уктабайт

Шыпка илинип турган мониторлордун экрандарында пайдалуу маалыматтарды көрсөтүү мүмкүнчүлүгү пайда болгондо, биз күтүлбөгөн жерден бизде (devops бөлүмүндө) аларда көрсөтө турган эч нерсе жок экенин түшүндүк. Кереметтүү Grafana бар, бирок ал бардыгын камтыбайт жана кызматкерлер диаграммаларга эмес, эскертүүлөргө жооп беришет.

GitHub'да PD үчүн кыска жана маалыматтык "тактаны" кылдат, бирок ийгиликсиз издөөдөн кийин, биз өзүбүзгө керектүү нерселерди гана жазууну чечтик. Башында PD интерфейсинин өзүн көрсөтүү идеясы бар болсо да, ал андан да ыңгайсыз көрүндү.

Аны жазуу үчүн сизге окууга гана укугу бар PDден ачкыч алуу жетиштүү.
Жана бул биз алган нерсе:

PagerDuty, же Эмне үчүн Операция бөлүмү түнү уктабайт

Экранда учурдагы ачык инциденттер, тандалган графиктен учурдагы нөөмөттөгү инженердин аты-жөнү жана жогорку артыкчылыктуу инцидент жок убакыт көрсөтүлөт (жогорку артыкчылыктуу окуя болгон панел кызыл түс менен белгиленет).

Бул ишке ашыруу булактарын бул жерден караңыз.

Натыйжада, биз бардык окуяларды көрүү үчүн ыңгайлуу башкаруу тактасын алдык. Кээ бириңиздерге биздин тажрыйбабыз пайдалуу болсо, мен кубанычтамын.

Source: www.habr.com

Комментарий кошуу