Uptime-мониторинг SaaS на Supabase
Supabase даёт Postgres, Auth, Storage, Realtime и Edge Functions за одним project URL. status.supabase.com сообщает об инцидентах платформы; он не покажет, сломали ли ваши RLS, деплой Edge Function или ротация API-ключа production для платящих пользователей.
StillOnline выполняет внешние HTTP-проверки по URL под вашим контролем — обычно /health приложения с ping Supabase или отдельный health в Edge Function — и публикует страницу статуса плюс алерты владельцу через бота StillOnline, Slack или email.
Краткий ответ
Не опирайтесь только на status.supabase.com — там инциденты платформы, а не ваш RLS или деплой. Зарегистрируйте публичный HTTPS health URL (приложение или Edge Function) с 200, когда стек работает end-to-end. StillOnline проверяет URL каждые пять минут на Free (один проект, один URL; тарифы) и шлёт алерты через бота StillOnline. Cold start Edge Functions может дать краткий красный период — упростите health.
Что проверять снаружи Supabase
| Сигнал | Что доказывает | Проверка StillOnline? |
|---|---|---|
| status.supabase.com | Платформенный сбой | Для справки; не замена своему health |
/health приложения с DB ping | Проект и credentials работают | Да — основной паттерн |
Edge Function /health | Деплой функций и секреты | Да — следите за cold start |
| Realtime websocket | Доставка в канал | Не plain HTTP GET — прокси-health в приложении, если критично |
Прямой rest/v1/ без auth | Часто неверно | Не светите таблицы; контролируемый health-маршрут |
Если продукт — в основном API: мониторинг API-only SaaS.
Шаг 1 — Health с учётом Supabase
Чаще всего GET /health на app server (Next.js, Remix и т.д.) с SELECT 1 или дешёвым RPC — см. подключение к Postgres. Либо крошечная Edge Function с { "status": "ok" }, когда env и БД на месте.
Держите ответ быстрее двух секунд. Не гоняйте тяжёлые запросы на каждую внешнюю проверку.
curl -sS https://your-app.com/api/health
Cold start Edge Function может один раз замедлить ответ — если StillOnline слишком часто краснеет, вынесите DB-проверку в /ready. Подробнее: дизайн health URL.
Шаг 2 — StillOnline
- Старт.
- Новый проект.
- HTTP-проверка → health URL, GET, 200, 5 мин (Free).
- Ссылка на страницу статуса в API docs — публичная страница.
Шаг 3 — Алерты
Настройки → Подключить Telegram → бот StillOnline → Start — Telegram-алерты.
Free: один канал. Pro / Ultimate: email, Telegram и Slack — тарифы.
Типичные ловушки Supabase
| Проблема | Решение |
|---|---|
| Платформа зелёная, проект на паузе | Health падает — ожидаемо; восстановите биллинг |
| Cold start Edge Function | Лёгкий /health без DB или примите краткий degraded |
| RLS блокирует анонимный health | Service role только на сервере внутри handler |
| Мониторите только лендинг | Мониторьте API, если продукт — бэкенд — no-code |
Связанные материалы
FAQ
StillOnline должен мониторить status.supabase.com вместо приложения?
Нет. Статус платформы не доказывает работу вашего проекта, RLS и деплоя Edge. Регистрируйте свой health URL — быстрый старт.
StillOnline проверяет Supabase Realtime по HTTP?
StillOnline выполняет HTTP GET. Realtime отражайте через health маршрут приложения, если live-функции критичны.
Cold start Edge Function даёт ложные алерты StillOnline?
Может, если /health долго отвечает на первом вызове. Упростите функцию или разделите liveness и readiness — дизайн health URL · редиректы и антибот.