n8n과 Echobell로 개인용 자동화 알림 허브 만들기

n8n 워크플로를 Echobell과 연결해 모든 API, Webhook, 예약 작업을 즉각적인 전화 알림이나 푸시 알림으로 바꾸는 방법을 알아보세요.

목차

n8n은 워크플로 자동화를 잘 처리하지만, 내장 알림 기능은 빈약합니다. 여기에 Echobell / Google Play을 함께 쓰면 그 빈틈이 메워집니다. n8n이 로직을 담당하고, Echobell은 실제로 여러분에게 도달하는 푸시 알림이나 전화 알림을 전달합니다.

첫 알림 워크플로 설정하기

실용적인 출발점은 이렇습니다. 서버 CPU 사용률이 80%를 넘으면 알림을 받는 것입니다.

1단계: Echobell 채널 만들기

  1. Echobell을 열고 새 채널을 만듭니다
  2. 이름을 "Server Alerts"로 지정합니다
  3. 채널 설정에서 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: completedconclusion: 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 전체를 확인할 수 있습니다.

관련 글