Сайт упал в пятницу вечером. Вы узнали об этом в понедельник утром — от злого клиента. Знакомо? Вот именно для того, чтобы такого не происходило, и существует мониторинг uptime.

Эта статья — практический разбор инструментов. Без маркетинговых обещаний, с реальными цифрами и примерами настройки.

Зачем вообще мониторить uptime

Даже хорошо настроенный сервер падает. Причины разные: кончилось место на диске, упала база, провайдер устроил технические работы, сертификат истёк, бот уронил PHP-FPM. Среднее время обнаружения инцидента без мониторинга — несколько часов. С мониторингом — минуты.

Каждая минута простоя стоит денег. Для интернет-магазина с оборотом 500 000 ₽ в месяц один час даунтайма — это примерно 700 ₽ прямых потерь. Плюс репутация, плюс SEO: Google понижает сайты, которые часто недоступны.

Мониторинг uptime решает три задачи:

  • моментально оповещает, когда сайт недоступен;
  • показывает историю инцидентов и их длительность;
  • считает SLA — процент времени, когда сайт был доступен.

Uptime Kuma — домашний любимец DevOps-сообщества

Uptime Kuma — опенсорсный инструмент мониторинга, написанный на Node.js. Запускается в Docker, имеет симпатичный веб-интерфейс и за последние два года стал стандартом де-факто для небольших команд.

Что умеет:

  • HTTP/HTTPS-мониторинг с проверкой кода ответа и ключевого слова на странице;
  • TCP, DNS, ICMP ping;
  • мониторинг истечения SSL-сертификата;
  • Docker-контейнеры напрямую через сокет;
  • статусные страницы — публичные или с паролем;
  • уведомления через Telegram, Slack, Discord, email, PagerDuty и ещё 90+ каналов.

Установка за 2 минуты:

docker run -d \
  --restart=always \
  -p 3001:3001 \
  -v uptime-kuma:/app/data \
  --name uptime-kuma \
  louislam/uptime-kuma:1

Открываете http://your-server:3001, создаёте аккаунт — и готово. Никаких лицензий, никаких SaaS-подписок.

Как настроить монитор:

  1. Add New Monitor → HTTP(s).
  2. URL — ваш сайт.
  3. Heartbeat Interval — как часто проверять. Рекомендую 60 секунд для продакшена, 5 минут для некритичных сервисов.
  4. Retries — сколько раз повторить перед тем, как считать сайт упавшим. Ставьте 2–3, чтобы не получать ложные срабатывания из-за временных сетевых проблем.
  5. Notification — подключите Telegram-бота.

Для Telegram создаёте бота через @BotFather, берёте токен, добавляете в Uptime Kuma — уведомления приходят мгновенно.

Проверка ключевого слова — отдельная фича, которую многие игнорируют. HTTP 200 не означает, что сайт работает: можно получить красивую страницу с ошибкой «Технические работы». Добавьте проверку слова из основного контента — например, название компании или ID элемента. Если слова нет — Uptime Kuma бьёт тревогу.

Мониторинг SSL:

Добавьте отдельный монитор типа SSL Certificate. Укажите домен и порог предупреждения — например, 14 дней до истечения. Это спасёт от ситуации, когда сертификат тихо умирает и пользователи видят страшное предупреждение браузера.

Статусная страница — полезно для клиентов. Создайте публичную страницу с набором мониторов, покажите клиенту ссылку. Больше никаких звонков «а у вас сайт работает?».

Ограничения Uptime Kuma:

  • Проверяет только с одной точки — вашего сервера. Если упал ваш сервер, а не сайт клиента, получите ложную тревогу. Или наоборот — сайт недоступен только в конкретном регионе, а вы этого не увидите.
  • Нет встроенного мониторинга производительности — только факт доступности.
  • Требует собственного сервера. Нет сервера — нет мониторинга.

Freshping — бесплатная облачная альтернатива

Freshping от Freshworks проверяет сайт с 10 точек по всему миру каждую минуту. Бесплатный план включает 50 мониторов и проверку раз в минуту — это серьёзное предложение.

Плюсы:

  • не нужен свой сервер;
  • мультирегиональные проверки из коробки;
  • красивые статусные страницы;
  • интеграции с Slack, PagerDuty, Zapier.

Минусы:

  • данные хранятся у третьей стороны;
  • расширенная аналитика — только в платных планах;
  • ограниченные возможности кастомизации уведомлений.

Freshping хорошо подходит как дополнение к Uptime Kuma: Kuma мониторит изнутри, Freshping — снаружи, с разных регионов.

Better Uptime — когда нужен серьёзный инструмент

Better Uptime (сейчас переименован в Better Stack) — платный SaaS с акцентом на удобство и командную работу.

