Система канчалык татаал болсо, ал ар кандай эскертүүлөр менен толуп калат. Жана ушул эле эскертүүлөргө реакция кылуу, аларды бириктирүү жана визуалдаштыруу зарыл. Менимче, бул көпчүлүккө нервденгенге чейин тааныш абал.
Талкуула турган чечим күтүүсүз эмес, бирок издөө бул тема боюнча толук кандуу макаланы бербейт.
Ошондуктан, мен FunCorp тажрыйбасы менен бөлүшүүнү чечтим жана нөөмөт процесси кандайча түзүлөт, ким чалды, эмне үчүн жана мунун бардыгын кантип карап көрүүгө болот.
PagerDuty деген эмне?
Ошентип, бул көйгөйлөрдүн баарын чечүү үчүн биз ыңгайлуу куралды издей баштадык. Бир аз издегенден кийин, биз PagerDuty тандадык. PD бизге көптөгөн интеграциялар жана орнотуулар менен толук жана кыска чечим болуп көрүндү. Ал кандай?
Кыскача айтканда, PagerDuty инциденттерди иштеп чыгуу платформасы болуп саналат, ал ар кандай интеграциялар аркылуу келип түшкөн инциденттерди иштетип, нөөмөт буйруктарын орнотуп, андан кийин инциденттин деңгээлине жараша нөөмөттөгү инженерге эскертет (жогорку деңгээлде - чакыруу, төмөнкү деңгээлде - тиркемеден / SMSтен түртүү).
Дежурный деген ким?
Бул, балким, PD орнотууну баштоо үчүн биринчи жер.
FunCorp компаниясында башка компаниялар сыяктуу эле дежурный ардактуу кызматы бар. Күнүнө бир жолу инженерден инженерге берилет. PagerDuty сигналына жооптун биринчи жана экинчи саптары бар. Жогорку приоритеттүү эскертүү келди дейли, эгер биринчи саптан нөөмөтчү инженерге чалуудан 10 мүнөт өткөндөн кийин ага эч кандай реакция болбосо (б.а., ал кабыл алынган же чечилген статуска которулбаса), чалуу экинчиге өтөт. дежурный инженер. Бул PagerDuty өзүндө Escalation Policy аркылуу конфигурацияланган.
Экинчи кезметчи жооп бербесе, билдирүү кайра кайтарылат негизги дежурныйга.
Ошентип, кандайдыр бир келген жогорку артыкчылыктуу эскертүү иштетилбей кала албайт.
Эми инциденттер кайдан келип чыгышын карап көрөлү.
Биз кандай интеграцияларды колдонобуз?
PD ар кандай кызматтардан көптөгөн ар кандай окуяларды алат. Учурда бизде 25тей ушундай кызматтар бар жана аларды иштетүү үчүн биз даяр интеграцияларды колдонобуз.
- Prometheus
Негизги метрика чогултуу системасы Prometheus болуп саналат. Habréде бул жөнүндө көп нерсе жазылган, мен жөн гана айта кетейин, бизде алардын бир нечеси ар кандай чөйрөлөр үчүн бар: бири виртуалдык машиналардан жана докерлерден, экинчиси Amazon кызматтарынан, үчүнчүсү аппараттык машиналардан. Telegraf негизинен метрика экспорттоочу катары колдонулат.
- электрондук почта
Бул жерде да, менимче, аталышынан баары ачык көрүнүп турат. Бул интеграция cron тарабынан аткарылган кээ бир скрипттерден эскертмелерди жөнөтүү үчүн колдонулат. PD сизге кат жөнөткөн белгилүү бир даректи берет. Мындай интеграциясы бар кызматты түзүүдө сиз приоритеттерди белгилей аласыз, түшкөн инциденттер кандай тартипте иштетилет, так кантип эскертүү түзүлөт (ар бир келген кат үчүн, келген кат үчүн + белгилүү бир эреже ж.б.у.с.).
- жалкоолонуп
Менин оюмча, абдан кызыктуу интеграция. Кээде бир нерсе болуп, бирок окуялар менен камтылбай калган учурлар болот. Ошондуктан, биз окуяны түзүү үчүн Slack интеграциясын коштук. Башкача айтканда, сиз корпоративдик Slackке жаза аласыз /callofduty баары жай жана жакында бузулат жана ПД аны иштеп чыгып, окуяны дежур инженерге жөнөтөт.
Биз жасайбыз:
Биз көрөбүз:
- API
HTTP интеграциясы. Чынында, бул жерде өзгөчө кызыктуу эч нерсе жок, жөн гана JSON форматындагы денеси бар POST өтүнүчү. Мисалы, кызыктуу нерсе: биз аны тышкы мониторинг үчүн колдонобуз
- LibreNMS
Бул дагы бир мониторинг системасы, сиз алардын сайтында бул тууралуу көбүрөөк окуй аласыз
Ошондой эле Datadog, CloudWatch сыяктуу интеграциялар болгон. Алар менен эмне болгонун көбүрөөк көрө аласыз
Визуализация
Окуяларды билдирүүнүн негизги системасы - Slack. ПДга келген бардык окуялар атайын чатта жазылат жана алардын статусу өзгөрсө, бул да чатта көрсөтүлөт.
Шыпка илинип турган мониторлордун экрандарында пайдалуу маалыматтарды көрсөтүү мүмкүнчүлүгү пайда болгондо, биз күтүлбөгөн жерден бизде (devops бөлүмүндө) аларда көрсөтө турган эч нерсе жок экенин түшүндүк. Кереметтүү Grafana бар, бирок ал бардыгын камтыбайт жана кызматкерлер диаграммаларга эмес, эскертүүлөргө жооп беришет.
GitHub'да PD үчүн кыска жана маалыматтык "тактаны" кылдат, бирок ийгиликсиз издөөдөн кийин, биз өзүбүзгө керектүү нерселерди гана жазууну чечтик. Башында PD интерфейсинин өзүн көрсөтүү идеясы бар болсо да, ал андан да ыңгайсыз көрүндү.
Аны жазуу үчүн сизге окууга гана укугу бар PDден ачкыч алуу жетиштүү.
Жана бул биз алган нерсе:
Экранда учурдагы ачык инциденттер, тандалган графиктен учурдагы нөөмөттөгү инженердин аты-жөнү жана жогорку артыкчылыктуу инцидент жок убакыт көрсөтүлөт (жогорку артыкчылыктуу окуя болгон панел кызыл түс менен белгиленет).
Натыйжада, биз бардык окуяларды көрүү үчүн ыңгайлуу башкаруу тактасын алдык. Кээ бириңиздерге биздин тажрыйбабыз пайдалуу болсо, мен кубанычтамын.
Source: www.habr.com