Реалізація Status Page для моніторингу SaaS-приложення
Status page — це публічна сторінка, на якій клієнти бачать поточний стан сервісу, історію інцидентів і планові роботи. Без неї підтримка буває захоплена сотнями однакових питань. З правильно налаштованою status page клієнт сам знаходить актуальний статус за 5 секунд.
Компоненти системи
Мінімальний набір включає декілька незалежних частин:
- Сторінка статусів — список компонентів (API, Dashboard, Webhooks, CDN) з індикатором стану
- Історія інцидентів — таймлайн з оновленнями в реальному часі
- Підписки — email/SMS/webhook сповіщення при зміні статусу
- Метрики uptime — відсоток доступності за 30/60/90 днів
- Планові роботи — вікна обслуговування з заявленням наперед
Варіанти реалізації
Готові рішення економлять 2–3 тижні розробки:
- Statuspage.io (Atlassian) — інтегрується з Jira, PagerDuty, Datadog. API для автоматичного оновлення статусу. Від $29/місяць.
- Instatus — дешевша альтернатива, REST API ідентичний Statuspage. Безкоштовний тариф з обмеженнями.
- Cachet — open-source, self-hosted, PHP/Laravel. Підходить, якщо SaaS не можна використовувати.
Кастомна реалізація потрібна, коли вимагається повна інтеграція з внутрішніми системами моніторингу і брендинг без обмежень платформи.
Автоматичне оновлення статусів
Ручне оновлення статусу під час інциденту — погана практика: дежурний займений гасінням пожежі, а не написанням постів. Автоматизуйте через Prometheus Alertmanager або PagerDuty webhooks:
# alertmanager.yml — webhook при срабатыванні алерта
receivers:
- name: statuspage
webhook_configs:
- url: 'https://api.statuspage.io/v1/pages/PAGE_ID/incidents'
http_config:
authorization:
credentials: $STATUSPAGE_API_KEY
send_resolved: true
Скрипт оновлює статус компонента через Statuspage API при отриманні алерта й автоматично закриває інцидент при resolved.
Окремий хостинг — обов'язкова вимога
Status page не повинна бути на тій же інфраструктурі, що й основне приложення. Якщо упав основний сервер, сторінка статусів також недоступна — саме коли вона потрібна більше всього.
Варіанти: Netlify/Vercel (статичний сайт з API оновлень), окремий VPS в іншій хмарі, Cloudflare Pages.
Сроки
Налаштування Statuspage.io з автоматичними алертами з Prometheus/Datadog — 1–2 дні. Кастомна сторінка на окремому хостингу з підписками — 3–5 днів. Self-hosted Cachet з автоматизацією — 5–7 днів.







