---
title: "n8n healthcheck на Beget и Timeweb: алерты | Nodbot"
source_url: "https://nodbot.ru/workflows/beget-timeweb-n8n-healthcheck/"
canonical_url: "https://nodbot.ru/workflows/beget-timeweb-n8n-healthcheck/"
language: "ru"
content_type: "WorkflowTemplate"
section: "workflows"
generated_at: "2026-05-30"
word_count_source: 984
---

# Healthcheck n8n на Beget и Timeweb: проверка доступности, SSL и Telegram-алерт

## AI summary

AI-friendly Problem/Solution-мануал: как настроить healthcheck n8n на Beget, Timeweb или VPS, проверять HTTPS, latency, webhook endpoint и отправлять Telegram-алерт до того, как пользователи заметят простой.

## Best used for

Полноценный Problem/Solution-мануал для внедрения в n8n: импортировать workflow JSON, настроить API/файлы/мониторинг, выполнить production-тесты и передать решение команде.

## Table of contents

- Проблема: почему n8n на хостинге падает незаметно
- Архитектура workflow для healthcheck n8n
- Контракт параметров мониторинга
- Code Node: статус, latency, SSL и severity
- Готовый workflow JSON: скачать и импортировать
- Пошаговая настройка мониторинга Beget, Timeweb и VPS
- Тесты отказов и Telegram-алертов
- Production-риски мониторинга n8n
- Полезные ссылки и смежные инструкции
- Критерии готовности

## Key topics

- n8n healthcheck
- Beget
- Timeweb
- Telegram alert
- SSL monitoring
- latency monitoring

## Source outline

