Сайт упал в пятницу вечером. Вы узнали об этом в понедельник утром — от злого клиента. Знакомо? Вот именно для того, чтобы такого не происходило, и существует мониторинг 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-подписок.
Как настроить монитор:
- Add New Monitor → HTTP(s).
- URL — ваш сайт.
- Heartbeat Interval — как часто проверять. Рекомендую 60 секунд для продакшена, 5 минут для некритичных сервисов.
- Retries — сколько раз повторить перед тем, как считать сайт упавшим. Ставьте 2–3, чтобы не получать ложные срабатывания из-за временных сетевых проблем.
- 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.