Monitor de registro de errores con alertas de Slack y creación automática de tickets de error

Avanzado

Este es unDevOpsflujo de automatización del dominio deautomatización que contiene 20 nodos.Utiliza principalmente nodos como If, Set, Ssh, Code, Jira. 带有SSH、Slack警报yJira工单creaciónde错误日志monitoreo器

Requisitos previos
  • Bot Token de Slack o URL de Webhook

Categoría

Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "id": "VbL8CupBzmcRolP4",
  "meta": {
    "instanceId": "dd69efaf8212c74ad206700d104739d3329588a6f3f8381a46a481f34c9cc281",
    "templateCredsSetupCompleted": true
  },
  "name": "Error Log Monitor with Slack Alerts & Auto Bug Ticket Creation",
  "tags": [],
  "nodes": [
    {
      "id": "44f0eba7-b92a-47f0-a7b0-c90eb5d9e8f0",
      "name": "Activador Manual",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -480,
        60
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "19a920cb-28da-4388-80f2-a1b7bd87badb",
      "name": "Establecer Configuración",
      "type": "n8n-nodes-base.set",
      "position": [
        -260,
        160
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "cf9f1b38-541c-4311-9fea-c66d7fd39473",
      "name": "Leer Registros de Error",
      "type": "n8n-nodes-base.ssh",
      "position": [
        -40,
        160
      ],
      "parameters": {
        "command": "tail -n 50 /var/log/application/error.log | grep -E '(CRITICAL|ERROR|FATAL)' || echo 'No critical errors found'",
        "authentication": "privateKey"
      },
      "credentials": {
        "sshPrivateKey": {
          "id": "ilPh8oO4GfSlc0Qy",
          "name": "SSH Password account - test "
        }
      },
      "typeVersion": 1
    },
    {
      "id": "87962f71-2a7b-4913-b660-c3b1d7ee328d",
      "name": "Analizar Registros",
      "type": "n8n-nodes-base.code",
      "position": [
        400,
        160
      ],
      "parameters": {
        "jsCode": "const logOutput = $input.first().json.stdout || '';\nconst lines = logOutput.split('\\n').filter(line => line.trim() !== '' && line !== 'No critical errors found');\n\nconst errors = [];\n\nlines.forEach((line, index) => {\n  let errorLevel = 'ERROR';\n  \n  if (line.includes('CRITICAL') || line.includes('FATAL')) {\n    errorLevel = 'CRITICAL';\n  }\n  \n  const timestamp = new Date().toISOString();\n  const errorId = `ERR-${Date.now()}-${index}`;\n  \n  errors.push({\n    id: errorId,\n    level: errorLevel,\n    message: line.trim(),\n    timestamp: timestamp,\n    raw_log: line\n  });\n});\n\nreturn errors.map(error => ({ json: error }));"
      },
      "typeVersion": 2
    },
    {
      "id": "093e59c5-8c25-4c70-9f61-418cfded5f40",
      "name": "SI Error Crítico",
      "type": "n8n-nodes-base.if",
      "position": [
        620,
        160
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "={{ $json.level }}",
            "operation": "equal",
            "rightValue": "CRITICAL"
          }
        }
      },
      "typeVersion": 2
    },
    {
      "id": "0ca2c626-4dd7-42f8-837d-559c9df7657b",
      "name": "Enviar Alerta Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        840,
        -180
      ],
      "webhookId": "a6dc2a87-e06c-463e-b63c-c08f8bf457ca",
      "parameters": {
        "text": "🚨 CRITICAL ERROR DETECTED",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "C0987654"
        },
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "MQ0fgwuS8AzfwFvy",
          "name": "Slack account - test "
        }
      },
      "typeVersion": 2
    },
    {
      "id": "05e1b571-702b-4744-a3b7-38300058e3ff",
      "name": "Crear Ticket Jira",
      "type": "n8n-nodes-base.jira",
      "position": [
        840,
        160
      ],
      "parameters": {
        "project": {
          "mode": "name",
          "value": "BUG"
        },
        "summary": "Critical Error: {{ $json.id }}",
        "issueType": {
          "mode": "name",
          "value": "Bug"
        },
        "additionalFields": {
          "labels": [
            "auto-generated",
            "critical-error"
          ],
          "priority": {
            "mode": "name",
            "value": "Highest"
          },
          "description": "**Error Details:**\\n\\nError ID: {{ $json.id }}\\nLevel: {{ $json.level }}\\nTimestamp: {{ $json.timestamp }}\\n\\n**Error Message:**\\n```\\n{{ $json.message }}\\n```\\n\\n**Raw Log:**\\n```\\n{{ $json.raw_log }}\\n```\\n\\n*This ticket was automatically created by the Error Monitoring System.*"
        }
      },
      "credentials": {
        "jiraSoftwareCloudApi": {
          "id": "cP7JyAE1RB0zcBon",
          "name": "Jira SW Cloud  - test"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "0b13473e-63de-4874-8d9e-843cc8e51c1d",
      "name": "Enviar Alerta No Crítica",
      "type": "n8n-nodes-base.slack",
      "position": [
        860,
        520
      ],
      "webhookId": "7fdc3628-087e-4fc3-ba38-56c54461b293",
      "parameters": {
        "text": "⚠️ Error Detected: {{ $json.level }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "C098765"
        },
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "MQ0fgwuS8AzfwFvy",
          "name": "Slack account - test "
        }
      },
      "typeVersion": 2
    },
    {
      "id": "4374ae68-f2a2-46f1-82e9-a98e3dc7886f",
      "name": "Esperar por Todos los Registros",
      "type": "n8n-nodes-base.wait",
      "position": [
        180,
        160
      ],
      "webhookId": "fdde8463-2899-4169-891b-7a5df07b4f34",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "d90c28f1-6013-4e04-b676-7f8d831ab1d3",
      "name": "Nota Adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -280,
        40
      ],
      "parameters": {
        "color": 5,
        "width": 160,
        "height": 280,
        "content": "Configures basic parameters"
      },
      "typeVersion": 1
    },
    {
      "id": "7e3948e4-5ac8-4a98-a45d-5c8097208b46",
      "name": "Nota Adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -500,
        -20
      ],
      "parameters": {
        "color": 4,
        "width": 150,
        "height": 220,
        "content": "For testing"
      },
      "typeVersion": 1
    },
    {
      "id": "702b64fb-c7b9-44b6-9d5f-d3597a2d366b",
      "name": "Nota Adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -500,
        300
      ],
      "parameters": {
        "color": 3,
        "width": 150,
        "height": 220,
        "content": "Runs every 5 minutes automatically"
      },
      "typeVersion": 1
    },
    {
      "id": "0ba8b489-3f92-4d0a-93f7-121aaca95771",
      "name": "Programar Cada 5min",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -480,
        380
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "2250de6b-468a-49bb-a6ef-76be482fe3a9",
      "name": "Nota Adhesiva3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        360,
        40
      ],
      "parameters": {
        "color": 3,
        "width": 160,
        "height": 280,
        "content": "JavaScript code to parse and categorize errors"
      },
      "typeVersion": 1
    },
    {
      "id": "2231a875-1367-47d0-aab0-7a4fcc03fe5c",
      "name": "Nota Adhesiva4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        140,
        40
      ],
      "parameters": {
        "color": 6,
        "width": 160,
        "height": 280,
        "content": "Wait for all error logs read"
      },
      "typeVersion": 1
    },
    {
      "id": "f3c58543-431e-40aa-9e30-f5bc0a181c0d",
      "name": "Nota Adhesiva5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -60,
        40
      ],
      "parameters": {
        "width": 160,
        "height": 280,
        "content": "SSH into server and reads error logs"
      },
      "typeVersion": 1
    },
    {
      "id": "8e5766d8-d40b-4867-8a17-88fdf9a40b29",
      "name": "Nota Adhesiva6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        840,
        400
      ],
      "parameters": {
        "color": 5,
        "width": 160,
        "height": 260,
        "content": "Sends simple alert for non-critical errors"
      },
      "typeVersion": 1
    },
    {
      "id": "c71bc4f9-a96e-4b08-beba-5b3c3bce86c7",
      "name": "Nota Adhesiva7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        820,
        40
      ],
      "parameters": {
        "width": 160,
        "height": 260,
        "content": "Auto-creates bug ticket for critical errors"
      },
      "typeVersion": 1
    },
    {
      "id": "fa119483-66e9-40e5-9e50-4837807f50e0",
      "name": "Nota Adhesiva8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        -300
      ],
      "parameters": {
        "color": 6,
        "width": 160,
        "height": 280,
        "content": " Sends detailed alert for critical errors"
      },
      "typeVersion": 1
    },
    {
      "id": "7f07dd84-a237-4b62-9e32-7b431c844152",
      "name": "Nota Adhesiva9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        580,
        40
      ],
      "parameters": {
        "color": 4,
        "width": 160,
        "height": 280,
        "content": "Filters critical errors from regular errors\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "9ee70159-d6b0-4271-bda9-3ab79401d38e",
  "connections": {
    "87962f71-2a7b-4913-b660-c3b1d7ee328d": {
      "main": [
        [
          {
            "node": "093e59c5-8c25-4c70-9f61-418cfded5f40",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "19a920cb-28da-4388-80f2-a1b7bd87badb": {
      "main": [
        [
          {
            "node": "cf9f1b38-541c-4311-9fea-c66d7fd39473",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "44f0eba7-b92a-47f0-a7b0-c90eb5d9e8f0": {
      "main": [
        [
          {
            "node": "19a920cb-28da-4388-80f2-a1b7bd87badb",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cf9f1b38-541c-4311-9fea-c66d7fd39473": {
      "main": [
        [
          {
            "node": "4374ae68-f2a2-46f1-82e9-a98e3dc7886f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0ca2c626-4dd7-42f8-837d-559c9df7657b": {
      "main": [
        []
      ]
    },
    "093e59c5-8c25-4c70-9f61-418cfded5f40": {
      "main": [
        [
          {
            "node": "0ca2c626-4dd7-42f8-837d-559c9df7657b",
            "type": "main",
            "index": 0
          },
          {
            "node": "05e1b571-702b-4744-a3b7-38300058e3ff",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "0b13473e-63de-4874-8d9e-843cc8e51c1d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4374ae68-f2a2-46f1-82e9-a98e3dc7886f": {
      "main": [
        [
          {
            "node": "87962f71-2a7b-4913-b660-c3b1d7ee328d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "05e1b571-702b-4744-a3b7-38300058e3ff": {
      "main": [
        []
      ]
    },
    "0ba8b489-3f92-4d0a-93f7-121aaca95771": {
      "main": [
        [
          {
            "node": "19a920cb-28da-4388-80f2-a1b7bd87badb",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0b13473e-63de-4874-8d9e-843cc8e51c1d": {
      "main": [
        []
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Avanzado - DevOps

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos20
Categoría1
Tipos de nodos10
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Autor
Oneclick AI Squad

Oneclick AI Squad

@oneclick-ai

The AI Squad Initiative is a pioneering effort to build, automate and scale AI-powered workflows using n8n.io. Our mission is to help individuals and businesses integrate AI agents seamlessly into their daily operations from automating tasks and enhancing productivity to creating innovative, intelligent solutions. We design modular, reusable AI workflow templates that empower creators, developers and teams to supercharge their automation with minimal effort and maximum impact.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34