Налаштування синтетичного моніторингу (регулярні перевірки доступності)

Клієнти йдуть раніше, ніж спрацьовує внутрішній сигнал: сервіс недоступний для них, а в системі все виглядає робочим. Ми налаштовуємо синтетичний моніторинг під ключ — перевірки, які бачать відмову очима клієнта. Реакція прискорюється в рази, а хибні спрацьовування зникають.
Часті запитання

Синтетичний моніторинг: коли відмову видно лише клієнту

Сервіс відповідає на перевірку живучості, графіки рівні — а частка оформлених замовлень просідає.

Відмова видна лише клієнту: маршрут до одного з вузлів іде в чорну діру, на периферійному балансувальнику минув термін дії сертифіката, провайдер окремого регіону ріже трафік до платіжної інтеграції.

Внутрішній моніторинг дивиться на процеси й ресурси зсередини контуру — такий збій для нього не існує.

Синтетичний моніторинг закриває саме цей клас відмов. Сценарії на Playwright проганяються за розкладом із зовнішніх точок у різних регіонах і мережах: відкрити каталог, додати товар до кошика, довести замовлення до підтвердження, перевірити відповідь платіжної інтеграції.

Шлях той самий, що й у живого покупця, — зовні контуру, через публічний вхід і мережу доставки контенту.

Кожна перевірка доступності сервісу фіксує не лише факт відповіді, а й час за кроками, коди, переходи та наявність ключового блоку на сторінці.

Розбіжність між точками одразу локалізує проблему до регіону, оператора або конкретного вузла — черговому не доводиться з’ясовувати, «чи в усіх лежить». Оповіщення спрацьовує на поріг часу кроку, а не лише на повну недоступність.

Практичний ефект — змінюється порядок подій: про недоступність з окремого регіону дізнаємося ми, а не покупець, який уже пішов. Втрата замовлень через недоступність перестає бути невидимим рядком у звіті: у збою є час початку, зачеплені точки та підтвердження відновлення. Розбираємо, як це закривається.

Що дає регулярна перевірка доступності сервісів

Регулярна перевірка — це не пінг порту, а відтворення користувацького шляху із зовнішніх мереж: проба раз на хвилину з кількох незалежних точок відкриває сторінку, авторизується, додає товар і доходить до підтвердження замовлення.

Сценарії описуються кодом і версіонуються поруч із конфігурацією інфраструктури — через Checkly, тому перевірка проходить те саме рев’ю, що й інші зміни.

Успішний код відповіді ще не означає, що сервіс працює: форма може мовчки втрачати заявки, зовнішній платіжний сервіс — відповідати відмовою, сертифікат — сплисти вночі.

Такі відмови проба знаходить раніше за першу скаргу: сигнал надходить черговому за одну-три хвилини, тоді як клієнт пише в підтримку за десятки хвилин. Поріг ставимо на серію невдалих спроб, щоб одиничне мережеве блимання не піднімало чергового.

Локалізація причини відмови — друга половина ефекту. Проба показує, на якому кроці обривається: розв’язання імені, перевірка сертифіката, відповідь балансувальника або вміст сторінки.

Розріз за точками відокремлює повну відмову від недоступності з одного регіону — інженер починає не з питання «що впало», а з конкретної ділянки ланцюжка.

Звідси й час відновлення сервісу: на розбір ідуть хвилини замість години пошуку. Частина класів відмов зникає зовсім — прострочені сертифікати, від’єднані зовнішні інтеграції, сценарії, які не проходять на окремих пристроях.

Зменшення кількості скарг клієнтів — наслідок: підтримка перестає бути каналом моніторингу, а частка відмов, про які ми дізнаємося від користувачів, падає з більшості до одиниць.

Режими синтетичного моніторингу: порівняння підходів

Режим перевірки обирають за тим, що саме потрібно довести. Однокрокова перевірка сторінки — одне звернення до адреси з контролем коду відповіді та часу відгуку: цього достатньо для точок входу й статичних розділів, щоб підтвердити, що сервіс відповідає.

