Аптайм 99.9%: как настроить мониторинг доступности сайта

Аптайм 99.9% — это около 43 минут простоя в месяц и не «хороший хостинг», а система. Что мониторить, какими инструментами, как настроить healthcheck и алерты в Telegram и как реагировать на инцидент.

«У нас всё работает» — фраза, которую владелец сайта произносит, глядя на свой экран. Проблема в том, что его экран показывает закэшированную страницу, а реальные клиенты в этот момент видят 502. Без мониторинга о падении узнают последними — из звонка недовольного клиента или из просевшей выручки. Разберём, как настроить наблюдение, чтобы узнавать о проблеме первым.

Что такое аптайм и почему 99.9% — это не 100%

Аптайм — доля времени, когда сайт доступен. Считается в «девятках»:

  • 99% — до 7 часов простоя в месяц. Для бизнеса это много.
  • 99.9% («три девятки») — около 43 минут в месяц. Рабочий ориентир для коммерческого сайта.
  • 99.99% — 4,5 минуты в месяц. Требует резервирования и стоит заметно дороже.

SLA хостинга обычно обещает 99.9% на инфраструктуру. Но SLA провайдера не покрывает ваш кривой деплой, забитый диск или упавшую базу — это ваша зона ответственности, и именно её закрывает мониторинг.

Что именно мониторить

Пинга недостаточно: сервер отвечает на ICMP, а сайт при этом отдаёт 500. Минимальный набор проверок:

  • HTTP-код главной и ключевых страниц — ждём 200, а не 3xx/5xx.
  • Время ответа — рост с 200 мс до 3 с это тревога ещё до падения.
  • Содержимое — на странице есть ожидаемое слово, а не заглушка хостера.
  • Срок SSL — предупреждение за 14 дней до истечения.
  • Ресурсы сервера — свободное место на диске, CPU, RAM.
  • База данных — соединение открывается, запрос выполняется.

Инструменты: от UptimeRobot до Prometheus

Выбор зависит от масштаба:

  • UptimeRobot, Uptime Kuma — внешние пинговалки HTTP. Ставятся за 10 минут, проверяют доступность «снаружи». Kuma можно поднять на своём сервере в РФ.
  • Яндекс Мониторинг, встроенные проверки хостинга — базовый уровень, часто уже включён в панель.
  • Prometheus + Grafana — для метрик изнутри: диск, память, БД, свои показатели. Дашборды и гибкие правила алертов.

Ключевой принцип — проверять и снаружи (доступен ли сайт миру), и изнутри (что с ресурсами).

Healthcheck-эндпоинт

Отдельная страница /health, которая проверяет не «отвечает ли PHP», а живы ли зависимости: база, кэш, диск.

<?php
// /health.php
$db = @mysqli_connect('localhost','u','p','db');
if (!$db) { http_response_code(503); exit('db down'); }
echo 'ok';

Мониторинг дёргает /health и видит реальное состояние стека, а не просто факт, что веб-сервер запущен.

Алерты в Telegram

Уведомление должно приходить туда, где вы его увидите ночью. Почта для этого плоха — Telegram-бот надёжнее. UptimeRobot и Grafana умеют слать в Telegram из коробки; вручную это одна строка:

curl -s "https://api.telegram.org/bot<TOKEN>/sendMessage"   -d chat_id=<ID> -d text="site DOWN: 502 on /"

Настройте разные уровни: «сайт лёг» — немедленно, «диск на 85%» — предупреждение в рабочее время.

Как реагировать на алерт

Мониторинг без регламента — просто источник тревоги. Договоритесь заранее:

  1. Кто дежурит и получает алерт первым.
  2. Первые действия: проверить внешней пинговалкой (не мой ли это интернет), глянуть логи, диск, статус сервисов.
  3. Порог эскалации: если за N минут не подняли — звоним в поддержку хостинга или подрядчику.

Чеклист и вывод

  • Внешняя проверка HTTP-кода и контента каждые 1-5 минут.
  • Внутренние метрики: диск, RAM, CPU, БД.
  • Healthcheck-эндпоинт, проверяющий зависимости.
  • Контроль срока SSL с запасом 14 дней.
  • Алерты в Telegram с разделением по важности.
  • Написанный регламент реагирования.

99.9% аптайма — это не «хороший хостинг», а система: внешние и внутренние проверки, честный healthcheck, быстрые алерты и регламент. Настроить и передать вам на сопровождение можем мы — настроим мониторинг доступности и алерты под ваш сайт, чтобы о проблеме вы узнавали за минуты до клиентов.

Серверный мониторинг
Услуга по теме — обсудим ваш проект.