Как Synthetic Monitoring защищает критическиe пути от сбоев
Представьте: посреди рабочего дня падает форма оформления заказа. 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 и защитить ваш бизнес от простоев? Свяжитесь с нами — оценим проект за один день. Получите консультацию инженера — расскажем, как обезопасить ваш проект.







