Как работает мониторинг доступности в Пруфене: путь от проверки до уведомления
«Сервис проверяет сайт и присылает уведомление» — так это выглядит снаружи. Внутри между проверкой и сообщением есть несколько решений, от которых зависит главное: разбудит ли вас мониторинг из-за мигнувшей сети или промолчит, когда сайт действительно лёг. Разбираем всю цепочку по шагам — с реальными настройками, которые вы можете менять под себя.
Весь путь одной схемой
От момента проверки до сообщения в мессенджере — шесть шагов. Ниже схема целиком, дальше разберём каждый шаг подробно.
Шаг 1 Проверяем сайт по расписанию
Интервал выбираете вы — от 2 минут. В каждый заход точки мониторинга в разных городах — от Мурманска до Владивостока, плюс Минск и Испания — проверяют сайт одновременно.
GET — страница целиком, как у посетителя HEAD — только заголовки PING — отклик по сети
▼
Шаг 2 Отсеиваем ложные тревоги
Сбой одной точки — ещё не авария: возможно, просто мигнула сеть по пути. Падение должны увидеть несколько точек сразу — порог срабатывания вы задаёте сами.
●●●●●●●● сайт не видит одна точка → тревоги нет, продолжаем наблюдать
●●●●●●●● сбой видят большинство точек → это авария
▼
Шаг 3 Фиксируем инцидент
Запоминаем точное время начала, причину сбоя и города, из которых сайт недоступен. Вся история сохраняется в отчётах.
▼
Шаг 4 Выдерживаем умную паузу
Если сайт ожил уже через минуту — мы не будем тревожить вас парой сообщений «упал/поднялся». Длительность паузы настраивается: от 0 до 30 минут. Ноль — значит узнавать о каждом сбое мгновенно.
▼
Шаг 5 Сообщаем во все ваши каналы
Уведомление о сбое приходит туда, где вы его точно увидите. Пока сайт лежит — присылаем напоминания.
Telegram Макс Почта Голосовой звонок
▼
Шаг 6 Сайт снова работает — закрываем инцидент
Как только точки мониторинга снова видят сайт, инцидент закрывается. Вы получаете сообщение «сайт снова работает» и точную длительность простоя.
Шаг 1. Проверка по расписанию из 13 точек
Всё начинается с расписания. Вы выбираете интервал — минимальный 2 минуты, — и в каждый тик проверку выполняют все точки мониторинга сразу: 11 в России от Мурманска до Владивостока, Минск и Испания. Точки стартуют практически одновременно; окно между первой и последней локацией обычно составляет 20–30 секунд.
Отсюда следует важная вещь, которую стоит понимать про любой мониторинг: время обнаружения инцидента равно выбранному интервалу. Никакой сервис не узнаёт о падении «мгновенно» — он узнаёт при очередной проверке. Поставили 2 минуты — узнаете максимум через 2 минуты, поставили 15 — через 15. Поэтому интервал стоит выбирать не по принципу «поменьше — покруче», а по цене минуты простоя конкретной страницы: для оформления заказа логичны минимальные 2 минуты, для блога — 10–15.
Сам запрос бывает трёх видов, и это разные вопросы к сайту. GET скачивает страницу целиком — так же, как её открывает браузер посетителя, — и заодно измеряет время ответа. HEAD запрашивает только заголовки: быстрее и дешевле, отвечает на вопрос «сервер жив и отдаёт нужный код». PING работает на сетевом уровне и проверяет отклик хоста; о его особенностях мы писали в статье про ping. Всего типов проверок 17 — от SSL и домена до товарных фидов, — но за «сайт жив или нет» отвечают именно эти три.
Шаг 2. Почему одна упавшая точка — ещё не авария
Между «одна проверка вернула ошибку» и «у вас инцидент» лежит самая недооценённая часть мониторинга. Интернет — среда с помехами: пакеты теряются, маршруты перестраиваются, у одного оператора на 20 секунд подтормаживает магистраль. Мониторинг, который поднимает тревогу по первой же неудачной проверке из одной точки, быстро становится фоном — на его сообщения перестают реагировать, и он пропускает настоящую аварию.
Поэтому решение принимается по доле точек. В настройках порогов задаются два независимых значения:
| Порог | Что определяет | Пример |
|---|---|---|
| Порог недоступности | При каком проценте неуспешных проверок открывается инцидент | 3 точки и порог 50% → инцидент откроется, когда ошибку вернут 2 из 3 |
| Порог восстановления | При каком проценте успешных ответов инцидент закрывается | Задаётся отдельно, чтобы сайт «на грани» не мигал открытым и закрытым инцидентом |
Два разных порога вместо одного — это гистерезис, приём из инженерии, который не даёт системе дребезжать у границы срабатывания. Открыть инцидент сложнее, чем закрыть, — или наоборот, в зависимости от того, как вы настроите, — и в любом случае одно значение не заставляет мониторинг метаться. Подробный разбор с примерами и таймлайнами — в статье про ложные срабатывания, гистерезис и задержку.
У проверки из многих точек есть и второй смысл, кроме фильтрации помех: она показывает географию сбоя. Одно дело — сайт не отвечает нигде, другое — он недоступен только за Уралом или только у абонентов одного оператора. Это принципиально разные диагнозы, и увидеть разницу можно, только проверяя из разных городов, — почему это важно именно для Рунета, мы разбирали отдельно.
Шаг 3. Что именно попадает в инцидент
Когда порог пройден, создаётся запись инцидента. В неё попадают три вещи: точное время начала, причина — код ответа или тип сетевой ошибки, — и список локаций, из которых сайт недоступен. Эти три поля потом отвечают на вопросы, которые обычно возникают уже после аварии: «когда именно всё началось», «что именно отдавал сервер» и «для кого сайт лежал».
Причина в записи — не догадка, а факт: 502, 503, таймаут соединения, ошибка TLS. Она сразу указывает на сломанный слой: у нас есть отдельные разборы 502, 503 и таймаутов — по коду из уведомления вы попадаете сразу в нужный сценарий, не тратя время на «а что вообще сломалось». Именно поэтому в плане действий при падении первые минуты уходят не на диагностику, а на подтверждение масштаба — эта работа уже сделана за вас: подробнее в статье «Сайт упал: первые 10 минут».
Шаг 4. Пауза перед уведомлением
Инцидент зафиксирован — но сообщение уходит не сразу. Между обнаружением и отправкой есть настраиваемая задержка: если сайт восстановится в течение этой паузы, уведомление вообще не будет отправлено. Так отсекаются секундные всплески при деплое, перезапуске php-fpm или ночном бэкапе — события, о которых вам знать не нужно.
| Задержка | Для чего подходит |
|---|---|
| 0 минут | Критичные системы: платёжный шлюз, API, основной сайт — уведомление уходит сразу |
| 2–5 минут | Сайты, где бывают кратковременные сбои при деплое и перезапусках |
| 10–15 минут | Некритичные ресурсы, где важен сам факт, а не первые минуты |
Максимум — 30 минут. Настройка задаётся для каждой проверки отдельно: страница оплаты и корпоративный блог могут жить с разными паузами, и это нормально. Здесь же прячется ответ на вопрос «почему хороший мониторинг иногда молчит первую минуту»: он не тормозит — он ждёт, стоит ли вас беспокоить.
Пороги отвечают на вопрос «это авария или помеха в одной точке» — фильтруют по пространству. Задержка отвечает на вопрос «это авария или моргнуло на секунду» — фильтрует по времени. Настраивать их имеет смысл вместе: жёсткие пороги с нулевой задержкой дадут шум при каждом деплое, мягкие пороги с получасовой паузой — узнаете о простое последним.
Шаг 5. Уведомление уходит во все ваши каналы
Пауза выдержана, сайт всё ещё не работает — уходит уведомление. Каналов четыре, и они работают параллельно: Email, Telegram, Макс и звонок. Пока инцидент не закрыт, приходят напоминания — чтобы сообщение не потерялось в ленте.
Выбор канала — не вопрос вкуса, а вопрос времени реакции. Почта отлично работает днём и совершенно не работает ночью. Мессенджер будит, если у вас включены уведомления, и не будит, если телефон в беззвучном. Звонок пробивается через беззвучный режим — поэтому его ставят на то, ради чего действительно стоит вставать в три часа ночи. Здравая схема — минимум два независимых канала: почему одного мало, мы разбирали подробно, там же — как распределить каналы по критичности.
Что важно понимать про содержание сообщения: уведомления бинарные — «перестало отвечать» и «снова отвечает». Это статус, а не отчёт с метриками: подробности, графики и история живут в кабинете и отчётах, а задача уведомления — донести факт до человека за секунды.
Шаг 6. Закрытие инцидента и что остаётся после
Как только доля точек, снова видящих сайт, дошла до порога восстановления, инцидент закрывается, и вы получаете сообщение «сайт снова работает» с точной длительностью простоя. Эта цифра — не «примерно полчаса», а конкретные минуты, посчитанные от первой неуспешной проверки до восстановления.
Дальше начинается то, ради чего мониторинг ведёт историю. Закрытые инциденты складываются в статистику: реальный аптайм за месяц (а не тот, что обещан в тарифе хостинга), повторяющиеся паттерны — «каждый вторник в 3:40», — и доказательная база для разговора с хостером. Как считать аптайм и что означают «три девятки», мы разбирали в статье про uptime, а как сверять его с обещаниями провайдера — в материале про SLA хостинга.
Что из этого настраивается под вас
| Настройка | На что влияет | С чего начать |
|---|---|---|
| Интервал проверки | Время обнаружения инцидента | 2 минуты для страниц с деньгами, 10–15 для остального |
| Локации | Откуда смотрим на сайт и видим ли региональные сбои | Города, где реально живёт ваша аудитория |
| Пороги недоступности и восстановления | Чувствительность к помехам в отдельных точках | Мягче для сайтов с нестабильной сетью, жёстче для критичных |
| Задержка уведомлений | Отсекает короткие всплески при деплое | 0 для платежей и API, 5 минут для обычного сайта |
| Каналы уведомлений | Дойдёт ли сообщение ночью | Минимум два независимых; звонок — на самое критичное |
Вся цепочка выше работает в Пруфене из коробки: 13 точек, интервал от 2 минут, пороги, задержка и четыре канала уведомлений. Бесплатный план — 5 проверок без ограничения по времени: их хватает, чтобы закрыть главную, страницу заказа, SSL-сертификат и домен.
Частые вопросы
Почему мониторинг не сообщает о падении мгновенно? Потому что о нём физически становится известно только при очередной проверке: время обнаружения равно интервалу. Плюс сознательные паузы — порог по точкам и задержка, — которые отделяют аварию от сетевой помехи. Сумма этих решений и есть разница между полезными уведомлениями и фоновым шумом.
Что будет, если сайт «моргает» — то работает, то нет? Ровно для этого случая существуют два разных порога (гистерезис) и задержка: инцидент не будет открываться и закрываться каждые полминуты. При этом сами проверки продолжают писать историю, так что «моргание» видно на графике — а это уже повод искать причину нестабильности, а не терпеть её.
Мониторинг проверяет сайт — не создаёт ли он нагрузку? Одна проверка — это один HTTP-запрос от каждой точки: несопоставимо меньше, чем создаёт один живой посетитель, открывающий страницу со всеми картинками и скриптами. Если у вас настроены анти-бот правила или строгие лимиты, адреса точек стоит внести в белый список, чтобы защита не блокировала проверки, — такой сценарий мы разбирали отдельно.
Чем это отличается от мониторинга, установленного на сам сервер? Точкой обзора. Система внутри вашей инфраструктуры знает про CPU и память, но при падении дата-центра падает вместе с сайтом и молчит. Внешний мониторинг смотрит на сайт снаружи, глазами посетителя, и не зависит от вашей площадки — сравнение обоих подходов есть в статьях про Zabbix и аналоги UptimeRobot.