Назад в блог

Как выглядит хорошая публичная страница статуса

· 6 мин чтения

Публичная страница статуса - это место, куда клиенты идут во время сбоя. Хорошая страница статуса снижает количество тикетов в поддержку и укрепляет доверие. Из чего она состоит.

Как выглядит хорошая публичная страница статуса

Что должно быть на хорошей странице статуса

  1. Текущее состояние каждого ключевого сервиса. Не просто "всё OK", а с разбивкой по компонентам (API, web, dashboard, emailing, payment processing).
  2. История инцидентов за последние 90 дней. Без попыток что-либо скрыть - прозрачная история укрепляет доверие.
  3. Метрика uptime (обычно за 30 дней) для каждого компонента, выраженная прозрачным процентом.
  4. Плановое обслуживание. Баннер с датой и описанием того, что будет недоступно.
  5. Активный инцидент с временной шкалой обновлений. Investigating → Identified → Monitoring → Resolved.
  6. Форма подписки. Клиенты получают письмо при изменении статуса и им не нужно повторно проверять страницу.

Чёткая иерархия компонентов

Вместо единственной записи "monitor" разбейте сервис на компоненты, которые имеют смысл с точки зрения клиента:

  • Web App - frontend (им пользуются посетители)
  • API - backend для программных интеграций
  • Auth / Login - вход в систему
  • Email delivery - транзакционные письма
  • Background jobs - sync, биллинг, экспорты
  • Status page - мета-компонент: сама страница статуса тоже может упасть (поэтому она должна работать на другой инфраструктуре, чем продукт)

Incident communication: анатомия хорошего обновления

При реальном сбое соблюдайте эти фазы:

  1. Investigating - "Мы выявили проблему с [компонент]. Команда выясняет причину." (в течение 5 мин с момента обнаружения)
  2. Identified - "Причина - [кратко]. Работаем над исправлением. ETA [время]." (когда вы знаете, что вызывает проблему)
  3. Monitoring - "Мы развернули исправление. Наблюдаем, не повторится ли проблема." (после развёртывания решения)
  4. Resolved - "Инцидент устранён. Длительность X минут. Далее последует postmortem." (после подтверждённого восстановления)

Каждая фаза получает timestamp и собственное обновление. После инцидента опубликуйте post-mortem (root cause, timeline и меры, предотвращающие повторение).

Правило: Никогда не используйте расплывчатые фразы вроде "experiencing some issues". Клиенты хотят конкретики: "Вход не удаётся в ~30 % попыток. API работает нормально. Веб доступен только в режиме read-only."

Hosting: принцип независимой инфраструктуры

Страница статуса должна работать на другой инфраструктуре, чем мониторируемый сервис. Если у вас падает регион AWS, страница статуса, размещённая в том же регионе, падает вместе с ним - ровно в тот момент, когда она клиентам нужнее всего.

Практические решения:

  • Хостинг через внешний SaaS (ePulz.io, Better Stack, Atlassian Statuspage)
  • Собственная статическая страница на CDN (Cloudflare Pages, Netlify) с API-эндпоинтом в другом месте
  • В крайнем случае - минимальная статическая страница на Cloudflare с вручную обновляемым текстом

Subscribers: email и webhook

Клиенты не хотят постоянно обновлять страницу статуса. Поэтому хорошая страница поддерживает:

  • Email subscribers - в ePulz.io доступно для авторизованных пользователей с платным планом (подписки мы собираем только с подтверждённых аккаунтов, а не с анонимных посетителей)
  • Webhook - для команд, которые хотят интегрировать статус в собственный Slack или PagerDuty

Anti-pattern: сокрытие проблем

Соблазн пометить сбой как "degraded" вместо "down" (или не показывать его вовсе) велик, но недальновиден:

  • Клиенты всё равно заметят сбой (через собственный мониторинг, тикеты в поддержку или соцсети)
  • Вы теряете доверие, когда они обнаруживают, что статус показывает "OK" во время очевидного сбоя
  • Вы теряете реальную картину тренда uptime, которая нужна вам для внутренних решений

Лучшая стратегия - радикальная прозрачность. GitLab, Cloudflare и Stripe публикуют подробные post-mortem даже при неловких ошибках, и сообщество это ценит.

SEO и бренд

Страница статуса должна:

  • Находиться на стабильном и легко запоминающемся URL для статуса сервиса
  • Иметь собственный брендинг (логотип, цвета) - клиент должен видеть, что он всё ещё на вашей странице
  • Быть проиндексированной в Google (лучшая видимость при поиске "[бренд] down")
  • Быть прилинкована с главной страницы (футер "Статус сервиса")

Заключение

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

Создайте страницу статуса за 5 минут

Страницы статуса ePulz.io с собственным брендингом, email subscribers и incident timeline. 7 дней бесплатно.

Попробовать ePulz.io →

Связанное

Поделиться: Ссылка скопирована

Попробуйте ePulz.io бесплатно - 7 дней без банковской карты.

Создать аккаунт