8
n8n 中文网amn8n.com

每15分钟检查VPS资源使用情况

中级

这是一个DevOps领域的自动化工作流,包含 10 个节点。主要使用 If, Ssh, Merge, EmailSend, ScheduleTrigger 等节点。 每15分钟检查VPS资源使用情况

前置要求
  • 无特殊前置要求,导入即可使用
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "nodes": [
    {
      "id": "ba168090-4727-4b72-a0cf-3f15ef3a9f17",
      "name": "发送邮件",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        580,
        360
      ],
      "parameters": {
        "text": "=System resources are above the threshold.\n\nCPU: {{ $json.CPU.toNumber().round(2) }}%\nRAM: {{ $json.RAM.toNumber().round(2) }}%\nDisk: {{ $json.Disk.toNumber().round(2) }}%",
        "options": {},
        "subject": "System Resource Alert",
        "toEmail": "change@me.com",
        "fromEmail": "change@me.com"
      },
      "credentials": {
        "smtp": {
          "id": "EuaQtRc5t8pWPY9b",
          "name": "SMTP account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "79afc30f-c3db-4ba1-8f0d-a1000b5e0abe",
      "name": "检查 RAM 使用情况",
      "type": "n8n-nodes-base.ssh",
      "position": [
        160,
        40
      ],
      "parameters": {
        "command": "free | awk '/Mem:/ {printf \"%.2f\", (1 - $7/$2) * 100}'"
      },
      "credentials": {
        "sshPassword": {
          "id": "VMCCUQkaq46q3CpB",
          "name": "SSH Password account"
        }
      },
      "executeOnce": false,
      "typeVersion": 1
    },
    {
      "id": "d09aa314-8d60-42a8-9933-d7e8d73e2c7d",
      "name": "检查磁盘使用情况",
      "type": "n8n-nodes-base.ssh",
      "position": [
        380,
        40
      ],
      "parameters": {
        "command": "df -h | awk '$NF==\"/\"{printf \"%.2f\", $5}'"
      },
      "credentials": {
        "sshPassword": {
          "id": "VMCCUQkaq46q3CpB",
          "name": "SSH Password account"
        }
      },
      "executeOnce": false,
      "typeVersion": 1
    },
    {
      "id": "bc6a0df2-f4cc-484a-ac39-c92e8795175e",
      "name": "检查 CPU 使用情况",
      "type": "n8n-nodes-base.ssh",
      "position": [
        580,
        40
      ],
      "parameters": {
        "command": "top -bn 1 | grep \"Cpu(s)\" | sed \"s/.*, *\\([0-9.]*\\)%* id.*/\\1/\" | awk '{print 100 - $1}'"
      },
      "credentials": {
        "sshPassword": {
          "id": "VMCCUQkaq46q3CpB",
          "name": "SSH Password account"
        }
      },
      "executeOnce": false,
      "typeVersion": 1
    },
    {
      "id": "de0df734-1e4a-4bf0-9f7d-d60b52e06f48",
      "name": "合并检查结果",
      "type": "n8n-nodes-base.merge",
      "position": [
        -40,
        380
      ],
      "parameters": {
        "mode": "combineBySql",
        "query": "SELECT input1.stdout as CPU, input2.stdout as Disk, input3.stdout as RAM FROM input1 LEFT JOIN input2 ON input1.name = input2.id LEFT JOIN input3 ON input1.name = input3.id",
        "numberInputs": 3
      },
      "typeVersion": 3
    },
    {
      "id": "7b7d6c0a-3f46-48b3-aa1d-191839540196",
      "name": "根据阈值检查结果",
      "type": "n8n-nodes-base.if",
      "position": [
        240,
        380
      ],
      "parameters": {
        "conditions": {
          "number": [
            {
              "value1": "={{ $json.CPU }}",
              "value2": 80,
              "operation": "largerEqual"
            },
            {
              "value1": "={{ $json.Disk }}",
              "value2": 80,
              "operation": "largerEqual"
            },
            {
              "value1": "={{ $json.RAM }}",
              "value2": 80,
              "operation": "largerEqual"
            }
          ]
        },
        "combineOperation": "any"
      },
      "typeVersion": 1
    },
    {
      "id": "92331c38-cab8-4719-8746-6fb341954516",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        260
      ],
      "parameters": {
        "width": 320,
        "height": 280,
        "content": "## 更新电子邮件地址"
      },
      "typeVersion": 1
    },
    {
      "id": "3117fdbc-fde9-469b-bd47-59f45c349162",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -260,
        -120
      ],
      "parameters": {
        "width": 320,
        "height": 260,
        "content": "## 每 15 分钟检查 VPS 资源使用情况"
      },
      "typeVersion": 1
    },
    {
      "id": "45b4c33a-8f02-4535-b67f-56d9d0aaf2ae",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        180,
        260
      ],
      "parameters": {
        "width": 360,
        "height": 280,
        "content": "## 更新阈值"
      },
      "typeVersion": 1
    },
    {
      "id": "0bf83ea8-b1c4-40f7-8a60-39f765e8ec2c",
      "name": "计划触发器",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -40,
        40
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes",
              "minutesInterval": 15
            }
          ]
        }
      },
      "typeVersion": 1.2
    }
  ],
  "pinData": {},
  "connections": {
    "Check CPU usage": {
      "main": [
        [
          {
            "node": "Merge check results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check RAM usage": {
      "main": [
        [
          {
            "node": "Check Disk usage",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge check results",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Check Disk usage": {
      "main": [
        [
          {
            "node": "Check CPU usage",
            "type": "main",
            "index": 0
          },
          {
            "node": "Merge check results",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Check RAM usage",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge check results": {
      "main": [
        [
          {
            "node": "Check results against thresholds",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check results against thresholds": {
      "main": [
        [
          {
            "node": "Send Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

中级 - 开发运维

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
中级
节点数量10
分类1
节点类型6
难度说明

适合有一定经验的用户,包含 6-15 个节点的中等复杂度工作流

作者
Hostinger

Hostinger

@hostinger

Hostinger aims to make online presence accessible to everyone worldwide – from developers to aspiring bloggers and business owners. With our fast hosting technology, AI-powered Website Builder, and easy-to-operate hPanel you can succeed online faster and easier.

外部链接
在 n8n.io 查看

分享此工作流