GH GambleHub

Отслеживание аптайма

1) Зачем мониторить аптайм

Аптайм — доля времени, когда сервис доступен пользователю. Это “первая линия” наблюдаемости: мгновенно замечать недоступность, деградацию по сети, сбой DNS/TLS, проблемы маршрутизации или CDN. Для высоконагруженных и регулируемых систем (финтех, iGaming) аптайм напрямую влияет на выручку, выполнение SLA и штрафные риски.

2) Термины и формулы

SLI доступности: `SLI = (успешные проверки / все проверки) × 100%`.
SLO: целевая доступность за окно (обычно 28–30 дней), например 99.9%.
SLA: внешнее обязательство; всегда ≤ внутреннего SLO.
MTBF / MTTR: среднее время между сбоями / среднее время восстановления.

Карта “девяток” (за месяц, ~43 200 минут):

99.0% → ~432 мин недоступности

99.9% → ~43 мин

99.99% → ~4.3 мин

99.999% → ~26 сек

3) Какие проверки нужны (черный ящик)

Запускаются из внешних точек (разные регионы/провайдеры), чтобы видеть сервис “глазами клиента”.

1. ICMP (ping) — базовая сетевуха/доступность узла. Быстрая, но не отражает бизнес-успех.
2. TCP connect — порт слушает? Полезно для брокеров/БД/SMTP.
3. HTTP/HTTPS — статус-код, заголовки, размер, редиректы, время до первого байта.
4. TLS/сертификаты — срок действия, цепочка, алгоритмы, SNI, протоколы.
5. DNS — A/AAAA/CNAME, NS-здоровье, распространение, DNSSEC.
6. gRPC — статус вызова, deadline, метаданные.
7. WebSocket/SSE — рукопожатие, поддержание соединения, сообщение-эхо.
8. Прокси/маршрутизация/CDN — разные PoP, хеш-проба кэша, гео-варианты.
9. Транзакционные синтетические сценарии (клики/формы): “логин → поиск → депозит (песочница)”.
10. Heartbeat/cron-мониторинг — сервис обязан “пульсировать” (хук раз в N минут); нет сигнала — тревога.

Советы:
  • Ставьте таймауты ближе к реальному UX (например, TTFB ≤ 300 мс, total ≤ 2 с).
  • Проверяйте контент-ассерт (ключевое слово/JSON-поле), чтобы “200 ОК” с ошибкой не считался успехом.
  • Дублируйте проверки через независимых провайдеров и сети (мульти-хоп, разные ASN).

4) Белый ящик и здоровье сервиса

Liveness/Readiness пробы для оркестратора (процессы живы? готовы принимать трафик?).
Здоровье зависимостей: БД, кеш, брокер событий, внешние API (платежи/KYC/AML).
Фича-флаги/деградация: при проблемах мягко отключаем не-критичные пути.

Белые пробы не заменяют внешние проверки: сервис может быть “здоров внутри”, но недоступен пользователю из-за DNS/TLS/маршрута.

5) География и многорегиональность

Запускайте синтетику из ключевых регионов трафика и рядом с провайдерами критичных зависимостей.
Кворум: инцидент фиксируем, если провал в ≥ N регионах (например, 2 из 3), чтобы отсечь локальные аномалии.
Порог по когортам: отдельные SLI/SLO для важных сегментов (страны, VIP, операторы связи).

6) Политика алертов (минимум шума)

Мульти-регион + мульти-проба: пейджер только при согласованном провале (например, HTTP и TLS одновременно, ≥ 2 регионы).
Дебаунс: N последовательных неудач или окно 2–3 минуты перед пейджем.

Эскалации:
  • L1: on-call (продакшен-сервисы).
  • L2: сеть/платформа/безопасность в зависимости от сигнатуры сбоя.
  • Авто-закрытие: после стабильных M успешных проверок.
  • Тихие часы/уступки: для не-критичных внутренних сервисов — только тикеты, без пейджера.

7) Статус-страница и коммуникация

Публичная (клиентская) и приватная (внутренняя) статус-страницы.
Автоматические инциденты от синтетики + ручные аннотации.
Шаблоны сообщений: обнаружено — идентифицировано — воздействие — обходной путь — ETA — решено — пост-мордем.
Плановые окна: заранее объявлять, исключения учитывать отдельно от SLO.

8) Учет внешних зависимостей

