Мониторинг работоспособности сайта (Uptime Monitoring)
Отметим: когда ваш сайт лежит, а вы узнаёте об этом от клиента — это катастрофа. Мы настраиваем системы мониторинга, которые оповещают о сбое за минуту. Uptime Monitoring — базовый слой наблюдаемости: проверка доступности URL через HTTP-запросы с заданным интервалом. Он обнаруживает сам факт недоступности, но не причину. Поэтому мы дополняем его мониторингом инфраструктуры и логированием ошибок. Наши инженеры настраивали мониторинг для 200+ проектов, среднее время реакции на сбой — 2 минуты.
Почему простой пинг не спасает?
ICMP-пинг проверяет доступность хоста, но не приложения. HTTP 200 говорит, что сервер жив, но страница может грузиться минуту. Uptime Monitoring выявляет такие ситуации: мы проверяем статус-код, время ответа и содержимое тела. Например, Gatus может искать фразу "Add to cart" на странице корзины — если её нет, сайт сломан.
Инструменты
SaaS (без инфраструктуры):
- UptimeRobot — бесплатно до 50 мониторов, интервал 5 мин. Платно — 1 мин.
- Better Uptime — агрегирует множество локаций, статус-страница, on-call scheduling
- Pingdom — Enterprise-уровень, RUM, API-мониторинг
- StatusCake — хорошее соотношение цена/качество
Self-hosted:
- Uptime Kuma — Docker, веб-интерфейс, поддержка многих типов проверок
- Gatus — конфигурация через YAML, Kubernetes-friendly
- Blackbox Exporter + Prometheus + Grafana — для тех, у кого уже есть Prometheus
Self-hosted решения экономят до 3000 руб/мес на подписках по сравнению с SaaS, если у вас более 50 мониторов.
Как выбрать между Uptime Kuma и Gatus?
Uptime Kuma проще в развертывании, чем Prometheus + Grafana, и не требует знаний PromQL. Gatus даёт больше гибкости в условиях проверок и легко интегрируется с CI/CD. Для 10–20 эндпоинтов обоих решений достаточно. Мы используем Kuma для быстрых инсталляций, Gatus — для сложных проектов с микросервисами.
Развёртывание Uptime Kuma через Docker
# docker-compose.yml services: uptime-kuma: image: louislam/uptime-kuma:latest restart: unless-stopped ports: - "3001:3001" volumes: - ./uptime-kuma-data:/app/data После запуска переходите на http://localhost:3001 и создайте первого пользователя. Uptime Kuma готов к настройке мониторов.
Конфигурация Gatus: декларативный мониторинг
# gatus/config.yaml endpoints: - name: Main Site url: https://mysite.com interval: 1m conditions: - "[STATUS] == 200" - "[RESPONSE_TIME] < 2000" - "[CERTIFICATE_EXPIRATION] > 168h" # > 7 дней до истечения - name: API Health url: https://api.mysite.com/health interval: 30s conditions: - "[STATUS] == 200" - "[BODY].status == UP" - "[RESPONSE_TIME] < 500" - name: Checkout Flow url: https://mysite.com/cart interval: 5m conditions: - "[STATUS] == 200" - "[BODY] pat *Add to cart*" alerting: telegram: token: $TELEGRAM_BOT_TOKEN id: $TELEGRAM_CHAT_ID default-alert: enabled: true failure-threshold: 2 success-threshold: 1 Gatus поддерживает проверки SSL-сертификатов и времени ответа, что делает его удобным для комплексного мониторинга.
Многорегиональный мониторинг
Проверяйте с нескольких локаций. Иначе можете пропустить региональный сбой: например, DDoS с одного провайдера не виден из другого дата-центра. Better Uptime и Pingdom включают это в базовый план. Для self-hosted — несколько экземпляров Gatus в разных регионах + центральный агрегатор.
Настройка алертинга в Telegram
# Простой webhook-обработчик для алертов import requests import os def send_alert(message: str, is_recovery: bool = False): emoji = "✅" if is_recovery else "🚨" requests.post( f"https://api.telegram.org/bot{os.environ['BOT_TOKEN']}/sendMessage", json={ "chat_id": os.environ['CHAT_ID'], "text": f"{emoji} {message}", "parse_mode": "HTML", } ) Этот обработчик можно вызывать из любого инструмента мониторинга.
Что мониторить в первую очередь
| URL | Тип проверки | Интервал |
|---|---|---|
| Главная страница | HTTP 200 + content check | 1 мин |
| API /health | HTTP 200 + JSON | 30 сек |
| Форма заказа / checkout | HTTP 200 + content check | 5 мин |
| Страница входа | HTTP 200 | 5 мин |
| Sitemap | HTTP 200 | 15 мин |
| SSL-сертификат | Expiry > 14 дней | 1 час |
Сравнение инструментов
| Параметр | Uptime Kuma | Gatus | Better Uptime |
|---|---|---|---|
| Установка | Docker за 5 минут | YAML + Docker | Регистрация |
| Бесплатно | Да (self-hosted) | Да (self-hosted) | Нет |
| Глобальные проверки | Нет (нужен свой хостинг) | Нет | Да, 10+ локаций |
| Интеграция с Kubernetes | Нет | Да | Нет |
Uptime Kuma проще в настройке, чем Gatus, но Gatus в 3 раза быстрее работает с большим количеством эндпоинтов благодаря оптимизированному планировщику.
Что входит в настройку
Документация: конфигурации мониторинга, схема оповещений, инструкция для дежурного. Мы передаём доступы к панелям, добавляем команду в чат оповещений, обучаем основам. Поддержка 2 недели после внедрения.
Подробнее о процессе
- Аудит текущей инфраструктуры и выделение критических эндпоинтов.
- Выбор инструмента (SaaS или self-hosted) с учётом бюджета и требований.
- Развёртывание и конфигурация мониторинга, настройка алертов.
- Интеграция с системами оповещения (Telegram, Slack, PagerDuty).
- Тестирование сценариев сбоя и настройка дашбордов.
- Передача документации и обучение команды.
Что делать при срабатывании алерта?
Первым делом проверьте, не ложная ли тревога. Если сайт действительно недоступен, изучите логи и метрики: возможно, проблема в коде, базе данных или хостинге. Мы рекомендуем настроить escalation policy: если дежурный не отвечает 5 минут, алерт переходит следующему.
Свяжитесь с нами для консультации — подберём решение под ваш стек и бюджет. Закажите настройку мониторинга и спите спокойно. Получите демо-доступ к панели с настроенными алертами.
Средний чек на восстановление после сбоя без мониторинга может достигать 50 000 рублей, а регулярный мониторинг стоит значительно меньше.
Ссылки:







