Uptime-мониторинг SaaS на DigitalOcean App Platform
DigitalOcean App Platform деплоит из Git, поднимает HTTPS и может подключить managed Postgres или Redis без Kubernetes. Панель DO показывает, прошёл ли ваш последний деплой; она не доказывает, что клиент из другого региона достучится до API, и не даёт B2B-покупателю стабильную ссылку на статус при скачке задержек.
StillOnline проверяет production health URL снаружи сети DigitalOcean, размещает страницу статуса на stillonline.tech/s/... и шлёт алерты владельцу через бота StillOnline в Telegram, Slack или email.
Краткий ответ
DigitalOcean App Platform выдаёт приложению URL *.ondigitalocean.app (свой домен опционально) и поддерживает HTTP health checks на web-сервисе. Опубликуйте GET /health с 200 быстрее двух секунд на production hostname и зарегистрируйте URL в StillOnline — на Free один проект, один URL, проверка каждые пять минут (тарифы). Страница статуса на stillonline.tech/s/..., алерты через бота StillOnline.
Что мониторить на App Platform
App Platform объединяет web-сервисы, workers и опциональную БД — см. обзор компонентов DO. StillOnline видит только зарегистрированный URL — указывайте hostname, который реально вызывают клиенты и интеграторы.
| Слой | Мониторить? | Заметки |
|---|---|---|
Web-сервис *.ondigitalocean.app или свой домен | Да | Основная production-проверка |
/health или /api/health | Да | Лёгкий liveness, без auth на этом пути |
| Managed DB addon | Обычно отдельно нет | StillOnline проверяет HTTP, не сокеты БД — опциональный ping внутри /health |
| Worker | Только при публичном health URL | Внутренние workers — паттерн heartbeat, не внешний GET |
Про liveness и readiness: дизайн health URL.
Шаг 1 — /health на App Platform
Добавьте короткий маршрут с 200, когда web-процесс может отвечать. Без сессионных cookie только на этом пути.
curl -sS -o /dev/null -w "%{http_code}\n" https://your-app-abc123.ondigitalocean.app/health
Со своим доменом — curl по prod DNS; в StillOnline тот же URL, что видят клиенты.
Типичные ошибки:
| Проблема | Решение |
|---|---|
| Health бьёт в managed DB на каждый запрос | Шум при миграциях — лёгкий liveness |
| У worker нет публичного URL | Не регистрируйте фиктивный адрес — мониторьте web или добавьте публичный health |
| Краткий сбой при деплое | Ожидаемо — техобслуживание или дождитесь восстановления |
Шаг 2 — StillOnline
- Вход.
- Новый проект.
- HTTP-проверка → полный HTTPS-URL, GET, 200, интервал 5 мин (Free).
- Страница статуса в документации — гайд по публичной странице.
StillOnline не деплоит на App Platform — только HTTP GET по вашему URL.
Шаг 3 — Алерты владельцу
App Platform не напишет вам в мессенджер. Настройки → Подключить Telegram → бот StillOnline → Start — гайд по Telegram.
Free: один канал (email, Telegram или Slack). Pro / Ultimate: все три — тарифы.
Связанные материалы
FAQ
StillOnline деплоит на DigitalOcean App Platform?
Нет. StillOnline выполняет HTTP GET с публичного интернета — отдельно от деплоя App Platform. Pipeline не меняется — старт: быстрый старт health URL.
Нужно ли отдельно мониторить managed Postgres в StillOnline?
StillOnline проверяет HTTP URL, не сокеты БД. Если падение Postgres должно красить сервис — лёгкий ping в /health — дизайн health URL.