Як Synthetic Monitoring захищає критичні шляхи від збоїв
Уявіть: посеред робочого дня падає форма оформлення замовлення. Uptime-моніторинг показує 200 OK, але користувачі не можуть оплатити. Ми впроваджуємо Synthetic Monitoring — браузерний моніторинг, який кожні 5-15 хвилин проходить ключові сценарії та б'є тривогу при помилці. За 5 років практики на 50+ проектах ми відпрацювали схему, яка ловить збої до того, як їх помітить бізнес. Synthetic Monitoring імітує дії реального користувача: відкриває браузер, проходить за сценарієм (оформлення замовлення) і записує час кожного кроку, наявність помилок і скріншоти. Це виявляє проблеми, невидимі для uptime-моніторингу: зламаний JavaScript, змінений селектор, повільну відповідь API. За даними State of Synthetic Monitoring, 78% компаній уже використовують синтетичні перевірки для критичних сценаріїв. Synthetic Monitoring відповідає на питання «чи працює бізнес?», а не просто «чи відповідає сервер?». Це ключовий елемент Business Continuity.
На типовому e-commerce сайті ми налаштовуємо 5-7 сценаріїв: пошук, картка товару, кошик, checkout, підтвердження замовлення. Для SaaS — логін, створення ресурсу, ключова дія. Кожен сценарій виконується з кількох регіонів, щоб відсікти випадкові мережеві помилки.
Різниця з uptime моніторингом
Простий ping на GET / не є synthetic monitoring. Він відповідає лише на питання «чи живий сервер». Synthetic Monitoring перевіряє бізнес-функції:
- Реєстрація нового користувача
- Пошук і видача результатів
- Додавання товару в кошик
- Проходження checkout
Такі автоматичні перевірки надають метрики доступності та продуктивності кожного кроку. Це безпосередньо впливає на виручку: якщо checkout зламаний, сайт втрачає гроші. Одна година простою checkout може коштувати бізнесу мільйони гривень, залежно від трафіку та середнього чека.
Які критичні шляхи ми моніторимо
| Тип сайту | Критичні шляхи | Частота перевірок |
|---|---|---|
| E-commerce | Пошук → товар → кошик → checkout | Кожні 5-10 хв |
| E-commerce | Логін → особистий кабінет → історія замовлень | Кожні 15 хв |
| SaaS | Логін → дашборд → створення проекту | Кожні 5 хв |
| SaaS | API-ендпоінти для B2B клієнтів | Кожні 1 хв |
| Контент-сайт | Пошук → стаття → форма підписки | Кожні 15 хв |
Чому ми обираємо Playwright + Checkly?
Playwright — сучасний фреймворк для браузерної автоматизації. Він працює з Chromium, Firefox, WebKit. Playwright виконує тести в 2-3 рази швидше за Puppeteer завдяки паралельним контекстам і ефективному управлінню браузером. У поєднанні з Checkly (managed-платформа) ми отримуємо запуск тестів з 10+ регіонів світу, знімки екрану при помилці, трейс водоспаду запитів, інтеграцію з PagerDuty, Slack, Opsgenie.
Приклад скрипту для перевірки checkout:
// checkly: checkout-flow.spec.js
const { chromium } = require('playwright')
const { expect } = require('@playwright/test')
async function checkoutFlow() {
const browser = await chromium.launch()
const page = await browser.newPage()
try {
// Открыть каталог
await page.goto('https://example.com/catalog')
await expect(page.locator('.product-grid')).toBeVisible()
// Выбрать первый товар
await page.locator('.product-card').first().click()
await expect(page.locator('[data-testid="product-title"]')).toBeVisible()
// Добавить в корзину
await page.locator('[data-testid="add-to-cart"]').click()
await expect(page.locator('[data-testid="cart-count"]')).toContainText('1')
// Перейти в корзину
await page.goto('https://example.com/cart')
await expect(page.locator('.cart-items')).toContainText('1 товар')
console.log('Checkout flow: PASS')
} finally {
await browser.close()
}
}
Що входить у налаштування Synthetic Monitoring під ключ
- Аудит критичних шляхів: разом з вами визначаємо 5-7 сценаріїв, від яких залежить бізнес
- Написання Playwright-тестів з обробкою помилок і асертами
- Налаштування managed-платформи (Checkly або Datadog) або self-hosted на GitHub Actions
- Інтеграція алертів у PagerDuty, Telegram, Slack
- Управління тестовими даними: створення тестового користувача, очищення замовлень, виключення з аналітики
- Документація по запуску та підтримці
- Навчання команди (1 година відеоконференції)
Запишіться на безкоштовну консультацію — допоможемо підібрати оптимальний варіант моніторингу.
Self-hosted варіант: GitHub Actions + Playwright
Якщо бюджет обмежений, розгортаємо моніторинг на GitHub Actions. Код у репозиторії, запуск по cron кожні 5-15 хвилин:
name: Synthetic Monitoring
on:
schedule:
- cron: '*/5 * * * *'
workflow_dispatch:
jobs:
check-critical-paths:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Playwright
run: npx playwright install chromium
- name: Run synthetic checks
run: npx playwright test tests/synthetic/
- name: Notify on failure
if: failure()
run: curl -X POST "$SLACK_WEBHOOK" -d '{"text":"FAILED"}'
Обмеження: GitHub Actions cron не гарантує секундної точності (затримка до 5-15 хвилин). Для time-critical сценаріїв використовуйте managed-сервіси.
Як Synthetic Monitoring запобігає падінню виручки?
Реальний кейс: у клієнта-рітейлера після оновлення CMS зламався крок вибору способу доставки. Uptime-моніторинг мовчав (200 OK), а замовлення не оформлювалися 4 години. Synthetic-перевірка виявила проблему за 5 хвилин після деплою. Завдяки швидкому зворотному зв'язку downtime був зведений до мінімуму, що врятувало бізнес від втрати мільйонів гривень на місяць.
Ще один приклад: як ми запобігли збою на SaaS-платформі
На одному проекті зміна API повернула 500 помилку на ендпоінті створення проекту. Synthetic-тест, що запускається кожні 5 хвилин, зафіксував падіння через 2 хвилини після деплою. Розробники отримали алерт і відкотили зміну за 10 хвилин. Без моніторингу простій тривав би до 2 годин.Етапи робіт і терміни
- Аналітика (1 день): визначаємо критичні шляхи, узгоджуємо тестові дані
- Розробка тестів (1-2 дні): пишемо Playwright-скрипти, налаштовуємо середовище
- Інтеграція платформи (1 день): Checkly / Datadog / GitHub Actions + алерти
- Тестування (0.5 дня): прогін тестів, коригування таймаутів і локаторів
- Деплой і передача (0.5 дня): документація, навчання, передача доступу
Загальний термін — від 2 до 5 робочих днів залежно від кількості сценаріїв. Оцінимо ваш проект безкоштовно — напишіть на пошту або в месенджер.
Управління тестовими даними
- Окремий synthetic-користувач з production-акаунтом
- Платіжний метод: тестова картка (Stripe 4242)
- Замовлення позначаємо тегом
syntheticі виключаємо зі звітів - Щоденне очищення кошика та чернеток через API
Метрики та алерти
| Метрика | Опис | Поріг спрацьовування |
|---|---|---|
| Availability % | Відсоток успішних прогінок | < 99% → warning, < 95% → critical |
| Step duration | Час кожного кроку (P95) | > 3 сек → warning, > 5 сек → critical |
| Total flow duration | Загальний час сценарію | > 10 сек → warning, > 20 сек → critical |
| First failure step | На якому кроці сталася помилка | Будь-яка помилка → critical |
Алерти: якщо 2 з 3 перевірок з різних регіонів завершилися помилкою — critical в PagerDuty. Налаштовуємо ескалацію до команди за 5 хвилин.
Готові впровадити Synthetic Monitoring і захистити ваш бізнес від простоїв? Зв'яжіться з нами — оцінимо проект за один день. Отримайте консультацію інженера — розповімо, як убезпечити ваш проект.







