Оё мониторинг мурдааст? — Зинда бод мониторинг

Оё мониторинг мурдааст? — Зинда бод мониторинг

Аз соли 2008 инҷониб, ширкати мо асосан ба идоракунии инфрасохтор ва дастгирии шабонарӯзии техникии лоиҳаҳои веб машғул аст: мо зиёда аз 400 муштарӣ дорем, ки тақрибан 15% тиҷорати электронии Русияро ташкил медиҳад. Мувофиқи он, меъмории хеле гуногун дастгирӣ карда мешавад. Агар чизе афтад, мо вазифадорем, ки дар давоми 15 дақиқа онро ислоҳ кунем. Аммо барои фаҳмидани он, ки садама рух додааст, шумо бояд лоиҳаро назорат кунед ва ба ҳодисаҳо ҷавоб диҳед. Инро чй тавр бояд кард?

Ман чунин мешуморам, ки дар ташкили системаи дурусти назорат мушкилоте вуҷуд дорад. Агар ягон мушкилот намебуд, суханронии ман аз як рисола иборат буд: "Лутфан, Prometheus + Grafana ва плагинҳои 1, 2, 3 -ро насб кунед." Мутаассифона, он дигар ин тавр кор намекунад. Ва мушкили асосӣ дар он аст, ки ҳама ба чизе, ки дар соли 2008 вуҷуд дошт, аз нуқтаи назари ҷузъҳои нармафзор боварӣ доранд.

Дар бораи ташкили системаи мониторинг, ман метавонам бигӯям, ки... лоиҳаҳои дорои мониторинги салоҳиятдор вуҷуд надоранд. Ва вазъият чунон бад аст, ки агар чизе афтад, хатари нодида гирифтани он вуҷуд дорад - дар ниҳоят, ҳама боварӣ доранд, ки "ҳама чиз назорат карда мешавад".
Шояд ҳама чиз назорат карда мешавад. Аммо чи тавр?

Мо ҳама бо як ҳикояе дучор шудем, ки чунин аст: як девопс, як маъмури муайян кор мекунад, як гурӯҳи таҳиякунанда ба назди онҳо меояд ва мегӯяд - "мо озод шудем, ҳоло назорат кунед." Мониторинг чӣ? Он чӣ гуна кор мекунад?

ДУРУСТ. Мо тарзи пештараро назорат мекунем. Ва он аллакай тағир меёбад ва маълум мешавад, ки шумо хидмати A-ро назорат кардаед, ки хидмати B шуд, ки бо хидмати C мутақобила мекунад. Аммо гурӯҳи таҳиякунанда ба шумо мегӯяд: "Нармафзорро насб кунед, он бояд ҳама чизро назорат кунад!"

Пас, чӣ тағйир ёфт? - Ҳама чиз тағйир ёфт!

2008 Ҳама чиз хуб аст

Якчанд таҳиягарон, як сервер, як сервери пойгоҳи додаҳо мавҷуданд. Ҳамааш аз ин ҷо меравад. Мо баъзе маълумот дорем, мо zabbix, Nagios, cacti насб мекунем. Ва он гоҳ мо дар бораи CPU, дар бораи кори диск ва фазои диск огоҳиҳои равшан муқаррар мекунем. Мо инчунин якчанд санҷишҳои дастӣ мекунем, то боварӣ ҳосил кунем, ки сайт ҷавоб медиҳад ва фармоишҳо ба пойгоҳи додаҳо ворид мешаванд. Ва ин аст - мо бештар ё камтар муҳофизат кардаем.

Агар миқдори кореро, ки он вақт маъмур барои таъмини мониторинг анҷом додааст, муқоиса кунем, пас 98% он автоматӣ буд: шахсе, ки мониторингро анҷом медиҳад, бояд фаҳмад, ки чӣ тавр Zabbix насб кардан, чӣ гуна онро конфигуратсия кардан ва ҳушдорҳоро танзим кардан лозим аст. Ва 2% - барои санҷишҳои беруна: ки сайт ҷавоб медиҳад ва ба базаи маълумот дархост мекунад, ки фармоишҳои нав ворид шудаанд.

Оё мониторинг мурдааст? — Зинда бод мониторинг

2010 Сарборй меафзояд

Мо ба миқёси интернет оғоз карда, системаи ҷустуҷӯиро илова мекунем. Мо мехоҳем боварӣ ҳосил кунем, ки каталоги маҳсулот ҳама маҳсулотро дар бар мегирад. Ва ин ҷустуҷӯи маҳсулот кор мекунад. Ин пойгоҳи додаҳо кор мекунад, фармоишҳо иҷро мешаванд, сайт берунӣ ҷавоб медиҳад ва аз ду сервер посух медиҳад ва корбар ҳангоми мувозинат ба сервери дигар аз сайт хориҷ карда намешавад ва ғайра. Объектҳои бештар вуҷуд доранд.

Гузашта аз ин, субъекти марбут ба инфрасохтор то ҳол бузургтарин дар сари менеҷер боқӣ мемонад. Ҳанӯз дар сари ман фикре ҳаст, ки шахсе, ки мониторинг мекунад, шахсест, ки zabbix-ро насб мекунад ва метавонад онро танзим кунад.