Для каждого провайдера (платежи, KYC, рассылки, CDN, облака) — свои проверки из нескольких регионов.
Failover-маршруты: авто-переключение на альтернативного провайдера по сигналу синтетики.
Отдельные SLO на уровне провайдера и интегральный e2e-SLO.
Договориться о SLA с провайдерами (статус-вебхуки, приоритет поддержки).

9) Дашборды и ключевые виджеты

Карта мира с состоянием проверок (по типам: HTTP, DNS, TLS).
Таймлайн инцидентов с аннотациями релизов/флагов.
P50/P95/P99 TTFB/TTL/latency по регионам.
Доступность по когортам (страна/провайдер/устройство).
MTTR/MTBF, тренды “минут простоя” и “burn-down” бюджета доступности за месяц.
Топ-причины провалов (TLS-expiry, DNS-resolving, 5xx, timeouts).

10) Процесс инцидента (скоротечный сценарий)

1. Срабатывает мульти-регион/мульти-тип алерт.
2. Дежурный подтверждает, включает заморозку релизов, оповещает владельцев.
3. Быстрая диагностика: статус DNS/TLS/CDN, последние релизы, график ошибок.
4. Обход: смена маршрута, фолбэк-контент/провайдер, включение режима деградации.
5. Восстановление: проверка, что синтетика/реальный трафик зеленые.
6. Коммуникация на статус-странице; закрытие инцидента.
7. RCA и action items: исправления, тесты, алерты, плейбуки.

11) Отчетность по SLA/SLO

Ежемесячные отчеты: аптайм по сервисам/регионам, минуты простоя, MTTR, причины.
Сопоставление с SLA: кредиты/компенсации, если применимо.
Квартальные ревью: актуализация порогов, распределение синтетики, перечень зависимостей.

12) Шаблоны проверок (пример)

HTTP-проверка API:
  • Метод: `GET /healthz/public` (без секретов).
  • Таймаут: 2 с, retry: 1.
  • Успех: `2xx`, заголовок `X-App-Version` присутствует, JSON-поле `"status":"ok"`.
TLS-проверка:
  • Срок > 14 дней, валидная цепочка, протоколы `TLS 1.2+`, корректный SNI.
DNS-проверка:
  • Время ответа ≤ 100 мс, записи A/AAAA соответствуют плану, нет SERVFAIL/REFUSED.
Heartbeat:
  • Вебхук `/beat/{service}` раз в 5 мин; отсутствие 2 сигналов подряд — алерт L2 (фоновые задачи/ETL).

13) Чек-лист внедрения

  • Мульти-региональные внешние проверки (HTTP/TCP/DNS/TLS/глубокие сценарии).
  • Белые пробы readiness/liveness для оркестратора.
  • Разделение критичных/некритичных путей, фича-флаги деградации.
  • Кворум и дебаунс в алертах, эскалации и авто-закрытия.
  • Публичная и внутренняя статус-страницы, шаблоны сообщений.
  • Отдельные проверки и SLO для внешних провайдеров + автоматический failover.
  • Дашборды: карта, таймлайн, перцентили, минуты простоя, MTTR/MTBF.
  • Регулярные отчеты по SLA/SLO и пост-инцидентные RCA.

14) Частые ошибки

Только ping/порт без HTTP/контента — “зеленый” при фактической недоступности.
Одна точка мониторинга — ложно положительные/отрицательные выводы.
Отсутствие контроля TLS/DNS — внезапные простои из-за просрочки/мисконфига.
Лишний шум: алерты по одиночным провалам из одного региона/типа проверки.
Нет связи с изменениями — отсутствуют аннотации релизов и флагов в дашбордах.
Неучтенные зависимости — платежный провайдер упал, а общий статус “зеленый”.

15) Итог

Отслеживание аптайма — это не только “пикать URL”. Это система синтетических проверок из реальных регионов, разумные алерты без шума, прозрачная коммуникация через статус-страницы, учет внешних зависимостей и строгая отчетность. Правильно выстроенный мониторинг аптайма уменьшает MTTR, защищает SLA и сохраняет предсказуемость пользовательского опыта.

Contact

Свяжитесь с нами

Обращайтесь по любым вопросам или за поддержкой.Мы всегда готовы помочь!

Начать интеграцию

Email — обязателен. Telegram или WhatsApp — по желанию.

Ваше имя необязательно
Email необязательно
Тема необязательно
Сообщение необязательно
Telegram необязательно
@
Если укажете Telegram — мы ответим и там, в дополнение к Email.
WhatsApp необязательно
Формат: +код страны и номер (например, +380XXXXXXXXX).

Нажимая кнопку, вы соглашаетесь на обработку данных.