Uptime-проверки для Neon и PlanetScale
Neon (serverless Postgres) и PlanetScale (Vitess MySQL) умеют scale-to-zero и паузу compute ради экономии. Для мониторинга это путаница: StillOnline не проверяет сокет БД — только HTTP URL; ваш /health решает, считать ли паузу ветки или timeout соединения «down» для клиентов.
Краткий ответ
Neon и PlanetScale доступны приложению, не прямому HTTP-мониторингу. Добавьте GET /health в app (опционально SELECT 1 с таймаутом 1 с); при suspend compute — liveness без DB ping. В StillOnline — HTTPS URL приложения; Free, один URL, интервал пять минут (тарифы).
Лёгкий SELECT vs полный app health
| Подход | Доказывает | Риск ложного срабатывания |
|---|---|---|
Только liveness ({ "status": "ok" }) | Процесс отвечает | БД может лежать при зелёной проверке |
SELECT 1 в /health | БД доступна из app | Resume Neon / cold start замедляет внешнюю проверку |
Отдельный /ready | Строгие зависимости | Вторая проверка на Pro |
| Прямой DB URL в StillOnline | Не поддерживается | StillOnline — только HTTP |
Подробнее: дизайн health URL.
Neon: пауза compute и ветки
Neon может приостанавливать compute на free/dev tier. Первый запрос после простоя будит БД — /health с DB ping может один раз не уложиться в таймаут внешней проверки.
| Ситуация | Рекомендация |
|---|---|
| Dev-ветка с auto-suspend | Не мониторьте dev URL в production-проекте StillOnline |
| Prod не должен спать | Отключите suspend на prod; DB ping в /health |
| Принимаете latency пробуждения | Liveness-only /health; page только при повторных fail |
PlanetScale: ветки и scale
Мониторьте production branch через приложение, не admin UI. Лимиты соединений при деплое могут кратко валить SELECT 1 — запрос минимальный.
Пример (концепт)
Маршрут приложения:
SELECT 1;
с timeout 1 с → 200 или 503. StillOnline регистрирует:
curl -sS https://api.yourproduct.com/health
Не hostname neon.tech или planetscale.com.
StillOnline
- Вход.
- Новый проект.
/healthприложения, GET, 200.- Страница статуса — быстрый старт.
Настройки → бот StillOnline — Telegram.
Связанные материалы
FAQ
StillOnline мониторит Neon или PlanetScale напрямую?
Нет. Только публичные HTTP URL. Uptime БД — через health маршрут приложения — дизайн health.
Почему StillOnline алертит, когда Neon был на паузе?
/health с DB ping может не уложиться в timeout при resume. Liveness-only, отключите suspend на prod или подстройте интервал — редиректы и антибот.