Багатокроковий сценарій замовлення повторює шлях покупця — підбір, кошик, оформлення, підтвердження — і звіряє відповіді на кожному кроці. Він ловить розрив інтеграцій, який одиничний запит пропускає: сторінка відкривається, а замовлення не проходить.

Варіант Коли підходить Обмеження
Однокрокова перевірка сторінки точки входу, статичні розділи, швидкий контроль доступності не бачить відмов після першої сторінки: «сторінка віддалася» ще не означає «замовлення оформлюється»
Перевірка з кількох регіонів коли якість залежить від маршруту трафіку та географії клієнтів зростає шум: локальні мережі дають хибні спрацювання, потрібна синхронізація розкладу й порогів
Багатокроковий сценарій замовлення критичні бізнес-шляхи: кошик, оплата, підтвердження дорожчий у підтримці — тестові дані та облікові записи, залежність від зовнішніх сервісів, кроки правлять за кожної зміни інтерфейсу
Сценарій із входом до особистого кабінету закриті розділи, де відмову видно лише авторизованому клієнту потрібні службові облікові записи й ротація доступів, перевірка чутлива до політик безпеки

Загальне обмеження синтетичних перевірок — вони підтверджують, що шлях прохідний, але не показують, як ним іде живий клієнт.

Тому сценарії доповнюють вимірами від реальних сесій, а пороги за часом відгуку задають із запасом, щоб оповіщення надходило на збій, а не на сплеск трафіку.

Етапи впровадження: від розбору точок входу до передачі підтримці

Синтетичний моніторинг починається не з панелей і графіків, а з інвентаризації того, що взагалі має бути доступним зовні. Поки немає списку критичних точок входу та їхніх власників, перевірки перетворюються на набір випадкових запитів, які ловлять не те, що болить.

Порядок робіт нижче — це послідовність, у якій кожен наступний крок спирається на результат попереднього.

  1. Аудит точок входу. Збираємо зовнішні адреси, API, форми авторизації, партнерські та платіжні ручки, окремо позначаємо ті, чий збій не видно внутрішньому моніторингу. Для кожної точки фіксуємо власника та очікувану поведінку.
  2. Пріоритизація. Ділимо список на критичні та другорядні сценарії: інтенсивність перевірок і гучність оповіщень мають відповідати реальному впливу на операції та клієнтів.
  3. Схема перевірок. Для кожної точки описуємо сценарій: код відповіді, ланцюжок редіректів, наявність ключового фрагмента в тілі відповіді, час відгуку, термін дії сертифіката. Перевіряємо з кількох регіонів, щоб відрізняти збій сервісу від мережевої аварії на маршруті.
  4. Пороги чутливості. Налаштовуємо не «одна помилка — тривога», а серію невдалих спроб або частку збоїв за вікно; окремі пороги для недоступності та для деградації за часом відгуку.
  5. Канали оповіщень. Маршрутизація за критичністю: черговий інженер, чат команди, задача в системі обліку. Обов’язкове об’єднання повторів і придушення дублів, інакше одна аварія породжує десятки повідомлень і увага до них падає.
  6. Перевірка на хибні спрацювання. Запускаємо перевірки в режимі спостереження, звіряємо з реальними інцидентами за минулий період, дивимося шум у неробочі години та на планових роботах. Таймаути, вікна й тексти повідомлень правимо тут, а не після першої нічної тривоги.
  7. Передача підтримці. Віддаємо інструкцію чергового: що означає спрацювання, які кроки діагностики, кого підключати. Окремо фіксуємо регламент ревізії сценаріїв під час релізів і зміни точок входу.

Що передаємо разом із налаштованими перевірками

Перевірки безглузді, якщо після здачі ніхто не розуміє, що саме вони контролюють і що робити при спрацюванні.

Тому разом із синтетичним моніторингом ми передаємо все, що потрібно черговій зміні для самостійної роботи: не лише набір сценаріїв, а й логіку їхніх змін, маршрути оповіщень і порядок дій при інциденті.