Аммо дар айни замон, кор оид ба гузаронидани санҷишҳои беруна, эҷоди маҷмӯи скриптҳои дархостҳои индексатори ҷустуҷӯ, маҷмӯи скриптҳо барои тафтиш кардани тағирёбии ҷустуҷӯ дар ҷараёни индексатсия, маҷмӯи скриптҳо, ки тафтиши интиқоли мол ба хизмати расондан ва гайра. ва ғайра.

Оё мониторинг мурдааст? — Зинда бод мониторинг

Эзоҳ: Ман 3 маротиба "маҷмӯи скриптҳо" навиштам. Яъне, шахси масъули мониторинг дигар он касе нест, ки танҳо zabbix-ро насб мекунад. Ин шахсест, ки ба рамзгузорӣ шурӯъ мекунад. Аммо то ҳол дар фикри даста чизе тағйир наёфтааст.

Аммо дуньё тагьир меёбад, торафт мураккабтар мегардад. Як қабати виртуализатсия ва якчанд системаҳои нав илова карда шудаанд. Онҳо ба муомила бо ҳамдигар шурӯъ мекунанд. Кӣ гуфт, ки "бӯйи микросервисҳо монанд аст?" Аммо ҳар як хидмат то ҳол ба вебсайти алоҳида монанд аст. Мо метавонем ба он муроҷиат кунем ва фаҳмем, ки он маълумоти заруриро медиҳад ва худ аз худ кор мекунад. Ва агар шумо администратор бошед, ки пайваста дар лоиҳае, ки 5-7-10 сол инкишоф меёбад, иштирок мекунад, ин дониш ҷамъ мешавад: сатҳи нав пайдо мешавад - шумо онро дарк кардед, сатҳи дигар пайдо мешавад - шумо онро дарк кардед ...

Оё мониторинг мурдааст? — Зинда бод мониторинг

Аммо аҳёнан касе дар тӯли 10 сол лоиҳаро ҳамроҳӣ мекунад.

Резюмеи Monitoringman

Фарз мекунем, ки шумо ба як стартапи нав омадед, ки дарҳол 20 таҳиягарро киро кард, 15 микросервис навишт ва шумо администратор ҳастед, ки гуфта мешавад: "Сохтани CI/CD. Лутфан." Шумо CI/CD сохтаед ва ногаҳон мешунавед: "Барои мо кор кардан бо истеҳсолот дар "куб" душвор аст, бидуни фаҳмидани он ки барнома дар он чӣ гуна кор мекунад. Моро дар ҳамон «куб» қуттии қумӣ созед.
Шумо дар ин мукааб қуттии қумӣ месозед. Онҳо фавран ба шумо мегӯянд: "Мо мехоҳем, ки базаи саҳнавӣ ҳар рӯз аз истеҳсол нав карда шавад, то мо фаҳмем, ки он дар базаи маълумот кор мекунад, аммо дар айни замон базаи истеҳсолиро вайрон намекунад."

Шумо дар ҳамаи ин зиндагӣ мекунед. То озод шудан 2 ҳафта мондааст, ба шумо мегӯянд: «Ҳоло биёед ҳамаи инро назорат кунем...» Яъне. мониторинги инфрасохтори кластер, мониторинги меъмории микросервис, мониторинги кор бо хидматҳои беруна...

Ва хамкасбони ман схемаи мукаррариро аз сари худ гирифта мегуянд: «Хайр, дар ин чо хама чиз равшан аст! Барномаеро насб кунед, ки ҳамаи инро назорат кунад." Бале, ҳа: Prometheus + Grafana + плагинҳо.
Ва онҳо илова мекунанд: "Шумо ду ҳафта доред, боварӣ ҳосил кунед, ки ҳама чиз бехатар аст."

Дар бисёр лоиҳаҳое, ки мо мебинем, як нафар барои мониторинг ҷудо карда мешавад. Тасаввур кунед, ки мо мехоҳем шахсеро киро кунем, то 2 ҳафта мониторинг кунад ва мо барои ӯ резюме менависем. Бо дарназардошти ҳар чизе ки мо то ҳол гуфта будем, ин шахс бояд чӣ гуна малака дошта бошад?

  • Ӯ бояд мониторинг ва мушаххасоти кори инфрасохтори оҳаниро дарк кунад.
  • Вай бояд хусусиятҳои мониторинги Кубернетесро дарк кунад (ва ҳама мехоҳад ба "куб" биравад, зеро шумо метавонед аз ҳама чиз абзор карда, пинҳон кунед, зеро администратор бо боқимонда кор мекунад) - худ, инфрасохтори он ва фаҳмад, ки чӣ гуна барномаҳоро назорат кардан лозим аст. дарун.
  • Вай бояд дарк кунад, ки хадамот бо хамдигар бо тарзхои махсус муошират мекунанд ва хусусиятхои муносибатхои хадамот бо хамдигарро донад. Лоиҳаеро дидан мумкин аст, ки дар он баъзе хидматҳо ба таври синхронӣ муошират мекунанд, зеро роҳи дигар вуҷуд надорад. Масалан, пуштибон тавассути REST, тавассути gRPC ба хидмати каталог меравад, рӯйхати маҳсулотро мегирад ва онро бармегардонад. Шумо дар ин ҷо интизор шуда наметавонед. Ва бо дигар хидматҳо он асинхронӣ кор мекунад. Фармоишро ба хидматрасонии интиқол интиқол диҳед, мактуб фиристед ва ғайра.
    Шумо эҳтимолан аз ин ҳама шино кардаед? Ва админ, ки бояд инро назорат кунад, боз ҳам ошуфтатар шуд.
  • Вай бояд дуруст ба накша гирифта, ба накша гирифта тавонад — чун кор торафт бештар мешавад.
  • Аз ин рӯ, ӯ бояд аз хидмати сохташуда стратегия эҷод кунад, то бифаҳмад, ки чӣ тавр ба таври махсус назорат кардани он. Ба ӯ фаҳмиши меъмории лоиҳа ва рушди он + фаҳмиши технологияҳое, ки дар таҳия истифода мешаванд, лозим аст.