Healthcheck n8n на Beget и Timeweb: проверка доступности, SSL и Telegram-алерт ¶ Обновлено: 2026-05-30 AI summary: AI-friendly Problem/Solution-мануал: как настроить healthcheck n8n на Beget, Timeweb или VPS, проверять HTTPS, latency, webhook endpoint и отправлять Telegram-алерт до того, как пользователи заметят простой. Шаблон для внедрения Скачать workflow JSON Скачать test payload Скопировать curl Импортируйте workflow, замените credentials и прогоните тестовый payload до включения production. Содержание Проблема: почему n8n на хостинге падает незаметно Архитектура workflow для healthcheck n8n Контракт параметров мониторинга Code Node: статус, latency, SSL и severity Готовый workflow JSON: скачать и импортировать Пошаговая настройка мониторинга Beget, Timeweb и VPS Тесты отказов и Telegram-алертов Production-риски мониторинга n8n Полезные ссылки и смежные инструкции Критерии готовности Проблема: n8n может быть визуально “живым” в панели хостинга, но недоступным для webhook, CRM и форм. Без healthcheck команда узнаёт о проблеме от клиента или менеджера. Решение: настроить регулярный healthcheck n8n на Beget, Timeweb или VPS: проверить HTTPS endpoint, latency, SSL, классифицировать ошибку и отправить Telegram-алерт с runbook. Проверка должна имитировать реальный пользовательский путь: HTTPS → webhook → ответ. Проблема: почему n8n на хостинге падает незаметно ¶ n8n на недорогом VPS, Beget Cloud или Timeweb Cloud часто работает стабильно до первого обновления, нехватки памяти, истёкшего SSL или зависшего reverse proxy. Внешне это выглядит просто: форма Tilda отправила заявку, но webhook не ответил; CRM не обновилась; Telegram bot молчит. Поэтому мониторинг n8n должен проверять не только “сервер пингуется”, а реальный HTTP-ответ production endpoint. Для автоматизации продаж важно обнаружить простой раньше менеджера. Healthcheck workflow превращает техническую проверку в понятный инцидент: какой сервис, какой статус, какая задержка, сколько дней до истечения SSL и что делать дальше. Архитектура workflow для healthcheck n8n ¶ Нода Роль Что проверить Schedule every 5 min Запускает проверку по расписанию Интервал, timezone, не слишком частые запросы Check n8n URL Проверяет HTTPS endpoint HTTP 200, timeout, redirect, body Classify health Назначает severity Status, latency, SSL days left Telegram alert Отправляет сообщение команде chat_id, dedupe, runbook link Incident log Сохраняет историю Не терять flapping и recovery Контракт параметров мониторинга ¶ Конфигурацию лучше хранить как JSON или ENV, а не размазывать URL по нескольким HTTP Request нодам. Тогда один шаблон можно использовать для Beget, Timeweb и отдельного VPS. { "service": "n8n-production", "url": "https://n8n.example.ru/healthz", "webhook_url": "https://n8n.example.ru/webhook/healthcheck-ping", "expected_status": 200, "max_latency_ms": 2500, "alert_chat_id": "-1001234567890", "hoster": "timeweb-vps" } Code Node: статус, latency, SSL и severity ¶ Этот Code Node переводит технические метрики в понятный статус. В production добавьте отдельную проверку SSL через внешний endpoint или node, который возвращает ssl_days_left . const service = $json.service ?? 'n8n'; const status = Number($json.statusCode ?? $json.status ?? 0); const latency = Number($json.latency_ms ?? $json.responseTime ?? 0); const expected = Number($json.expected_status ?? 200); const maxLatency = Number($json.max_latency_ms ?? 2500); const sslDaysLeft = Number($json.ssl_days_left ?? 30); let severity = 'ok'; let reason = 'service_available'; if (status !== expected) { severity = 'critical'; reason = `unexpected_status_${status}`; } else if (latency > maxLatency) { severity = 'warning'; reason = 'slow_response'; } else if (sslDaysLeft < 7) { severity = 'critical'; reason = 'ssl_expires_soon'; } else if (sslDaysLeft < 14) { severity = 'warning'; reason = 'ssl_renewal_window'; } return [{ json: { service, severity, reason, status, latency_ms: latency, ssl_days_left: sslDaysLeft, dedupe_key: `healthcheck:${service}:${reason}`, message: severity === 'ok' ? `✅ ${service}: OK, ${latency} ms` : `🚨 ${service}: ${reason}, status=${status}, latency=${latency} ms, ssl=${sslDaysLeft}d`, checked_at: new Date().toISOString() }}]; Почему latency важнее простого ping Webhook может отвечать 200, но делать это за 8–12 секунд. Для форм, CRM и платёжных уведомлений это уже пользовательская проблема: внешний сервис может посчитать запрос неуспешным и повторить его. Готовый workflow JSON: скачать и импортировать ¶ В архиве страницы есть импортируемый workflow JSON и test payload. После импорта замените Telegram credential, URL n8n, chat_id и пороги latency. Скачать готовый workflow JSON Скачать тестовый payload { "name": "Nodbot - n8n healthcheck for Beget and Timeweb", "nodes": [ { "name": "Schedule every 5 min", "type": "n8n-nodes-base.scheduleTrigger", "purpose": "Запускать мониторинг по расписанию" }, { "name": "Check n8n URL HTTP", "type": "n8n-nodes-base.httpRequest", "purpose": "Проверить статус и latency" }, { "name": "Classify health Code", "type": "n8n-nodes-base.code", "purpose": "Назначить severity и dedupe key" }, { "name": "Send Telegram alert", "type": "n8n-nodes-base.telegram", "purpose": "Уведомить команду о проблеме" } ], "connections": "Schedule → HTTP check → Classify → Telegram" } Пошаговая настройка мониторинга Beget, Timeweb и VPS ¶ Создайте отдельный endpoint /healthz или проверяйте лёгкий webhook n8n без бизнес-логики. Укажите production URL, ожидаемый статус и timeout. Добавьте Telegram credential и рабочий чат инцидентов. Настройте дедупликацию: один алерт на одну причину до recovery. Проверьте runbook: где перезапустить Docker Compose, как посмотреть логи и как откатить обновление. Тесты отказов и Telegram-алертов ¶ curl -fsS -o /dev/null -w '%{http_code} %{time_total} ' "https://n8n.example.ru/healthz" curl -X POST "https://YOUR-N8N-DOMAIN/webhook/beget-timeweb-n8n-healthcheck" -H "Content-Type: application/json" --data @beget-timeweb-n8n-healthcheck-payload.json Остановите контейнер n8n и проверьте critical alert. Подставьте неправильный URL и проверьте reason unexpected_status . Снизьте max_latency_ms , чтобы увидеть warning без реального падения. Верните сервис и убедитесь, что команда получает recovery-сообщение или видит его в incident log. Production-риски мониторинга n8n ¶ Мониторинг запущен внутри того же n8n. Если n8n упал целиком, он не отправит алерт. Используйте внешний cron или резервный мониторинг для критичных систем. Проверяется только главная страница. UI может открываться, а webhook endpoint уже недоступен из-за reverse proxy. Нет дедупликации. Каждые 5 минут чат получает одинаковое сообщение и команда перестаёт реагировать. Нет проверки SSL. Сертификат истёк, а HTTP-check начал падать уже после инцидента. Нет runbook. Алерт есть, но непонятно, кто и что должен сделать. Полезные ссылки и смежные инструкции ¶ Смотрите также: ENV-переменные n8n , Error Workflow с Telegram-алертом , Масштабирование n8n . Официальная документация: n8n hosting , Docker Compose , Telegram Bot API . Критерии готовности ¶ Падение n8n обнаруживается быстрее, чем пользователь пишет в поддержку. Проверяется именно webhook/health endpoint, а не только ping сервера. В алерте есть service, hoster, status, latency, severity и runbook. Повторяющиеся проблемы дедуплицируются до recovery. Есть отдельный план действий для Docker Compose, proxy, SSL и дискового места. Нужен мониторинг n8n без шума? Nodbot настроит healthcheck, Error Workflow, Telegram-алерты и runbook-и для ваших production-автоматизаций. Настроить мониторинг