Документація описує перевірки на такому рівні деталізації, щоб ваша команда правила їх своїми руками, без звернення до нас.

  • Схема покриття сервісів — які точки входу, ключові користувацькі сценарії та зовнішні залежності перевіряються, які ділянки свідомо залишені без перевірок і чому.
  • Конфігурації перевірок — кроки сценарію, періодичність запуску, точки запуску з різних мереж, очікувані коди відповідей і пороги, після яких перевірка вважається невдалою.
  • Налаштування оповіщень — маршрути оповіщень за черговими, правила групування пов’язаних спрацювань, придушення на час планових робіт, повторне надсилання, якщо сигнал ніхто не підтвердив.
  • Регламент реагування — що вважається інцидентом, хто підтверджує сигнал і в який термін, у яких випадках перевірку тимчасово вимикають як хибну та хто ухвалює це рішення.
  • Інструкція для чергового — покроковий розбір типового спрацювання: від відкриття звіту перевірки до оповіщення відповідальних, ескалації та запису в журнал.
  • Документація з перевірок — опис кожного сценарію, його власник, прив’язка до сервісу, порядок правки порогів і додавання нових перевірок.
  • Передача знань команді — розбір на живих спрацюваннях, відповіді на питання щодо спірних порогів, видача доступів і розподіл ролей.

Після передачі ми зазвичай залишаємося на короткий супровід, щоб команда пройшла кілька реальних інцидентів поруч із нами. Далі перевірки живуть своїм життям: нові сценарії додаються в міру зростання сервісів, застарілі знімаються, а схема покриття залишається актуальною.

Кейс: як ми прибрали хибні спрацювання та прискорили реакцію

Коли інфраструктура замовника розрослася до кількох десятків сервісів, синтетичні перевірки запускалися з однієї точки й спрацьовували за жорстким порогом часу відгуку.

Будь-який мережевий сплеск або планове обслуговування бази піднімало хвилю оповіщень: за тиждень черговий отримував понад сотню сигналів, із яких реальними були два-три.

Справжня аварія тонула в цьому потоці — її помічали в середньому через пів години, бо на чергове спрацювання вже ніхто не дивився як на сигнал.

Що перебудували

Перевірки розвели за рівнями. Зовнішні сценарії — вхід, авторизація, ключовий користувацький шлях — винесли на кілька незалежних точок присутності, щоб відрізняти падіння сервісу від проблем на каналі конкретного оператора.

Поріг замінили на підтвердження: оповіщення надходило лише після кількох поспіль невдалих спроб, а короткі відхилення за часом відгуку перевели в спостереження без пробудження чергового. Сценарії описали як код і збирали в Grafana, де сигнал одразу видно поруч із метриками сервісу.

Що стало

Частка хибних спрацювань упала з 86% до 7%, і шум в оповіщеннях перестав бути фоном.

Середній час реакції на реальний збій скоротився з пів години до двох-трьох хвилин: тепер надходить один сигнал, прив’язаний до конкретного користувацького сценарію, із готовим порядком дій для чергового.

Розбір інциденту займає хвилини замість годин — з історії перевірок одразу видно, що саме ламалося і на якому кроці.

Що робити, якщо перевірки вже налаштовані, але сигнали безглузді?

Найчастіше річ не в інструменті, а в тому, що перевірки живуть із першого запуску: опитують одну адресу, нічого не знають про частину сервісів і спрацьовують пізніше, ніж збій помічає клієнт.

Сигнал надходить, коли проблема вже розійшлася серед користувачів, і черговий звикає його ігнорувати — довіра до оповіщень ламається саме тут.

Сигнали запізнюються з двох причин: період перевірки більший за допустимий час недоступності, а на підтвердження відмови йде кілька циклів.

Відлік ведемо від цільового часу виявлення — скільки сервіс може не відповідати, перш ніж це побачить клієнт, і вже під нього добираємо частоту та кількість підтверджень.

Заодно розділяємо зовнішні й внутрішні перевірки: із закритого контуру не видно відмов маршрутизації та сертифікатів.

Реальну відмову відокремлюють від шуму переходом від перевірок «процес відповідає» до сценаріїв наскрізного шляху: вхід, ключова операція, видача результату.

