Содержание
- Настройка первого workflow с оповещением
- Шаг 1: создайте канал в Echobell
- Шаг 2: соберите workflow в n8n
- Шаг 3: настройте шаблон уведомления
- Другие примеры workflow
- Оповещения о сбоях GitHub Actions
- Оповещения о пороговых ценах криптовалют
- Критические события умного дома
- Дайджест RSS и рассылок
- Мониторинг cron-задач
- Лучшие практики
- Заведите отдельные каналы под каждый приоритет
- Используйте условия, чтобы снизить шум
- Держите шаблоны короткими и понятными для действия
- Добавьте еженедельную проверку
n8n хорошо справляется с автоматизацией процессов, но его встроенные уведомления слабы. Связка с Echobell / Google Play закрывает этот пробел: n8n отвечает за логику, а Echobell доставляет push-оповещения или телефонные звонки, которые до вас действительно доходят.
Настройка первого workflow с оповещением
Практичная точка старта: получать уведомление, когда загрузка CPU на сервере превышает 80%.
Шаг 1: создайте канал в Echobell
- Откройте Echobell → «Новый канал»
- Назовите его «Server Alerts»
- Скопируйте URL вебхука из настроек канала
Шаг 2: соберите workflow в n8n
{
"nodes": [
{
"name": "Cron",
"type": "n8n-nodes-base.cron",
"parameters": {
"rule": {
"interval": [{"field": "minutes", "minutesInterval": 5}]
}
}
},
{
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"parameters": {
"url": "https://api.your-monitoring.com/stats",
"method": "GET"
}
},
{
"name": "IF",
"type": "n8n-nodes-base.if",
"parameters": {
"conditions": {
"number": [
{
"value1": "={{ $json.cpu_usage }}",
"operation": "gt",
"value2": 80
}
]
}
}
},
{
"name": "Echobell Alert",
"type": "n8n-nodes-base.httpRequest",
"parameters": {
"url": "YOUR_ECHOBELL_WEBHOOK_URL",
"method": "POST",
"bodyParameters": {
"parameters": [
{
"name": "server_name",
"value": "production-01"
},
{
"name": "cpu_usage",
"value": "={{ $json.cpu_usage }}"
},
{
"name": "alert_type",
"value": "CPU Alert"
}
]
}
}
}
]
}
Шаг 3: настройте шаблон уведомления
В вашем канале Echobell:
Title: 🔥 Server {{server_name}} CPU Critical!
Body: CPU usage at {{cpu_usage}}%. Immediate attention needed.
Для критических оповещений задайте тип уведомления Звонок.
Другие примеры workflow
Оповещения о сбоях GitHub Actions
// n8n Webhook trigger configuration
{
"path": "github-actions",
"responseMode": "onReceived"
}
Подключите вебхук GitHub к n8n, отфильтруйте по action: completed и conclusion: failure, затем отправьте POST на ваш вебхук Echobell.
Оповещения о пороговых ценах криптовалют
// In n8n's Function node
const price = $json.price;
const threshold = 50000;
if (price < threshold) {
return {
json: {
symbol: "BTC",
price: price,
alert: "Price dropped below $50,000"
}
};
}
return null;
Критические события умного дома
Пересылайте критические события Home Assistant (датчики протечки, дымовые извещатели, датчики дверей и окон, когда никого нет дома) через n8n в Echobell. Подробности — в руководстве по интеграции с Home Assistant.
Дайджест RSS и рассылок
// Cron trigger → RSS Read → Filter new items → Echobell
{
"cron": "0 8 * * *",
"rss_url": "https://your-favorite-blog.com/feed",
"condition": "contains({{title}}, 'AI')"
}
Мониторинг cron-задач
const lastRun = new Date($json.last_execution);
const now = new Date();
const hoursSince = (now - lastRun) / (1000 * 60 * 60);
if (hoursSince > 24) {
return {
json: {
job: "daily-backup",
status: "OVERDUE",
last_run: lastRun.toISOString()
}
};
}
Лучшие практики
Заведите отдельные каналы под каждый приоритет
- Критично: продакшен недоступен, оповещения безопасности → телефонный звонок
- Предупреждение: место на диске, высокая загрузка CPU → срочный push
- Информация: ежедневные отчёты, дайджесты → обычный push
Используйте условия, чтобы снизить шум
Условия в Echobell позволяют фильтровать на уровне доставки:
// Only call during off-hours
hour < 8 || hour > 18
Держите шаблоны короткими и понятными для действия
Good: 🔴 Disk Full on server-01
Bad: The disk on server number one in the production environment has become completely full
Добавьте еженедельную проверку
// Every Friday at 5 PM
if (new Date().getDay() === 5 && new Date().getHours() === 17) {
return { json: { test: "Weekly system check" } };
}
Начните с одного workflow, а дальше наращивайте. Документация по вебхукам описывает весь API Echobell.