Что выделяет:

  • проверка с 20+ регионов;
  • встроенные журналы инцидентов с временными метками и скриншотами;
  • on-call расписания и эскалации — кому звонить сначала, кому потом;
  • интеграция с Datadog, Grafana, GitHub;
  • красивые публичные статусные страницы с историей инцидентов.

Цены: от $24/месяц за команду. Есть бесплатный план с ограничениями — 5 мониторов, проверка каждые 3 минуты.

Better Uptime оправдан, когда у вас несколько команд, дежурные смены и клиенты, которым важна прозрачность. Для маленького проекта это избыточно.

Checkly — мониторинг с синтетическими тестами

Checkly — инструмент другого класса. Кроме простой проверки доступности, он запускает Playwright-скрипты и проверяет, что пользовательские сценарии работают: вход на сайт, добавление товара в корзину, оформление заказа.

Когда нужен:

  • интернет-магазин с критичными пользовательскими путями;
  • SaaS-приложение, где важно не просто «сайт открывается», а «пользователь может войти и совершить действие»;
  • API-мониторинг с проверкой структуры ответа.

Цены: есть бесплатный план (10 000 проверок/месяц), платный от $20/месяц.

Checkly интегрируется с CI/CD — можно запускать проверки автоматически после деплоя.

StatusCake — старый, надёжный, дешёвый

StatusCake существует с 2012 года. Не самый красивый интерфейс, но надёжный и с адекватными ценами.

Бесплатный план: 10 мониторов, проверка каждые 5 минут. Платный: от $24/месяц — 100 мониторов, проверка каждую минуту, SSL-мониторинг, мониторинг домена.

Выбирают те, кто привык и не хочет переезжать. Новым проектам интереснее альтернативы.

HetrixTools — хорош для агентств

HetrixTools мониторит uptime, серверы по SNMP/агенту, блэклисты IP и доменов. Последнее особенно полезно: если ваш IP попал в спам-листы, почта перестанет доходить.

Цены: от $9.95/месяц за 15 мониторов uptime + 2 сервера.

Для веб-студий, которые обслуживают несколько клиентов, HetrixTools удобен: один дашборд, все клиенты, блэклист-мониторинг в комплекте.

Как выбрать инструмент

Вот простая матрица решений:

Один проект, свой сервер, бюджет минимальный → Uptime Kuma. Бесплатно, гибко, достаточно.

Один проект, нет своего сервера, бюджет минимальный → Freshping бесплатный план.

Несколько проектов, нужны мультирегиональные проверки → Uptime Kuma + Freshping. Один следит изнутри, второй снаружи.

Команда с дежурными, SLA-обязательства перед клиентами → Better Uptime или Checkly.

Интернет-магазин, критичны пользовательские сценарии → Checkly как основной инструмент.

Агентство, много клиентов, нужен блэклист-мониторинг → HetrixTools.

Практические советы

Не мониторьте только главную страницу. Добавьте ключевые URL: страницу товара, корзину, API-эндпоинты, личный кабинет. Главная может работать, а корзина — нет.

Настройте проверку тела ответа. Кешированная страница с ошибкой вернёт 200. Добавьте проверку на наличие динамического контента.

Разделите оповещения по критичности. Упал основной сайт — звонок по телефону. Истекает сертификат через 2 недели — письмо. Не нужно ночью просыпаться от уведомления про сертификат.

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

Мониторьте не только сайты. Добавьте TCP-проверки для баз данных, SMTP для почтового сервера, пинги для критичных серверов.

Держите историю инцидентов. Большинство инструментов хранят данные 30–90 дней. Если нужна долгая история для расчёта SLA — выгружайте или используйте инструменты с более длинным хранением.

Uptime Kuma + Grafana — профессиональная связка

Uptime Kuma умеет экспортировать метрики в формате Prometheus. Если у вас уже есть Grafana, добавьте Uptime Kuma как источник данных и постройте дашборд с историей uptime, временем ответа по мониторам и количеством инцидентов за период.

Это особенно полезно, когда нужно показать клиенту отчёт за месяц: вот аптайм 99.8%, вот два инцидента, вот их длительность.

Что в итоге

Uptime Kuma — отличный старт. Устанавливается за 5 минут, покрывает большинство кейсов, ничего не стоит кроме места на сервере. Если проект растёт и появляются требования к мультирегиональным проверкам или командной работе — смотрите в сторону Better Uptime или Checkly.

Главное — начать мониторить. Даже простая проверка раз в минуту с уведомлением в Telegram лучше, чем узнавать о проблемах от клиентов.

Кстати, в REEXY мониторинг сайтов входит в сервис поддержки — от 10 000 ₽/мес. Это не просто «смотреть, что сайт открывается»: настраиваем полноценный мониторинг с алертами, SSL-контролем и ежемесячными отчётами по аптайму. Подробности на r3xy.ru.