
## 概述
这个n8n工作流自动化监控网站可用性,当服务器宕机时发送邮件警报,并自动更新GitHub仓库中的状态页面(index.html)来反映实时状态。
## 工作原理
该工作流每2分钟(可配置间隔)自动检查您的网站:
– 如果网站宕机(503、错误响应或错误)→ 发送邮件警报并将GitHub托管的状页面更新为”宕机”状态
– 如果网站正常运行(200)→ 将GitHub托管的状页面更新为”正常”状态
– 邮件通知包含HTML格式的警报页面
– 您可以使用GitHub Pages公开托管状态页面
## 核心节点
**Schedule Trigger** – 每2分钟自动运行,作为工作流的”心跳”
**HTTP Request** – 向目标网站发送请求(例如:`https://app.yourdomain.com/health`),返回状态代码和完整响应
**Switch Node** – 评估响应状态(200 OK vs 错误/503)
**Code Node** – 生成动态HTML状态页面(正常/宕机)
**GitHub Node** – 更新/提交仓库中的`index.html`文件
**Gmail Node** – 如果网站宕机则发送邮件警报
**ExtractFromFile** – 从GitHub仓库提取文件内容
**If Node** – 比较现有HTML文件与生成的HTML文件
## 设置要求
– n8n实例(自托管或云端)
– GitHub账户和仓库(用于托管状态页面)
– Gmail账户(或n8n支持的任何邮件服务)
– 访问要监控的目标网站URL
## 配置步骤
1. 将工作流JSON导入到您的n8n实例
2. 配置以下凭据:
– GitHub(具有仓库权限的个人访问令牌)
– Gmail(或您首选的邮件服务)
3. 替换以下内容:
– `https://app.yourdomain.com/health` → 替换为您自己的网站URL
– `example@gmail.com` → 替换为您的邮箱地址(或分发列表)
– GitHub仓库详情 → 替换为您的仓库,其中`index.html`将存放
4. 部署工作流
5. (可选)在您的仓库上启用GitHub Pages,将`index.html`作为实时状态页面提供服务
## GitHub Pages设置
GitHub Pages是GitHub提供的免费托管服务,允许您直接从GitHub仓库发布静态网站(HTML、CSS、JS)。您可以使用它将`index.html`状态页面公开访问,URL格式为:`https://.github.io/status`
设置步骤:
1. 在GitHub上创建新仓库(推荐名称:`status`)
2. 添加空白`index.html`文件(n8n工作流稍后将更新此文件)
3. 转到您的仓库 → 设置 → Pages
4. 在”源”下,选择分支(`main`或`master`)和文件夹(`/root`)
5. 保存更改
6. 您的状态页面现在将在以下地址实时显示:`https://.github.io/status`
## 适用场景
– DevOps和SRE工程师 → 用于自动化运行时间监控
– 自由职业者/开发者 → 监控客户网站
– 初创企业和中小企业 → 无需付费工具的免费轻量级状态页面
– 教育工作者/学生 → 作为n8n的实践学习项目
## 关键特性
– 🔄 自动化运行时间检查(可配置间隔)
– 📧 宕机时邮件通知
– 📝 动态HTML状态页面生成
– 🌍 GitHub Pages集成,实现公开可见性
– ⚡ 轻量级且成本效益高(无需付费监控工具)
## 自定义选项
– **间隔** → 将计划从2分钟更改为任何所需频率
– **邮件内容** → 在Gmail节点中修改HTML警报模板
– **状态页面样式** → 在Code节点中编辑HTML/CSS以匹配您的品牌
– **错误处理** → 扩展Switch节点以处理其他状态代码(例如404、500)
– **多个网站** → 为多个URL复制HTTP Request + Switch节点

评论(0)