← Блог

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 + FunctionsHealth 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 — история и алерты совпадут с документации для интеграторов.

  1. Приложение → новый проект.
  2. HTTP-проверка → production HTTPS Netlify, GET, 200.
  3. Ссылку на страницу статуса — в 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
Таймаут functionHealth < 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?

Да — сначала health бэкенда. Вторая проверка сайта на Netlify — на Pro. На Free один URL — чаще всего API health.

Как агентам читать uptime Netlify через StillOnline?