Биёед як ҳолати комилан муқаррариро ба ёд орем: баъзе хидматҳо дар PHP, баъзе хидматҳо дар Go, баъзе хидматҳо дар JS мебошанд. Онхо бо кадом рох бо хам кор мекунанд. Ин аст, ки истилоҳи "микросервис" аз куҷо пайдо мешавад: он қадар системаҳои инфиродӣ мавҷуданд, ки таҳиягарон лоиҳаро дар маҷмӯъ дарк карда наметавонанд. Як қисми даста хидматҳоро дар JS менависад, ки мустақилона кор мекунанд ва намедонанд, ки қисми боқимондаи система чӣ гуна кор мекунад. Қисми дигар хидматҳоро дар Python менависад ва ба кори хидматҳои дигар халал намерасонад; онҳо дар минтақаи худ ҷудо шудаанд. Сеюм ин навиштани хидматҳо дар PHP ё чизи дигар аст.
Хамаи ин 20 нафар ба 15 хадамот таксим шудаанд ва танхо як админ хаст ки хамаи инро бояд фахмад. Ист! мо танҳо системаро ба 15 микросервис тақсим кардем, зеро 20 нафар тамоми системаро фаҳмида наметавонанд.

Аммо онро бо ягон роҳ назорат кардан лозим аст ...

Оқибат чӣ мешавад? Дар натиҷа, як шахсе ҳаст, ки ҳама чизеро, ки тамоми гурӯҳи таҳиягарон намефаҳманд, пешниҳод мекунад ва дар айни замон ӯ бояд он чизеро, ки мо дар боло зикр кардем, донад ва иҷро карда тавонист - инфрасохтори сахтафзор, инфрасохтори Кубернетес ва ғайра.

Ман чй гуям... Хьюстон, мо проблемадо дорем.

Мониторинги лоиҳаи нармафзори муосир худ як лоиҳаи нармафзор аст

Аз эътиқоди бардурӯғ, ки мониторинг нармафзор аст, мо ба мӯъҷизаҳо боварӣ дорем. Аммо мӯъҷизаҳо, афсӯс, рӯй намедиҳанд. Шумо наметавонед zabbix насб кунед ва интизор шавед, ки ҳама чиз кор кунад. Ҷойгир кардани Grafana ва умедвор шудан, ки ҳама чиз хуб мешавад, маъно надорад. Бештари вақт барои ташкили санҷиши кори хидматҳо ва ҳамкории онҳо бо ҳамдигар, тафтиши кори системаҳои беруна сарф мешавад. Дарвоқеъ, 90% вақт на барои навиштани скриптҳо, балки барои таҳияи нармафзор сарф мешавад. Ва он бояд аз ҷониби як дастае, ки кори лоиҳаро фаҳмад, ҳал кунад.
Агар дар ин ҳолат як нафар ба назорат андохта шавад, фалокат рӯй медиҳад. Ин аст он чизе ки дар ҳама ҷо рӯй медиҳад.

Масалан, якчанд хадамот вуҷуд доранд, ки тавассути Кафка бо ҳам муошират мекунанд. Фармон омад, мо дар бораи фармоиш ба Кафка хабар фиристодем. Хизмате мавҷуд аст, ки маълумотро дар бораи фармоиш гӯш мекунад ва молро мефиристад. Хизмате мавҷуд аст, ки маълумотро дар бораи фармоиш гӯш мекунад ва ба корбар мактуб мефиристад. Ва он гоҳ як қатор хидматҳои бештар пайдо мешаванд ва мо ба ошуфтагӣ шурӯъ мекунем.

