Mục lục
- Thiết lập workflow cảnh báo đầu tiên
- Bước 1: Tạo kênh Echobell
- Bước 2: Dựng workflow n8n
- Bước 3: Cấu hình mẫu thông báo
- Thêm vài ví dụ workflow
- Cảnh báo GitHub Actions thất bại
- Cảnh báo ngưỡng giá crypto
- Sự kiện nguy cấp trong nhà thông minh
- Bản tổng hợp RSS/bản tin
- Giám sát cron job
- Vài kinh nghiệm hay
- Dùng kênh riêng cho từng mức ưu tiên
- Dùng điều kiện để giảm nhiễu
- Giữ mẫu ngắn gọn và dễ hành động
- Thêm một bài kiểm tra hằng tuần
n8n làm tốt phần tự động hóa quy trình, nhưng phần thông báo dựng sẵn của nó thì yếu. Ghép nó với Echobell / Google Play sẽ lấp đúng khoảng trống đó: n8n lo phần logic, Echobell lo phần gửi cảnh báo đẩy hoặc cuộc gọi thực sự đến được tay bạn.
Thiết lập workflow cảnh báo đầu tiên
Một điểm khởi đầu thực dụng: được báo khi CPU máy chủ vượt 80%.
Bước 1: Tạo kênh Echobell
- Mở Echobell → New Channel
- Đặt tên là "Server Alerts"
- Sao chép webhook URL trong phần cài đặt kênh
Bước 2: Dựng 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"
}
]
}
}
}
]
}
Bước 3: Cấu hình mẫu thông báo
Trong kênh Echobell của bạn:
Title: 🔥 Server {{server_name}} CPU Critical!
Body: CPU usage at {{cpu_usage}}%. Immediate attention needed.
Hãy đặt kiểu thông báo là Cuộc gọi cho các cảnh báo nguy cấp.
Thêm vài ví dụ workflow
Cảnh báo GitHub Actions thất bại
// Cấu hình trigger Webhook của n8n
{
"path": "github-actions",
"responseMode": "onReceived"
}
Hãy nối webhook GitHub của bạn với n8n, lọc theo action: completed và conclusion: failure, rồi POST tới webhook Echobell.
Cảnh báo ngưỡng giá crypto
// Trong node Function của n8n
const price = $json.price;
const threshold = 50000;
if (price < threshold) {
return {
json: {
symbol: "BTC",
price: price,
alert: "Price dropped below $50,000"
}
};
}
return null;
Sự kiện nguy cấp trong nhà thông minh
Hãy chuyển tiếp các sự kiện nguy cấp của Home Assistant (cảm biến rò nước, đầu báo khói, cảm biến cửa ra vào/cửa sổ khi vắng nhà) qua n8n tới Echobell. Xem hướng dẫn tích hợp Home Assistant để biết chi tiết.
Bản tổng hợp RSS/bản tin
// Trigger Cron → Đọc RSS → Lọc mục mới → Echobell
{
"cron": "0 8 * * *",
"rss_url": "https://your-favorite-blog.com/feed",
"condition": "contains({{title}}, 'AI')"
}
Giám sát cron job
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()
}
};
}
Vài kinh nghiệm hay
Dùng kênh riêng cho từng mức ưu tiên
- Nguy cấp: Production sập, cảnh báo bảo mật → Cuộc gọi
- Cảnh báo: Dung lượng đĩa, CPU cao → Thông báo đẩy khẩn cấp
- Thông tin: Báo cáo hằng ngày, bản tổng hợp → Thông báo đẩy thông thường
Dùng điều kiện để giảm nhiễu
Tính năng Điều kiện của Echobell cho phép bạn lọc ngay ở lớp gửi:
// Chỉ gọi ngoài giờ làm việc
hour < 8 || hour > 18
Giữ mẫu ngắn gọn và dễ hành động
Good: 🔴 Disk Full on server-01
Bad: The disk on server number one in the production environment has become completely full
Thêm một bài kiểm tra hằng tuần
// Thứ Sáu hằng tuần lúc 5 giờ chiều
if (new Date().getDay() === 5 && new Date().getHours() === 17) {
return { json: { test: "Weekly system check" } };
}
Hãy bắt đầu với một workflow, rồi từ đó dựng thêm. Tài liệu webhook mô tả đầy đủ API của Echobell.