## Test payload

```json
{
  "service": "n8n-production",
  "url": "https://n8n.example.ru/healthz",
  "webhook_url": "https://n8n.example.ru/webhook/healthcheck-ping",
  "expected_status": 200,
  "max_latency_ms": 2500,
  "alert_chat_id": "-1001234567890",
  "hoster": "timeweb-vps"
}
```

## Key implementation snippet

```javascript
const service = $json.service ?? 'n8n';
const status = Number($json.statusCode ?? $json.status ?? 0);
const latency = Number($json.latency_ms ?? $json.responseTime ?? 0);
const expected = Number($json.expected_status ?? 200);
const maxLatency = Number($json.max_latency_ms ?? 2500);
const sslDaysLeft = Number($json.ssl_days_left ?? 30);

let severity = 'ok';
let reason = 'service_available';
if (status !== expected) { severity = 'critical'; reason = `unexpected_status_${status}`; }
else if (latency > maxLatency) { severity = 'warning'; reason = 'slow_response'; }
else if (sslDaysLeft < 7) { severity = 'critical'; reason = 'ssl_expires_soon'; }
else if (sslDaysLeft < 14) { severity = 'warning'; reason = 'ssl_renewal_window'; }

return [{ json: {
  service,
  severity,
  reason,
  status,
  latency_ms: latency,
  ssl_days_left: sslDaysLeft,
  dedupe_key: `healthcheck:${service}:${reason}`,
  message: severity === 'ok'
    ? `✅ ${service}: OK, ${latency} ms`
    : `🚨 ${service}: ${reason}, status=${status}, latency=${latency} ms, ssl=${sslDaysLeft}d`,
  checked_at: new Date().toISOString()
}}];
```

## Importable workflow structure

```json
{
  "name": "Nodbot - n8n healthcheck for Beget and Timeweb",
  "nodes": [
    { "name": "Schedule every 5 min", "type": "n8n-nodes-base.scheduleTrigger", "purpose": "Запускать мониторинг по расписанию" },
    { "name": "Check n8n URL HTTP", "type": "n8n-nodes-base.httpRequest", "purpose": "Проверить статус и latency" },
    { "name": "Classify health Code", "type": "n8n-nodes-base.code", "purpose": "Назначить severity и dedupe key" },
    { "name": "Send Telegram alert", "type": "n8n-nodes-base.telegram", "purpose": "Уведомить команду о проблеме" }
  ],
  "connections": "Schedule → HTTP check → Classify → Telegram"
}
```

## Retrieval hints

- Использовать HTML как canonical source.
- Markdown удобен для LLM-ответов, извлечения workflow-контракта, кода и чеклистов.
- Для ссылок пользователю отдавать canonical URL.