Ва агар шумо инро низ ба администратор ва таҳиягарон дар марҳилае, ки то баровардан вақти кӯтоҳ боқӣ мондааст, диҳед, шахс бояд тамоми ин протоколро фаҳмад. Онхое. Лоиҳаи ин миқёс вақти зиёдро мегирад ва ин бояд дар рушди система ба назар гирифта шавад.
Аммо аксар вақт, махсусан дар стартапҳо, мо мебинем, ки чӣ гуна мониторинг то дертар ба таъхир гузошта мешавад. "Ҳоло мо Исботи Консепсияро таҳия хоҳем кард, мо бо он сар мекунем, бигзор он афтад - мо омодаем қурбонӣ кунем. Ва он гоҳ мо ҳамаашро назорат хоҳем кард." Вақте ки (ё агар) лоиҳа ба пул кор кардан шурӯъ кунад, бизнес мехоҳад, ки хусусиятҳои боз ҳам бештар илова кунад - зеро он ба кор шурӯъ кардааст, аз ин рӯ он бояд минбаъд паҳн карда шавад! Ва шумо дар он ҷое ҳастед, ки шумо аввал бояд ҳама чизҳои қаблиро назорат кунед, ки на 1% вақт, балки бештар аз он вақтро мегирад. Ва ба ҳар ҳол, таҳиягарон барои мониторинг лозим мешаванд ва ба онҳо иҷозат додан дар хусусиятҳои нав осонтар аст. Дар натиҷа, хусусиятҳои нав навишта мешаванд, ҳама чиз хароб мешавад ва шумо дар бунбасти беохир қарор доред.

Пас, чӣ гуна бояд лоиҳаро аз аввал назорат кард ва чӣ бояд кард, агар шумо лоиҳаеро гиред, ки бояд назорат шавад, аммо шумо намедонед, ки аз куҷо оғоз кунед?

Аввалан, шумо бояд ба нақша гиред.

Дигресси лирикӣ: аксар вақт онҳо аз мониторинги инфрасохтор оғоз мекунанд. Масалан, мо Kubernetes дорем. Биёед аз насб кардани Prometheus бо Grafana, насб кардани плагинҳо барои мониторинги "куб" оғоз кунем. На танҳо таҳиягарон, балки маъмурон низ таҷрибаи бадбахт доранд: "Мо ин плагинро насб мекунем, аммо плагин эҳтимолан медонад, ки чӣ тавр ин корро кунад." Одамон дӯст медоранд, ки на бо амалҳои муҳим, балки бо содда ва оддӣ оғоз кунанд. Ва мониторинги инфрасохтор осон аст.

Аввалан, муайян кунед, ки чӣ гуна ва чӣ тавр шумо мехоҳед назорат кунед, ва он гоҳ асбоберо интихоб кунед, зеро дигарон наметавонанд дар бораи шумо фикр кунанд. Ва онҳо бояд? Одамони дигар дар бораи системаи универсалӣ фикр мекарданд - ё вақте ки ин плагин навишта шудааст, тамоман фикр намекарданд. Ва танҳо аз он ки ин плагин дорои 5 ҳазор корбар аст, маънои онро надорад, ки он ягон коре дорад. Шояд шумо 5001-ум мешавед, зеро дар он ҷо қаблан 5000 нафар буданд.

Агар шумо ба мониторинги инфрасохтор шурӯъ кунед ва пуштибонии замимаи шумо посух намедиҳад, ҳама корбарон робитаро бо барномаи мобилӣ аз даст медиҳанд. Хатогие пайдо мешавад. Онҳо ба назди шумо меоянд ва мегӯянд, ки "Ариза кор намекунад, шумо дар ин ҷо чӣ кор карда истодаед?" - "Мо назорат мекунем." — "Шумо чӣ гуна назорат мекунед, агар шумо намебинед, ки барнома кор намекунад?!"

  1. Ман боварӣ дорам, ки шумо бояд мониторингро маҳз аз нуқтаи вуруди корбар оғоз кунед. Агар корбар набинад, ки барнома кор мекунад, ин аст, ин нокомӣ аст. Ва системаи мониторинг бояд аввал дар ин бора огоҳ кунад.
  2. Ва танҳо дар ин сурат мо метавонем инфрасохторро назорат кунем. Ё ин корро дар баробари. Бо инфрасохтор осонтар аст - дар ин ҷо мо метавонем танҳо zabbix насб кунем.
  3. Ва акнун шумо бояд ба решаҳои барнома биравед, то бифаҳмед, ки корҳо дар куҷо кор намекунанд.

Фикри асосии ман ин аст, ки мониторинг бояд дар баробари раванди рушд бошад. Агар шумо дастаи мониторингро барои дигар вазифаҳо парешон кунед (таъсиси CI/CD, қумбокс, азнавташкилдиҳии инфрасохтор), мониторинг ба ақибнишинӣ шурӯъ мекунад ва шумо ҳеҷ гоҳ ба рушд расида наметавонед (ё дер ё зуд шумо бояд онро қатъ кунед).

Ҳама чиз аз рӯи сатҳҳо

Ман ташкили системаи мониторингро хамин тавр мебинам.

1) Сатҳи барнома:

  • мониторинги мантиқи бизнеси барнома;
  • мониторинги нишондиҳандаҳои саломатии хизматрасонӣ;
  • мониторинги ҳамгироӣ.

2) Сатҳи инфрасохтор:

  • мониторинги сатҳи оркестр;
  • мониторинги нармафзори система;
  • мониторинги сатҳи оҳан.

