← Блог

Uptime-мониторинг Cloudflare Workers

Cloudflare Workers крутят JS на edge — быстро и глобально, но с ноутбука этого не видно. Клиентам и интеграторам нужно доказательство, что ваш API или маршрут Worker отвечает в интернете, особенно когда начинается инцидент.

StillOnline проверяет HTTPS health извне сети Cloudflare, даёт страницу статуса для подписчиков и алерты владельцу через бота StillOnline в Telegram, Slack или email. Workers остаются у вас; StillOnline нужен только публичный GET.

Краткий ответ

Опубликуйте Worker с GET /health → JSON и 200. Добавьте production URL в StillOnline для расписания внешних проб, страница статуса на /ru/s/{id} и уведомлений через бота StillOnline в Telegram, Slack или email. На Free один URL на проект — выберите hostname, который реально используют клиенты API.

Минимальный health в Worker

Начните с пути без KV/D1, если «up» не обязан означать доступность хранилища. Привяжите worker к workers.dev или своему домену.

export default {
  async fetch(request) {
    if (new URL(request.url).pathname === "/health") {
      return Response.json({ status: "ok" }, { status: 200 });
    }
    // ...
  },
};

После деплоя с ноутбука:

curl -sS https://api.yourproduct.com/health

Workers + Pages: health на Worker перед Pages или на api. — один канонический URL в документации (дизайн health URL).

StillOnline

Внешний мониторинг не выполняется внутри isolate Worker. Зарегистрируйте тот же HTTPS URL, что проверили curl.

  1. Аккаунт.
  2. Проект → HTTP-проверка → HTTPS Worker, GET, 200, 5 мин на Free.
  3. Ссылку на страницу статуса — в документации и при подключении клиентов (публичная страница).

Алерты для edge-стека

Аналитика Cloudflare и логи Workers помогают в разборе, но не пишут в личку ночью. Telegramбот StillOnline · Slackвебхук в настройках. Free: один канал; Pro / Ultimate: все три (тарифы).

Заметки по edge

На edge часто антибот на /, cron и опционально KV/D1 в health. StillOnline шлёт одну внешнюю HTTP-проверку — выберите URL, который лучше всего отражает доступность для клиента.

ТемаСовет
KV / D1 в healthТолько если «up» = данные живы
CronОтдельно от HTTP-проверки; вторая проверка — на Pro
Антибот на /Мониторьте /health
РегионыОдна внешняя URL на проверку

Связанные материалы

FAQ

StillOnline выполняется внутри моего Cloudflare Worker?

Нет. Проверки идут из внешней сети StillOnline, не из isolate Worker. Нужен только публичный GET /healthбыстрый старт health.

Что указать в StillOnline — workers.dev или свой домен?

Тот HTTPS hostname, который используют клиенты API в production. Смена host ломает закладки — один канонический URL в дизайне health.

Какой URL при Workers + Pages?

Тот URL, где health отдаёт 200 — Worker перед Pages или api.. На Free один URL на проект.

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

На Proпубличный JSON или MCP. Людям — страница статуса.

Какой канал алертов StillOnline на Free для edge-команды?

На Freeодин канал; часто Telegram через бота StillOnline. Pro / Ultimate — email, Telegram и Slack вместе.