iT邦幫忙

2025 iThome 鐵人賽

DAY 10
0
DevOps

30 天自動化高手養成:玩轉 n8n 工作流系列 第 10

Day 10:網站狀態監控並自動發送異常通知

  • 分享至 

  • xImage
  •  

如果你有維護網站或 API,就會知道最怕服務掛掉卻沒人發現。今天我們用 n8n 做一個簡單的「網站存活監控」工作流:

  • 定期檢查網站是否能正常回應
  • 如果發現異常(timeout、狀態碼錯誤),就自動發送通知到 Discord / LINE

這樣你就不用自己盯著網站,系統會幫你第一時間提醒 。


使用場景

  • 檢查公司官網是否在線
  • 監控 API 狀態(例如 200 OK 才算正常)
  • 監控學校系統 / 學會網站
  • 偵測伺服器掛掉時及早通知

建立 Workflow:網站監控 → 通知

Step 1:觸發器(Cron Node)

  • Node:Cron
  • 設定:每 5 分鐘10 分鐘 檢查一次

Step 2:檢查網站(HTTP Request Node)

  • Node:HTTP Request

  • Method:GET

  • URL:填入要監控的網址,例如:

    • https://example.com
    • https://api.example.com/health
  • Options:可設定 timeout,例如 5 秒

測試時如果正常,會回傳狀態碼 200


Step 3:判斷是否異常(IF Node)

  • 條件:

    • statusCode != 200 → 異常
    • responseTime > 5000 → Timeout

Step 4:異常通知(Discord / LINE)

以 Discord Webhook 為例:

  • Node:HTTP Request
  • Method:POST
  • URL:Discord Webhook URL
  • Content-Type:JSON
  • Body JSON:使用 Embed 格式,美觀顯示
{
  "embeds": [
    {
      "title": "🚨 網站異常警告",
      "description": "檢測到網站 **https://example.com** 無法正常存取",
      "color": 15158332,
      "fields": [
        { "name": "狀態碼", "value": "{{$json[\"statusCode\"] || 'No Response'}}", "inline": true },
        { "name": "檢查時間", "value": "{{new Date().toLocaleString()}}", "inline": true }
      ]
    }
  ]
}

流程圖

https://ithelp.ithome.com.tw/upload/images/20250924/20168203inXcbSG4DX.png


成果展示

當網站掛掉時,Discord 頻道會跳出通知:

🚨 網站異常警告
檢測到網站 https://example.com 無法正常存取
狀態碼:500
檢查時間:2025-09-24 20:10


小結

今天我們做了一個網站監控系統:

  • 定時檢查網站狀態
  • 自動判斷是否異常
  • 異常時立即推播通知

這樣一來,就不用怕網站掛掉卻沒人知道了!


上一篇
Day 9:自動將檔案上傳到 Google Drive
系列文
30 天自動化高手養成:玩轉 n8n 工作流10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言