3) Боз дар сатҳи татбиқ - аммо ҳамчун маҳсулоти муҳандисӣ:

  • ҷамъоварӣ ва мониторинги сабтҳои ариза;
  • APM;
  • пайгирӣ.

4) Огоҳӣ:

  • ташкили системаи огоҳкунанда;
  • ташкили низоми навбатдорӣ;
  • ташкили «базаи дониш» ва чараёни кор барои коркарди ходисахо.

муҳим: мо ба огоҳӣ на баъд, балки дарҳол мерасем! Мониторингро оғоз кардан лозим нест ва муайян кунед, ки кӣ ҳушдорҳоро қабул мекунад, “ба гунае дертар”. Охир, вазифаи назорат аз чй иборат аст: фахмидан, ки дар кучо дар система ягон чиз нодуруст кор мекунад ва аз ин ба одамони зарур хабар додан лозим аст. Агар шумо ин корро то ба охир гузоред, одамони дуруст танҳо бо даъват кардани "ҳеҷ чиз барои мо кор намекунад" хоҳанд донист, ки чизе нодуруст аст.

Қабати барнома - Мониторинги мантиқи тиҷорат

Дар ин ҷо сухан дар бораи тафтиш кардани он аст, ки барнома барои корбар кор мекунад.

Ин сатҳ бояд дар марҳилаи рушд анҷом дода шавад. Масалан, мо Prometheus-и шартӣ дорем: он ба сервере меравад, ки тафтиш мекунад, нуқтаи ниҳоиро кашида мегирад ва нуқтаи ниҳоӣ меравад ва API-ро месанҷад.

Вақте ки аксар вақт хоҳиш карда мешавад, ки саҳифаи хонагиро назорат кунанд, то боварӣ ҳосил кунанд, ки сайт кор мекунад, барномасозон дастаеро медиҳанд, ки ҳар дафъа бояд кашида шавад, то боварӣ ҳосил кунанд, ки API кор мекунад. Ва барномасозон дар айни ҳол /api/test/helloworld-ро мегиранд ва менависанд
Ягона роҳ барои боварӣ ҳосил кардан, ки ҳама чиз кор мекунад? - Не!

  • Эҷоди чунин чекҳо аслан вазифаи таҳиягарон аст. Санҷишҳои воҳид бояд аз ҷониби барномасозоне, ки кодро менависанд, навишта шаванд. Зеро агар шумо онро ба администратор фиристед, "Дӯстам, дар ин ҷо рӯйхати протоколҳои API барои ҳамаи 25 функсия мавҷуд аст, лутфан ҳама чизро назорат кунед!" - ҳеҷ чиз намешавад.
  • Агар шумо "салом ҷаҳон" -ро чоп кунед, ҳеҷ кас намедонад, ки API бояд кор кунад ва кор кунад. Ҳар як тағирёбии API бояд ба тағирёбии чекҳо оварда расонад.
  • Агар шумо аллакай чунин мушкилот дошта бошед, хусусиятҳоро қатъ кунед ва таҳиягаронро ҷудо кунед, ки ин чекҳоро менависанд ё талафотро қабул мекунанд, қабул кунед, ки ҳеҷ чиз тафтиш нашудааст ва ноком мешавад.

Маслиҳатҳои техникӣ:

  • Боварӣ ҳосил кунед, ки сервери берунаро барои ташкили чекҳо ташкил кунед - шумо бояд боварӣ дошта бошед, ки лоиҳаи шумо ба ҷаҳони беруна дастрас аст.
  • Санҷишҳоро дар тамоми протоколи API ташкил кунед, на танҳо нуқтаҳои инфиродӣ.
  • Бо натиҷаҳои санҷиш нуқтаи ниҳоии prometheus эҷод кунед.

Қабати барнома - мониторинги нишондиҳандаҳои саломатӣ

Ҳоло мо дар бораи нишондиҳандаҳои саломатии берунии хидматҳо сухан меронем.

Мо тасмим гирифтем, ки ҳамаи "дастакҳои" барномаро бо истифода аз чекҳои беруна, ки мо аз системаи мониторинги беруна даъват мекунем, назорат кунем. Аммо инҳо "дастакҳо" ҳастанд, ки корбар "мебинад". Мо мехоҳем боварӣ ҳосил кунем, ки хидматҳои мо худашон кор мекунанд. Дар ин ҷо як ҳикояи беҳтаре вуҷуд дорад: K8s санҷишҳои саломатӣ доранд, то ҳадди аққал худи "куб" боварӣ ҳосил кунад, ки хидмат кор мекунад. Аммо нисфи чекҳои дидаам ҳамон чопи «салом ҷаҳон» мебошанд. Онхое. Ҳамин тавр, ӯ пас аз ҷойгиркунӣ як бор кашид, ӯ ҷавоб дод, ки ҳама чиз хуб аст - ҳамааш ҳамин аст. Ва хидмат, агар он API-и худро пешниҳод кунад, шумораи зиёди нуқтаҳои вуруд барои ҳамон API дорад, ки онҳоро низ назорат кардан лозим аст, зеро мо мехоҳем бидонем, ки он кор мекунад. Ва мо аллакай онро дар дохили он назорат мекунем.

