Zbuduj własne centrum alertów z automatyzacji dzięki n8n i Echobell

Jak połączyć przepływy n8n z Echobell, aby zamienić dowolne API, webhook lub zadanie cykliczne w natychmiastowe połączenie telefoniczne albo powiadomienie push.

Aktualizacja

Spis treści

n8n dobrze radzi sobie z automatyzacją przepływów pracy, ale jego wbudowane powiadomienia są słabe. Połączenie go z Echobell / Google Play wypełnia tę lukę: n8n odpowiada za logikę, a Echobell dostarcza alerty push albo połączenia telefoniczne, które naprawdę do Ciebie docierają.

Konfiguracja pierwszego przepływu z alertem

Praktyczny punkt startu: powiadomienie, gdy zużycie CPU serwera przekroczy 80%.

Krok 1: utwórz kanał w Echobell

  1. Otwórz Echobell → nowy kanał
  2. Nazwij go „Server Alerts”
  3. Skopiuj adres URL webhooka z ustawień kanału

Krok 2: zbuduj przepływ w 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"
            }
          ]
        }
      }
    }
  ]
}

Krok 3: skonfiguruj szablon powiadomienia

W swoim kanale Echobell:

Title: 🔥 Server {{server_name}} CPU Critical!
Body: CPU usage at {{cpu_usage}}%. Immediate attention needed.

Dla alertów krytycznych ustaw typ powiadomień na połączenie.

Więcej przykładów przepływów

Alerty o niepowodzeniu GitHub Actions

// Konfiguracja wyzwalacza Webhook w n8n
{
  "path": "github-actions",
  "responseMode": "onReceived"
}

Podłącz webhook z GitHuba do n8n, odfiltruj zdarzenia z action: completed i conclusion: failure, a następnie wyślij POST na swój webhook w Echobell.

Alerty o progach cenowych kryptowalut

// W węźle Function w 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;

Krytyczne zdarzenia w inteligentnym domu

Przekazuj krytyczne zdarzenia z Home Assistant (czujniki zalania, czujniki dymu, czujniki drzwi i okien pod Twoją nieobecność) przez n8n do Echobell. Szczegóły znajdziesz w przewodniku integracji z Home Assistant.

Podsumowanie z RSS i newsletterów

// Wyzwalacz Cron → odczyt RSS → filtr nowych pozycji → Echobell
{
  "cron": "0 8 * * *",
  "rss_url": "https://your-favorite-blog.com/feed",
  "condition": "contains({{title}}, 'AI')"
}

Monitorowanie zadań 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()
    }
  };
}

Dobre praktyki

Osobne kanały dla każdego priorytetu

  • Krytyczne: awaria produkcji, alerty bezpieczeństwa → połączenie telefoniczne
  • Ostrzeżenia: kończące się miejsce na dysku, wysokie zużycie CPU → push czasowo krytyczny
  • Informacyjne: raporty dzienne, podsumowania → standardowy push

Ograniczaj szum warunkami

Funkcja warunków w Echobell pozwala filtrować już na etapie dostarczania:

// Dzwoń tylko poza godzinami pracy
hour < 8 || hour > 18

Twórz krótkie szablony gotowe do działania

Good: 🔴 Disk Full on server-01
Bad:  The disk on server number one in the production environment has become completely full

Dodaj cotygodniowy test

// W każdy piątek o 17:00
if (new Date().getDay() === 5 && new Date().getHours() === 17) {
  return { json: { test: "Weekly system check" } };
}

Zacznij od jednego przepływu i rozbudowuj go dalej. Pełne API Echobell opisuje dokumentacja webhooków.