Vérification de l'utilisation des ressources VPS toutes les 15 minutes

Intermédiaire

Ceci est unDevOpsworkflow d'automatisation du domainecontenant 10 nœuds.Utilise principalement des nœuds comme If, Ssh, Merge, EmailSend, ScheduleTrigger. Vérifier l'utilisation des ressources VPS toutes les 15 minutes

Prérequis
  • Aucun prérequis spécial, prêt à l'emploi après importation

Catégorie

Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "nodes": [
    {
      "id": "ba168090-4727-4b72-a0cf-3f15ef3a9f17",
      "name": "Envoyer un e-mail",
      "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": "Vérifier l'utilisation de la 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": "Vérifier l'utilisation du disque",
      "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": "Vérifier l'utilisation du 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": "Fusionner les résultats de vérification",
      "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": "Comparer les résultats aux seuils",
      "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": "Note adhésive1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        560,
        260
      ],
      "parameters": {
        "width": 320,
        "height": 280,
        "content": "## Update email addresses\nUpdate From and To email addresses in this node to receive notifications"
      },
      "typeVersion": 1
    },
    {
      "id": "3117fdbc-fde9-469b-bd47-59f45c349162",
      "name": "Note adhésive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -260,
        -120
      ],
      "parameters": {
        "width": 320,
        "height": 260,
        "content": "## Check VPS resource usage every 15 minutes\nThis workflow checks VPS CPU, RAM and Disk usage every 15 minutes and if any of it exceeds 80% will inform you by email"
      },
      "typeVersion": 1
    },
    {
      "id": "45b4c33a-8f02-4535-b67f-56d9d0aaf2ae",
      "name": "Note adhésive2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        180,
        260
      ],
      "parameters": {
        "width": 360,
        "height": 280,
        "content": "## Update threshold\nIf needed, you can increase/decrease the 80% threshold in this node individually per resource "
      },
      "typeVersion": 1
    },
    {
      "id": "0bf83ea8-b1c4-40f7-8a60-39f765e8ec2c",
      "name": "Déclencheur planifié",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -40,
        40
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes",
              "minutesInterval": 15
            }
          ]
        }
      },
      "typeVersion": 1.2
    }
  ],
  "pinData": {},
  "connections": {
    "bc6a0df2-f4cc-484a-ac39-c92e8795175e": {
      "main": [
        [
          {
            "node": "de0df734-1e4a-4bf0-9f7d-d60b52e06f48",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "79afc30f-c3db-4ba1-8f0d-a1000b5e0abe": {
      "main": [
        [
          {
            "node": "d09aa314-8d60-42a8-9933-d7e8d73e2c7d",
            "type": "main",
            "index": 0
          },
          {
            "node": "de0df734-1e4a-4bf0-9f7d-d60b52e06f48",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "d09aa314-8d60-42a8-9933-d7e8d73e2c7d": {
      "main": [
        [
          {
            "node": "bc6a0df2-f4cc-484a-ac39-c92e8795175e",
            "type": "main",
            "index": 0
          },
          {
            "node": "de0df734-1e4a-4bf0-9f7d-d60b52e06f48",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "0bf83ea8-b1c4-40f7-8a60-39f765e8ec2c": {
      "main": [
        [
          {
            "node": "79afc30f-c3db-4ba1-8f0d-a1000b5e0abe",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "de0df734-1e4a-4bf0-9f7d-d60b52e06f48": {
      "main": [
        [
          {
            "node": "7b7d6c0a-3f46-48b3-aa1d-191839540196",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7b7d6c0a-3f46-48b3-aa1d-191839540196": {
      "main": [
        [
          {
            "node": "ba168090-4727-4b72-a0cf-3f15ef3a9f17",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Intermédiaire - DevOps

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds10
Catégorie1
Types de nœuds6
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Auteur
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.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34