Инро чӣ гуна ба таври техникӣ дуруст амалӣ кардан мумкин аст: ҳар як хидмат нуқтаи ниҳоиро дар бораи иҷрои ҷории он фош мекунад ва дар графикҳои Grafana (ё ягон барномаи дигар) мо ҳолати ҳамаи хидматҳоро мебинем.

  • Ҳар як тағирёбии API бояд ба тағирёбии чекҳо оварда расонад.
  • Дарҳол бо нишондиҳандаҳои саломатӣ як хидмати нав эҷод кунед.
  • Администратор метавонад ба назди таҳиягарон биёяд ва бипурсад, ки "ба ман якчанд хусусият илова кунед, то ман ҳама чизро фаҳмам ва дар бораи ин ба системаи мониторинги худ маълумот илова кунам." Аммо таҳиягарон одатан ҷавоб медиҳанд: "Мо ду ҳафта пеш аз нашр чизе илова намекунем."
    Бигзор роҳбарони рушд бидонанд, ки чунин талафот хоҳанд буд, бигзор роҳбарияти менеҷерҳои рушд низ огоҳ бошанд. Зеро вақте ки ҳама чиз меафтад, касе ба ҳар ҳол занг мезанад ва талаб мекунад, ки "хизмати доимӣ афтода" (в) назорат кунад.
  • Дар омади гап, таҳиягаронро барои навиштани плагинҳо барои Grafana ҷудо кунед - ин барои маъмурон кӯмаки хуб хоҳад буд.

Қабати барнома - Мониторинги ҳамгироӣ

Мониторинги ҳамгироӣ ба мониторинги иртибот байни системаҳои муҳими тиҷорат тамаркуз мекунад.

Масалан, 15 хадамот мавчуданд, ки бо хам алока доранд. Инҳо дигар сайтҳои алоҳида нестанд. Онхое. мо наметавонем хидматро мустақилона кашем, /helloworld-ро гирем ва дарк кунем, ки хидмат кор мекунад. Азбаски хидмати интернетии фармоиш бояд маълумотро дар бораи фармоиш ба автобус фиристад - аз автобус, хадамоти анбор бояд ин паёмро қабул кунад ва минбаъд бо он кор кунад. Ва хидмати паҳнкунии почтаи электронӣ бояд инро ба таври дигар коркард кунад ва ғайра.

Аз ин рӯ, мо наметавонем дарк кунем, ки ба ҳар як хидмати инфиродӣ муроҷиат кунем, ки ин ҳама кор мекунад. Зеро мо як автобуси муайян дорем, ки ба воситаи он ҳама чиз муошират мекунад ва мутақобила мекунад.
Аз ин рӯ, ин марҳила бояд марҳилаи санҷиши хидматҳоро барои ҳамкорӣ бо хидматҳои дигар нишон диҳад. Ташкили мониторинги алоқа тавассути мониторинги брокери паём имконнопазир аст. Агар хидмате мавҷуд бошад, ки маълумот медиҳад ва хидмате, ки онро қабул мекунад, ҳангоми мониторинги брокер мо танҳо маълумотеро мебинем, ки аз паҳлӯ ба паҳлӯ парвоз мекунанд. Ҳатто агар мо бо ягон роҳ таъсири мутақобилаи ин маълумотро дар дохили худ назорат карда тавонистем - ки истеҳсолкунандаи муайян маълумотро ҷойгир мекунад, касе онро мехонад, ин ҷараён ба Кафка идома медиҳад - ин ба мо маълумот намедиҳад, ки агар як хидмат паёмро дар як версия фиристода бошад. , аммо хидмати дигар ин версияро интизор набуд ва аз он гузашт. Мо дар ин бора намедонем, зеро хидматҳо ба мо мегӯянд, ки ҳама чиз кор мекунад.

Он чизе ки ман тавсия медиҳам:

  • Барои иртиботи синхронӣ: нуқтаи ниҳоӣ ба хидматҳои алоқаманд дархост мекунад. Онхое. мо ин нуқтаи ниҳоиро мегирем, скриптро дар дохили хидмат мекашем, ки ба ҳама нуқтаҳо меравад ва мегӯяд: "Ман метавонам он ҷоро кашам ва он ҷо кашам, ман метавонам он ҷо кашам ..."
  • Барои иртиботи асинхронӣ: паёмҳои воридотӣ - нуқтаи ниҳоӣ автобусро барои паёмҳои санҷишӣ тафтиш мекунад ва ҳолати коркардро нишон медиҳад.
  • Барои иртиботи асинхронӣ: паёмҳои содиротӣ - нуқтаи ниҳоӣ паёмҳои санҷиширо ба автобус мефиристад.

