Мониторинг своего сайта
Если вы делаете свой собственный сайт или приложение — на Python/Django, Node.js, Go, Rust, на любом стеке — Monisite подойдёт без всяких настроек. Просто добавьте URL и забудьте. Но есть несколько best practices которые сделают мониторинг точнее и удобнее.
Что мониторить
Section titled “Что мониторить”Минимум:
- Главная страница (или landing page)
- Health-эндпоинт — отдельный URL
/healthили/pingдля технических проверок
Желательно:
- Ключевые API-эндпоинты — авторизация, главные read-операции
- Платёжные/критичные эндпоинты — отдельно
На бесплатном тарифе нет лимита на количество сайтов, поэтому добавляйте сколько нужно.
Best Practice: правильный health-эндпоинт
Section titled “Best Practice: правильный health-эндпоинт”Хороший health-эндпоинт это:
✅ Возвращает 200 OK если приложение работает
✅ Возвращает 5xx если что-то критичное сломалось
✅ Отвечает быстро (менее 1 секунды)
✅ Не требует авторизации
✅ Не нагружает БД сложными запросами
Пример на разных языках:
Python (FastAPI):
@app.get("/health")async def health(): # Простая проверка — приложение запущено return {"status": "ok"}С проверкой БД:
@app.get("/health")async def health(db: Session = Depends(get_db)): try: db.execute(text("SELECT 1")) return {"status": "ok", "db": "ok"} except Exception as e: raise HTTPException(status_code=503, detail=f"DB unavailable: {e}")Node.js (Express):
app.get('/health', (req, res) => { res.json({ status: 'ok' });});Go:
http.HandleFunc("/health", func(w http.ResponseWriter, r *http.Request) { w.Write([]byte("OK"))})Django:
def health(request): return JsonResponse({"status": "ok"})urlpatterns = [ path('health/', views.health), # ...]Что НЕ делать в health-эндпоинте
Section titled “Что НЕ делать в health-эндпоинте”❌ Не зовите внешние API. Если ваш health зависит от Stripe API — при падении Stripe ваш сайт «упадёт», хотя сам сайт работает.
❌ Не делайте тяжёлые БД-запросы. Health должен отвечать миллисекунды, не секунды.
❌ Не возвращайте 200 если всё сломано. Health должен показывать реальное состояние.
❌ Не требуйте авторизации. Monisite не отправляет токены — health должен быть открытым (на крайний случай — whitelisting по User-Agent).
❌ Не пишите всю информацию о системе. Health = OK / Not OK. Без раскрытия версий ПО, имён БД и прочего что облегчает атаку.
Чем полезен «дип» health
Section titled “Чем полезен «дип» health”Можно делать многоуровневые health-эндпоинты:
/health— простой, быстрый, проверяет что приложение запущено (10 ms)/health/full— глубокий, проверяет БД, кэш, очереди, внешние сервисы (1-5 сек)
В Monisite мониторьте простой /health каждую минуту — это не нагружает. А /health/full сделайте для ручной диагностики или для внутренних дашбордов.
Как добавить
Section titled “Как добавить”-
Зарегистрируйтесь в Monisite
-
Добавьте сайт через + Добавить сайт
-
Введите URL — главную или health-эндпоинт
-
По желанию добавьте несколько URL: главную + health + ключевые API — всё бесплатно
Особенности для разных стеков
Section titled “Особенности для разных стеков”Микросервисная архитектура
Section titled “Микросервисная архитектура”Если у вас несколько микросервисов — добавьте мониторинг каждого отдельно:
api.example.com/healthauth.example.com/healthpayments.example.com/health
Так вы сразу видите какой именно сервис упал.
SPA (React, Vue, Angular)
Section titled “SPA (React, Vue, Angular)”Для одностраничных приложений мониторьте:
- HTML главной страницы — что фронт грузится
- API-эндпоинт
/health— что бэк работает
Без бэка фронт грузится но не работает — без обоих чеков вы не увидите частичное падение.
Серверлесс (Lambda, Cloudflare Workers)
Section titled “Серверлесс (Lambda, Cloudflare Workers)”Workers тоже падают (cold start fail, превышение лимитов, deploy сломан). Мониторьте конкретные URL воркеров.
Канареечный (canary) деплой
Section titled “Канареечный (canary) деплой”Если у вас blue-green или canary deployment — мониторьте обе версии отдельно. Если новая упала, старая держит — увидите сразу что новый деплой сломан, надо откатывать.
Если не разработчик но сайт самописный
Section titled “Если не разработчик но сайт самописный”Если ваш сайт делал кто-то на заказ, и вы — владелец, а не разработчик:
- Попросите разработчика добавить простой
/healthэндпоинт - Подключите мониторинг Monisite
- При падении — отправляйте разработчику скриншот алерта
Это снимает с вас «дежурство» — система сама ловит проблемы.
Чем поможет Monisite
Section titled “Чем поможет Monisite”Для самописных проектов Monisite — простой и надёжный инструмент внешнего мониторинга (что вижу со стороны клиента). Дополняет внутренний мониторинг (Prometheus, Grafana), который видит инфраструктуру.
- Проверка каждую минуту из 3 регионов
- Уведомления в Telegram, MAX, email
- Мониторинг SSL
- Публичная страница статуса для клиентов
- Бесплатно, без лимита сайтов
Что дальше
Section titled “Что дальше”- Типы проверок
- Защита от ложных срабатываний
- Наш User-Agent — для whitelisting в WAF