Automatisation Google Sheets avec n8n : surveillance de serveurs
Ce workflow n8n a pour objectif de surveiller l'état de serveurs en temps réel et de notifier les utilisateurs en cas de problème. En utilisant Google Sheets pour stocker les informations de statut, ce processus est particulièrement utile pour les équipes IT et les entreprises qui dépendent de la disponibilité de leurs services en ligne. Grâce à cette automatisation n8n, vous pouvez facilement suivre l'état de vos serveurs et réagir rapidement en cas d'incident. Le workflow commence par un déclencheur planifié qui active le processus à intervalles réguliers. Ensuite, il effectue une requête HTTP pour vérifier si le serveur est en ligne. Si le serveur est actif, les données sont enregistrées dans une feuille Google Sheets via le nœud 'Server-Monitor'. En cas de défaillance, le workflow enregistre également cette information dans une autre feuille et envoie une notification par email via Gmail. Cette approche garantit que vous êtes toujours informé de l'état de vos serveurs, minimisant ainsi les temps d'arrêt et améliorant la réactivité de votre équipe. En intégrant ce workflow dans votre routine, vous bénéficiez d'une surveillance continue et d'une gestion proactive des incidents, ce qui peut considérablement améliorer la performance de votre infrastructure IT.
Workflow n8n Google Sheets, surveillance, serveurs : vue d'ensemble
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Workflow n8n Google Sheets, surveillance, serveurs : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"id": "pcLi17oUJK9pSaee",
"meta": {
"instanceId": "10ac0d272b984a3e01d44645b4be41105d42352c9db9f4c0c7f5be7946b87d41",
"templateCredsSetupCompleted": true
},
"name": "Web Server Monitor.",
"tags": [],
"nodes": [
{
"id": "014e1202-3822-4d3f-817e-31f64c8bd5f5",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-680,
-440
],
"parameters": {
"width": 560,
"height": 540,
"content": "📘 Node Descriptions for Your Web Server Monitor Workflow\n\n⏰ 1. Schedule Trigger \nTriggers the workflow every minute to initiate regular checks on server availability.\n\n📄 2. Web Servers List (Google Sheets) \nFetches a list of server hostnames or IP addresses from a Google Sheet. \nEach row is treated as one server. This makes server management easy — no need to edit the workflow to add/remove servers.\n\n🌐 3. Server Alive Check (HTTP) \nSends an HTTP GET request to each server (e.g., http://your-server.com). \nIf the request fails, the error path is triggered. \n\n📝 4. Web Server Alive Log (Google Sheets) \nLogs successful server checks into a separate Sheet with a timestamp.\nThis log helps track uptime history, verify server health, and generate availability reports.\n\n🚨📧 5. Server Down Notification (Gmail) \nSends an alert email if a server does not respond or returns an error. \nIncludes the server address and the timestamp of failure.\n\n📝 6. Web Server Down Log (Google Sheets)\nLogs the failed server checks into another Sheet with a timestamp. \nUseful for uptime reporting, debugging, and audit tracking.\n"
},
"typeVersion": 1
},
{
"id": "94a3454c-69bd-4a5d-b169-8f3772a41321",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
0,
0
],
"parameters": {
"rule": {
"interval": [
{
"field": "minutes",
"minutesInterval": 1
}
]
}
},
"typeVersion": 1.2
},
{
"id": "f92fcadf-0b13-42ac-abed-aaf169d0ed76",
"name": "Server-Monitor",
"type": "n8n-nodes-base.googleSheets",
"position": [
220,
0
],
"parameters": {
"options": {},
"sheetName": {
"__rl": true,
"mode": "list",
"value": 524060827,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1OiwBkf3bs3tcfi5cAIrOl_GrXw2EfQLdcPbh6SaBFKQ/edit#gid=524060827",
"cachedResultName": "Server_List"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1OiwBkf3bs3tcfi5cAIrOl_GrXw2EfQLdcPbh6SaBFKQ",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1OiwBkf3bs3tcfi5cAIrOl_GrXw2EfQLdcPbh6SaBFKQ/edit?usp=drivesdk",
"cachedResultName": "Server-Monitor"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "8cXGgTelVK5DewVr",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "c168a1f9-1f3f-40b8-95d0-51f6259d8096",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"position": [
440,
0
],
"parameters": {
"url": "=http://{{ $json.Server }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "0ac82373-6958-4de9-8cf7-94b0005197ff",
"name": "Server_Status_Alive",
"type": "n8n-nodes-base.googleSheets",
"position": [
660,
-180
],
"parameters": {
"columns": {
"value": {
"Status": "Alive",
"TimeStamp": "={{ $now.format('yyyy-MM-dd') }}",
"Server IP Address": "={{ $('Server-Monitor').item.json.Server }}"
},
"schema": [
{
"id": "TimeStamp",
"type": "string",
"display": true,
"required": false,
"displayName": "TimeStamp",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Server IP Address",
"type": "string",
"display": true,
"required": false,
"displayName": "Server IP Address",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 303958634,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1OiwBkf3bs3tcfi5cAIrOl_GrXw2EfQLdcPbh6SaBFKQ/edit#gid=303958634",
"cachedResultName": "Server_Status_Alive"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1OiwBkf3bs3tcfi5cAIrOl_GrXw2EfQLdcPbh6SaBFKQ",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1OiwBkf3bs3tcfi5cAIrOl_GrXw2EfQLdcPbh6SaBFKQ/edit?usp=drivesdk",
"cachedResultName": "Server-Monitor"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "8cXGgTelVK5DewVr",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "6dc31115-4ab6-44cf-ac4f-e2af82a5355e",
"name": "Gmail",
"type": "n8n-nodes-base.gmail",
"position": [
660,
100
],
"webhookId": "dec1def3-c858-4a43-b96e-2655d3fa3b77",
"parameters": {
"message": "=Hi Team,\n\nAt {{$now.format('yyyy-MM-dd HH:mm:ss')}}, the following server failed to respond to ping:\n\n🔻 Server Down: {{ $json[\"Server\"] }} \n\nPlease investigate immediately to prevent service disruption. \n\nAutomated Monitoring System\n",
"options": {},
"subject": "=🔻 Server Down: {{ $json[\"Server\"] }}: {{ $today.format('yyyy-MM-dd') }}"
},
"credentials": {
"gmailOAuth2": {
"id": "C1RVeb9JgdvkMkP4",
"name": "Gmail account 2"
}
},
"typeVersion": 2.1
},
{
"id": "10262115-57a2-4c4d-9a10-89f4f6ee4ed7",
"name": "Server_Status_Down",
"type": "n8n-nodes-base.googleSheets",
"position": [
880,
100
],
"parameters": {
"columns": {
"value": {
"Status": "Down",
"TimeStamp": "={{$now.format('yyyy-MM-dd HH:mm:ss')}}",
"Server IP Address": "={{ $('Server-Monitor').item.json.Server }}"
},
"schema": [
{
"id": "TimeStamp",
"type": "string",
"display": true,
"required": false,
"displayName": "TimeStamp",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Server IP Address",
"type": "string",
"display": true,
"required": false,
"displayName": "Server IP Address",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1OiwBkf3bs3tcfi5cAIrOl_GrXw2EfQLdcPbh6SaBFKQ/edit#gid=0",
"cachedResultName": "Server_Status_Down"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1OiwBkf3bs3tcfi5cAIrOl_GrXw2EfQLdcPbh6SaBFKQ",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1OiwBkf3bs3tcfi5cAIrOl_GrXw2EfQLdcPbh6SaBFKQ/edit?usp=drivesdk",
"cachedResultName": "Server-Monitor"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "8cXGgTelVK5DewVr",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "21468219-4434-4a0c-a3c4-9068baccc3cc",
"connections": {
"Gmail": {
"main": [
[
{
"node": "Server_Status_Down",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request": {
"main": [
[
{
"node": "Server_Status_Alive",
"type": "main",
"index": 0
}
],
[
{
"node": "Gmail",
"type": "main",
"index": 0
}
]
]
},
"Server-Monitor": {
"main": [
[
{
"node": "HTTP Request",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Server-Monitor",
"type": "main",
"index": 0
}
]
]
}
}
}Workflow n8n Google Sheets, surveillance, serveurs : pour qui est ce workflow ?
Ce workflow s'adresse principalement aux équipes IT, aux administrateurs système et aux entreprises qui gèrent des serveurs en ligne. Il est conçu pour des utilisateurs ayant un niveau technique intermédiaire, souhaitant automatiser la surveillance de leurs infrastructures. Les entreprises de taille petite à moyenne trouveront également ce processus utile pour assurer la disponibilité de leurs services.
Workflow n8n Google Sheets, surveillance, serveurs : problème résolu
Ce workflow résout le problème de la surveillance manuelle des serveurs, qui peut être chronophage et sujette à des erreurs humaines. En automatisant ce processus, il élimine les risques de temps d'arrêt non détectés, permettant ainsi aux équipes de réagir rapidement en cas de défaillance. Les utilisateurs bénéficient d'une visibilité constante sur l'état de leurs serveurs, ce qui améliore la fiabilité des services et réduit les pertes potentielles dues à des interruptions.
Workflow n8n Google Sheets, surveillance, serveurs : étapes du workflow
Étape 1 : Le workflow est déclenché selon un calendrier défini par le nœud 'Schedule Trigger'.
- Étape 1 : Une requête HTTP est envoyée pour vérifier l'état du serveur via le nœud 'HTTP Request'.
- Étape 2 : Si le serveur est en ligne, les informations sont enregistrées dans Google Sheets grâce au nœud 'Server-Monitor'.
- Étape 3 : Si le serveur est hors ligne, le statut est également enregistré dans une feuille dédiée et une notification est envoyée via Gmail pour alerter les utilisateurs.
Workflow n8n Google Sheets, surveillance, serveurs : guide de personnalisation
Pour personnaliser ce workflow, vous pouvez ajuster l'URL dans le nœud 'HTTP Request' pour pointer vers le serveur que vous souhaitez surveiller. Modifiez également les paramètres du nœud 'Schedule Trigger' pour définir la fréquence de vérification selon vos besoins. Les noms des feuilles Google Sheets peuvent être changés dans les nœuds 'Server-Monitor' et 'Server_Status_Down' pour s'adapter à votre structure de données. Enfin, personnalisez le contenu de l'email dans le nœud 'Gmail' pour inclure des informations spécifiques sur le serveur surveillé.