Тавре ки одатан рӯй медиҳад: мо хидмате дорем, ки маълумотро ба автобус мепартояд. Мо ба ин хидмат омада, аз шумо хоҳиш мекунем, ки дар бораи саломатии ҳамгироии он ба мо нақл кунед. Ва агар хадамот бояд дар ҷои дигар (WebApp) паём тавлид кунад, он ин паёми санҷиширо тавлид мекунад. Ва агар мо хидматеро дар тарафи OrderProcessing иҷро кунем, он аввал он чизеро, ки метавонад мустақилона интишор кунад, нашр мекунад ва агар баъзе чизҳои вобастагӣ вуҷуд дошта бошанд, пас он маҷмӯи паёмҳои санҷиширо аз автобус мехонад, мефаҳмад, ки он метавонад онҳоро коркард кунад, гузориш диҳад ва , агар лозим бошад, онҳоро минбаъд ҷойгир кунед ва дар ин бора ӯ мегӯяд - ҳама чиз хуб аст, ман зиндаам.

Бисёр вақт мо саволи "чӣ гуна мо метавонем инро дар маълумоти ҷангӣ санҷем?" Масалан, сухан дар бораи ҳамон хидмати фармоишӣ меравад. Фармон ба анборе, ки мол аз ҳисоб бароварда шудааст, паёмҳо мефиристад: мо инро аз рӯи маълумоти ҷангӣ санҷида наметавонем, зеро "моли ман аз ҳисоб бароварда мешавад!" Ҳалли: Тамоми ин санҷишро дар ибтидо ба нақша гиред. Шумо инчунин санҷишҳои воҳид доред, ки масхара мекунанд. Ҳамин тавр, онро дар сатҳи амиқтар иҷро кунед, ки шумо канали иртиботӣ доред, ки ба фаъолияти тиҷорат зарар нарасонад.

Сатҳи инфрасохтор

Мониторинги инфрасохтор чизест, ки муддати тӯлонӣ худи мониторинг ҳисобида мешавад.

  • Мониторинги инфрасохтор метавонад ва бояд ҳамчун раванди алоҳида оғоз шавад.
  • Шумо набояд бо мониторинги инфрасохтор дар лоиҳаи иҷрошаванда оғоз кунед, ҳатто агар шумо дар ҳақиқат мехоҳед. Ин дард барои ҳама девҳост. "Аввал ман кластерро назорат мекунам, ман инфрасохторро назорат мекунам" - яъне. Аввалан, он чизеро, ки дар зер аст, назорат мекунад, аммо ба барнома дохил намешавад. Зеро барнома барои девопҳо чизи нофаҳмо аст. Он ба ӯ фош шудааст ва ӯ намефаҳмад, ки ин чӣ гуна кор мекунад. Ва ӯ инфрасохторро дарк мекунад ва аз он оғоз мекунад. Аммо не - шумо ҳамеша бояд аввал барномаро назорат кунед.
  • Бо шумораи огоҳиҳо аз ҳад зиёд наравед. Бо дарназардошти мураккабии системаҳои муосир, огоҳиҳо доимо парвоз мекунанд ва шумо бояд бо ин маҷмӯи огоҳиҳо зиндагӣ кунед. Ва шахси даъватшуда, ки ба садҳо огоҳиҳои навбатӣ нигоҳ карда, қарор хоҳад дод, ки "ман дар ин бора фикр кардан намехоҳам". Огоҳӣ бояд танҳо дар бораи чизҳои муҳим хабар диҳад.

Сатҳи татбиқ ҳамчун як воҳиди тиҷоратӣ

Нуқтаҳои асосӣ:

  • ЭЛК. Ин стандарти саноат аст. Агар бо ягон сабаб шумо гузоришҳоро ҷамъ наоваред, фавран ба ин кор шурӯъ кунед.
  • APM. APM-ҳои беруна ҳамчун роҳи зуд бастани мониторинги барномаҳо (NewRelic, BlackFire, Datadog). Шумо метавонед ин чизро муваққатан насб кунед, то ҳадди аққал фаҳмед, ки бо шумо чӣ рӯй дода истодааст.
  • Пайгирӣ. Дар даҳҳо микросервисҳо шумо бояд ҳама чизро пайгирӣ кунед, зеро дархост дигар худ аз худ зиндагӣ намекунад. Баъдтар илова кардан хеле душвор аст, аз ин рӯ беҳтар аст, ки пайгирӣ дар таҳияро фавран ба нақша гиред - ин кор ва фоидаи таҳиягарон аст. Агар шумо онро то ҳол амалӣ накарда бошед, амал кунед! Jaeger/Zipkin нигаред