Хибні спрацювання зникають, коли сценарій не зав’язаний на один зовнішній сервіс, має запас за часом очікування й запускається з кількох точок. Шум, що залишився, розбираємо адресно — правимо поріг або прибираємо перевірку, а не глушимо канал.

Чергування та ескалація налаштовуються за сервісами: оповіщення потрапляє до тих, хто може полагодити, з вікнами тиші на планові роботи та правилом «не підтвердив — пішло вище ланцюжком». Тоді нічний сигнал стає приводом діяти, а не фоном.

Перебудова йде ітеративно: інвентаризація того, що перевіряється зараз, потім сценарні перевірки критичних шляхів, далі чистка за підсумками кожного спрацювання. Метрика довіри тут — частка оповіщень, за якими справді щось зробили.

Сумніви та обмеження: що важливо врахувати заздалегідь

Синтетична перевірка бачить рівно той шлях, який у неї заклали. Якщо сценарій входить під сервісним обліковим записом і звертається до однієї адреси, падіння на кроці оплати або вивантаження він не помітить, а зелений статус створить хибну впевненість.

Перевірка із зовнішньої мережі не покаже деградацію між сервісами всередині контуру, і навпаки: запущена всередині, вона не побачить проблем у провайдера та в DNS.

Окрема стаття — навантаження. Часті перевірки з повним обходом сценарію на кожному майданчику складаються в потік запитів, помітний на слабкому стенді та на зовнішніх сервісах із лімітами. Тому частоту й глибину сценарію рахують заздалегідь, а важкі перевірки відводять на окремий контур.

Перевірка зелена, а клієнти скаржаться. Чому?

Сценарій іде одним фіксованим маршрутом, а живий трафік — через інші кроки, кеш, регіон і версію клієнта. Синтетика надійно ловить повну відмову, але не бачить часткової деградації: повільну відповідь, помилки на частині запитів, проблеми в окремих груп користувачів. Поруч потрібне спостереження за реальним трафіком і журнали.

Чи варто перевіряти сценарії з авторизацією?

Так: вхід, продовження сесії та вихід ламаються найчастіше, а без них перевірка не дійде до особистого кабінету. Облікові дані зберігають у секретах, а не в тексті сценарію, під окремою роллю з правом лише на читання та обмеженням за адресами, з яких дозволено вхід.

Внутрішні та зовнішні перевірки — що вибрати?

Обидва шари закривають різне. Зовнішні показують те, що бачить клієнт: доступність домену, термін дії сертифіката, відповідь на ключових сторінках. Внутрішні — стан сервісів за балансувальником. З одним шаром картина буде однобічною.

Обговоримо задачу та повернемося з оцінкою й планом

Щоб повернутися з оцінкою та планом робіт, а не з уточнювальними питаннями, нам достатньо кількох вступних даних щодо інфраструктури й очікувань. Збираємо їх на першій розмові — вона задає порядок старту та межі перевірок.

  • список сервісів і точок входу, доступність яких важлива, з позначкою критичності: що може лежати годину, а що не має падати взагалі;
  • користувацькі сценарії, які потрібно перевіряти цілком — вхід, пошук, оформлення замовлення, оплата, відповідь зовнішнього інтерфейсу;
  • як про збій дізнаєтеся зараз — скарги, черговий, окрема система — і скільки часу минає до сигналу;
  • де розміщені сервіси та з яких мереж мають іти перевірки, щоб бачити картину зовні, а не лише зсередини;
  • вимоги до доступів, режим погоджень і вікна регламентних робіт, щоб перевірки не будили чергового на плановому обслуговуванні;
  • очікуваний порядок старту: пілот на одному критичному контурі або одразу весь список сервісів.

Із цих даних збираємо склад робіт із перевірок: які сценарії автоматизуємо, з якою частотою та з яких точок запускаємо, як налаштуємо оповіщення й відсічемо хибні спрацювання. Далі повертаємося з оцінкою термінів впровадження, етапами, відповідальними та критеріями приймання. Опишіть задачу в зручному вигляді — обговоримо її та повернемося з планом.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142