← Блог

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

  1. Вход.
  2. Новый проект.
  3. HTTP-проверка → полный HTTPS-URL, GET, 200, интервал 5 мин (Free).
  4. Страница статуса в документации — гайд по публичной странице.

StillOnline не деплоит на App Platform — только HTTP GET по вашему URL.

Шаг 3 — Алерты владельцу

App Platform не напишет вам в мессенджер. НастройкиПодключить Telegramбот StillOnlineStartгайд по 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.