Огоҳӣ

  • Ташкили системаи огоҳинома: дар шароити мониторинги як қатор чизҳо бояд системаи ягонаи фиристодани огоҳиҳо мавҷуд бошад. Шумо метавонед дар Grafana. Дар Ғарб ҳама аз PagerDuty истифода мебаранд. Огоҳӣ бояд равшан бошад (масалан, онҳо аз куҷо омадаанд...). Ва тавсия дода мешавад, ки назорат кунанд, ки огоҳиномаҳо умуман гирифта мешаванд
  • Ташкили системаи навбатдорӣ: огоҳиҳо набояд ба ҳама фиристода шаванд (ё ҳама дар байни издиҳом вокуниш нишон медиҳанд ё ҳеҷ кас вокуниш намекунад). Таҳиягарон инчунин бояд занг зананд: ҳатман соҳаҳои масъулиятро муайян кунед, дастурҳои дақиқ диҳед ва дар он бинависед, ки рӯзи душанбе ва чоршанбе ба кӣ занг занед ва рӯзҳои сешанбе ва ҷумъа ба кӣ занг занед (вагарна онҳо ҳатто дар рӯзҳои истироҳат ба касе занг намезананд. Ҳодисаи мушкилоти калон - онҳо метарсанд, ки шуморо бедор кунанд ё халал расонанд: одамон одатан занг задан ва бедор кардани одамони дигарро дӯст намедоранд, махсусан шабона). Ва фаҳмонед, ки дархости кӯмак нишондиҳандаи нотавонӣ нест ("Ман кӯмак мепурсам, ин маънои онро дорад, ки ман коргари бад ҳастам"), дархостҳоро барои кӯмак ташвиқ кунед.
  • Ташкили «базаи дониш» ва ҷараёни кор барои коркарди ҳодиса: барои ҳар як ҳодисаи ҷиддӣ бояд баъди марг ба нақша гирифта шавад ва ҳамчун чораи муваққатӣ, амалҳое, ки ин ҳодисаро ҳал мекунанд, сабт карда шаванд. Ва онро ба амал оваред, ки огоҳии такрорӣ гуноҳ аст; онҳо бояд дар код ё кори инфрасохтор ислоҳ карда шаванд.

Дастгоҳи технологӣ

Биёед тасаввур кунем, ки стеки мо чунин аст:

  • ҷамъоварии маълумот - Prometheus + Grafana;
  • таҳлили гузориш - ELK;
  • барои APM ё Tracing - Jaeger (Zipkin).

Оё мониторинг мурдааст? — Зинда бод мониторинг

Интихоби вариантҳо муҳим нест. Зеро, агар шумо дар аввал фаҳмидед, ки чӣ гуна системаро назорат кардан лозим аст ва нақшаро навиштаед, пас шумо ба интихоби асбобҳое шурӯъ мекунед, ки ба талаботи шумо мувофиқанд. Савол ин аст, ки шумо дар ҷои аввал он чизеро интихоб кардед. Зеро шояд асбобе, ки шумо дар ибтидо интихоб кардед, ба талаботи шумо тамоман мувофик набошад.

Якчанд нуктаҳои техникӣ, ки ман вақтҳои охир дар ҳама ҷо мебинам:

Прометейро ба дохили Кубернетес тела медиҳанд - кӣ ин корро кардааст?! Агар кластери шумо суқут кунад, шумо чӣ кор мекунед? Агар шумо дар дохили кластер як кластери мураккаб дошта бошед, пас дар дохили кластер бояд як навъ системаи мониторинг мавҷуд бошад ва баъзе аз берун, ки маълумотро аз дохили кластер ҷамъоварӣ мекунанд.

Дар дохили кластер мо гузоришҳо ва ҳама чизҳои дигарро ҷамъ мекунем. Аммо системаи мониторинг бояд берун бошад. Аксар вақт, дар кластере, ки дар дохили он Promtheus насб карда шудааст, системаҳое мавҷуданд, ки тафтиши берунаи кори сайтро иҷро мекунанд. Чӣ мешавад, агар робитаи шумо бо ҷаҳони беруна қатъ шуда бошад ва барнома кор накунад? Маълум мешавад, ки дар дохили он ҳама чиз хуб аст, аммо ин корҳоро барои корбарон осонтар намекунад.

натиҷаҳои

  • Мониторинги рушд на насби барномаҳои коммуналӣ, балки таҳияи маҳсулоти нармафзор аст. 98% мониторинги имрӯза рамзгузорӣ мебошад. Рамзгузорӣ дар хидматҳо, рамзгузории чекҳои беруна, тафтиши хидматҳои беруна ва ин ҳама.
  • Вақти таҳиягарони худро барои мониторинг беҳуда сарф накунед: он метавонад то 30% кори онҳоро гирад, аммо ин меарзад.
  • Девопс, хавотир нашав, ки шумо чизеро назорат карда наметавонед, зеро баъзе чизҳо тарзи тафаккури тамоман дигаранд. Шумо барномасоз набудед ва кори мониторинг маҳз кори онҳост.
  • Агар лоиҳа аллакай иҷро шуда бошад ва назорат карда нашавад (ва шумо менеҷер ҳастед), захираҳоро барои мониторинг ҷудо кунед.
  • Агар маҳсулот аллакай дар истеҳсолот бошад ва шумо девопед, ки ба ӯ гуфта шудааст, ки "мониторингро таъсис диҳед" - кӯшиш кунед, ки ба роҳбарият фаҳмонед, ки ман ин ҳама дар бораи он навиштаам.

Ин варианти васеъи гузориш дар конфронси Saint Highload++ мебошад.

Агар шумо ба ғояҳо ва андешаҳои ман дар бораи он ва мавзӯъҳои марбута таваҷҷӯҳ дошта бошед, дар ин ҷо метавонед каналро хонед 🙂

Манбаъ: will.com

Илова Эзоҳ