목차
n8n은 워크플로 자동화를 잘 처리하지만, 내장 알림 기능은 빈약합니다. 여기에 Echobell / Google Play을 함께 쓰면 그 빈틈이 메워집니다. n8n이 로직을 담당하고, Echobell은 실제로 여러분에게 도달하는 푸시 알림이나 전화 알림을 전달합니다.
첫 알림 워크플로 설정하기
실용적인 출발점은 이렇습니다. 서버 CPU 사용률이 80%를 넘으면 알림을 받는 것입니다.
1단계: Echobell 채널 만들기
- Echobell을 열고 새 채널을 만듭니다
- 이름을 "Server Alerts"로 지정합니다
- 채널 설정에서 Webhook URL을 복사합니다
2단계: 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.
심각한 알림에는 알림 유형을 전화로 설정합니다.
더 많은 워크플로 예시
GitHub Actions 실패 알림
// n8n Webhook trigger configuration
{
"path": "github-actions",
"responseMode": "onReceived"
}
GitHub Webhook을 n8n에 연결하고 action: completed와 conclusion: failure 조건으로 필터링한 다음, Echobell Webhook으로 POST 요청을 보냅니다.
암호화폐 가격 임계값 알림
// 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 사용률 → 긴급 푸시 알림
- 정보: 일일 리포트, 다이제스트 → 일반 푸시 알림
조건을 활용해 알림 소음 줄이기
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" } };
}
워크플로 하나로 시작한 뒤 거기서부터 확장해 나가세요. Webhook 문서에서 Echobell API 전체를 확인할 수 있습니다.