Slackアラートと自動エラーチケット作成機能付きエラーログモニター
これはDevOps分野の自動化ワークフローで、20個のノードを含みます。主にIf, Set, Ssh, Code, Jiraなどのノードを使用。 エラーログモニタ:SSH、Slack アラート、および Jira チケット作成付き
- •Slack Bot Token または Webhook URL
カテゴリー
{
"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": "手動トリガー",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-480,
60
],
"parameters": {},
"typeVersion": 1
},
{
"id": "19a920cb-28da-4388-80f2-a1b7bd87badb",
"name": "設定",
"type": "n8n-nodes-base.set",
"position": [
-260,
160
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "cf9f1b38-541c-4311-9fea-c66d7fd39473",
"name": "エラーログ読み取り",
"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": "ログ解析",
"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": "IF 重大エラー",
"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": "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": "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": "非重大アラート送信",
"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": "全ログ待機",
"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": "付箋",
"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": "付箋1",
"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": "付箋2",
"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": "5分毎スケジュール",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-480,
380
],
"parameters": {
"rule": {
"interval": [
{
"field": "minutes"
}
]
}
},
"typeVersion": 1
},
{
"id": "2250de6b-468a-49bb-a6ef-76be482fe3a9",
"name": "付箋3",
"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": "付箋4",
"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": "付箋5",
"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": "付箋6",
"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": "付箋7",
"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": "付箋8",
"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": "付箋9",
"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": [
[]
]
}
}
}このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
上級 - DevOps
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
Oneclick AI Squad
@oneclick-aiThe 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.
このワークフローを共有