Uptime-мониторинг для Netlify SaaS
Netlify отдаёт статику и serverless functions через CDN. У вас в браузере сайт открывается, а function для оплаты уже отваливается по таймауту — панель деплоя Netlify не подскажет клиентам, на какой URL смотреть статус во время инцидента.
Нужны стабильный HTTPS health (часто отдельная Function) и внешняя проверка по расписанию, а не когда вы случайно обновили вкладку. StillOnline бьёт в этот URL с интернета, даёт страницу статуса и шлёт алерты владельцу через бота StillOnline в Telegram, Slack или email.
Краткий ответ
Сделайте Netlify Function на /api/health с HTTP 200. Добавьте production URL в StillOnline для внешних проверок каждые 5 минут, автоматической страницы статуса и алертов через бота StillOnline в Telegram, Slack или email. На Free — один проект и один URL; обычно это health API или function, а не маркетинговая главная.
Что мониторить
Не у каждого сайта на Netlify одинаковая критичность. Для лендинга важна только главная; для SaaS с Functions за /api нужен путь, который доказывает, что бэкенд жив.
Сопоставьте проверку с тем, за что платят пользователи. Если API на другом хосте — сначала мониторьте его; на Free в StillOnline один URL на проект.
| Схема | Что проверять |
|---|---|
| Только статика | Главная — если бизнес зависит от сайта |
| SPA + Functions | Health function (/api/health или /.netlify/functions/health) |
| Netlify + API отдельно | Health бэкенда — API-only SaaS |
Function health (пример)
Небольшая function с JSON и 200; тяжёлые зависимости в health — только если вы сознательно хотите видеть сбой БД в статусе.
export async function handler() {
return {
statusCode: 200,
body: JSON.stringify({ status: "ok" }),
};
}
После деплоя снаружи:
curl -sS -o /dev/null -w "%{http_code}\n" https://your-site.netlify.app/api/health
На JAMstack часто редиректы с / — бейте в /api/health, чтобы StillOnline не гонял маркетинговые цепочки. Подробнее — дизайн health URL.
StillOnline + страница статуса
Когда curl на production отдаёт 200, тот же URL добавьте в StillOnline — история и алерты совпадут с документации для интеграторов.
- Приложение → новый проект.
- HTTP-проверка → production HTTPS Netlify, GET, 200.
- Ссылку на страницу статуса — в README, при подключении клиентов, в макросах поддержки — публичная страница статуса.
Алерты
Netlify не пейджит вас при ошибках function. Подключите Telegram к боту StillOnline в настройках — гайд. Free: один канал владельца; Pro / Ultimate: email, Telegram и Slack. Команда в Slack — вебхук.
Подводные камни Netlify
Preview с паролем, долгий cold start function и смешение Edge/Node — типичные сюрпризы. В StillOnline указывайте только production URL, которым пользуются клиенты.
| Проблема | Решение |
|---|---|
| Preview с паролем | Только production URL |
| Таймаут function | Health < 2 с |
| Edge vs Node | Один runtime для зависимостей в health |
Похожие паттерны на Vercel — гайд Vercel.
Связанные материалы
FAQ
Что мониторить в StillOnline — главную Netlify или API function?
URL, от которого зависит доступность продукта — обычно health function или API, не маркетинговый / с редиректами. API на другом хосте — см. API-only SaaS.
Работает ли StillOnline с Netlify Identity и паролем на preview?
Нужен публичный GET /health без auth на production URL. Preview с паролем не подходят для внешних проб StillOnline.
Можно ли в StillOnline мониторить Netlify и отдельный backend?
Как агентам читать uptime Netlify через StillOnline?
На Pro — MCP или публичный JSON. Клиентам — публичная страница статуса.