Token导航 LogoToken导航TokenDH.com
smarshhackathon2025 logo
开发工具stdio官方级别未说明来源级核验

smarshhackathon2025

MCP Server

AI驱动的生产警报分析系统,通过n8n工作流、MCP服务器和OpenAI GPT-4o-mini实现监控、分析和提供可操作建议。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
工作流自动化日志分析ShellAI分析

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

snofty

提供方

snofty

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python post_alerts_to_slack.py --list

详细介绍

SMF黑客马拉松2025-n8n生产警报分析仪

使用n8n、MCP服务器和OpenAI GPT-4o-mini的人工智能生产警报分析系统。

概述

该项目提供了一个智能警报分析工作流,该工作流:

  • 🔍 监视器 生产警报的松弛通道
  • 🤖 分析 使用AI结合GitHub代码和Kibana日志的上下文发出警报
  • 📊 提供 根本原因分析和可操作建议
  • 🔗 整合 通过MCP(模型上下文协议)服务器提供多个数据源

建筑

┌─────────────┐      ┌──────────────┐      ┌─────────────────┐
│   Slack     │─────▶│   n8n        │─────▶│   OpenAI        │
│   Alerts    │      │   Workflow   │      │   GPT-4o-mini   │
└─────────────┘      └──────┬───────┘      └─────────────────┘
                            │
                ┌───────────┴───────────┐
                │                       │
         ┌──────▼──────┐         ┌─────▼──────┐
         │  GitHub MCP │         │ Kibana MCP │
         │  (Port 3000)│         │ (Port 3001)│
         └─────────────┘         └────────────┘

组件

1.n8n工作流程

位置: n8n-workflow/

  • 生产警报分析器 -通过人工智能分析增强工作流程
  • Slack集成 -监控警报并发布响应
  • AI 代理 -按严重程度划分的路线(临界与高/中)
  • 代码上下文 -可选地包括相关代码片段

特性:

  • ✅ 警报解析和结构化数据提取
  • ✅ 基于严重性的路由(不同的分析深度)
  • ✅ 立即确认响应
  • ✅ 线程Slack回复
  • ✅ 指标记录

📖 文档:参见 n8n-workflow/WORKFLOW_GUIDE.md

2.MCP服务器

位置: dockers/

使用HTTP网桥进行n8n集成的多MCP服务器设置:

GitHub MCP服务器(端口3000)

  • 跨存储库的代码搜索
  • 文件内容检索
  • 提交历史和公关管理
  • 40多个GitHub工具可用

Kibana MCP服务器(端口3001)

  • 日志搜索和分析
  • 可视化管理
  • 已保存对象访问
  • 实时错误跟踪

📖 文档:

  • -完整的设置指南
  • -快速入门指南

3.样品申请

位置: sample-app/

模拟实际生产故障的Spring Boot Order服务:

  • 数据库超时和连接池耗尽
  • 支付网关故障
  • 库存服务不可用
  • 高错误率和内存问题

4.日志样本

位置: sample-logs/

15个真实的测试日志条目:

  • Elasticsearch/Kibana导入就绪
  • 匹配警报场景
  • 包括带有代码引用的堆栈跟踪
  • 结构化JSON格式

📖 文档: sample-logs/README.md

5.样品警报

位置: sample-alerts/

10个预格式化的Slack警报,涵盖:

  • 数据库超时(严重)
  • 支付网关故障(高)
  • 库存问题(中等)
  • 高错误率(关键)
  • 内存和性能问题

快速开始

先决条件

  • Docker和Docker Compose
  • GitHub个人访问令牌
  • Kibana服务器访问(URL、用户名、密码)
  • n8n实例(云或自托管)
  • OpenAI API密钥

1.设置MCP服务器

cd dockers

# Copy and configure environment
cp .env.multi-mcp.example .env
nano .env  # Add your credentials

# Update repository path in multi-mcp-docker-compose.yml
# Edit the volumes section to point to your repo

# Start services
docker compose -f multi-mcp-docker-compose.yml up -d

# Verify
curl http://localhost:3000/health  # GitHub MCP
curl http://localhost:3001/health  # Kibana MCP

2.将日志导入Kibana

cd sample-logs

# Generate bulk import file
node convert-to-bulk.js

# Import to Elasticsearch (replace with your details)
curl -X POST "https://YOUR_KIBANA_URL:9200/_bulk" \
  -H "Content-Type: application/x-ndjson" \
  -H "Authorization: ApiKey YOUR_API_KEY" \
  --data-binary @kibana-bulk-import.ndjson

# Create index pattern in Kibana UI: logs-order-service-*

3.导入n8n工作流

  1. 打开n8n用户界面
  2. 首选 工作流从文件导入
  3. 选择: n8n-workflow/production-alert-analyzer.json
  4. 配置凭据:

- 松弛API:添加您的Slack工作区凭据 - OpenAI API:添加您的OpenAI API密钥

  1. 配置MCP客户端:

- GitHub MCP: http://localhost:3000/message (或 http://host.docker.internal:3000/message 如果Docker中的n8n) - Kibana MCP: http://localhost:3001/message (或 http://host.docker.internal:3001/message 如果Docker中的n8n)

  1. 更新Slack工作区的频道ID
  2. 激活工作流

4.测试系统

# Option 1: Start sample application
cd sample-app
mvn clean install
mvn spring-boot:run

# Generate traffic
cd ../sample-alerts
./test-workflow.sh

# Option 2: Post sample alert to Slack
# Copy any alert from sample-alerts/sample-slack-alerts.md
# Paste into your #mcp-testing channel

用法

使用样本警报进行测试

  1. 打开Slack并导航到您配置的输入通道(例如。, #mcp-testing)
  2. 从复制警报 sample-alerts/sample-slack-alerts.md
  3. 将警报粘贴到频道中
  4. 等待1-2秒确认
  5. 检查输出通道(例如。, #n8n-output)用于AI分析(5-10秒)

将Datadog警报发布到Slack

使用Python脚本将Datadog警报配置发布到Slack:

cd sample-alerts

# List all available alerts
python post_alerts_to_slack.py --list

# Post specific alerts by index
python post_alerts_to_slack.py --token YOUR_TOKEN --channel #alerts --alerts 1,3,5

# Post a range of alerts
python post_alerts_to_slack.py --token YOUR_TOKEN --channel #alerts --alerts 1-3

# Interactive mode - select which alerts to post
python post_alerts_to_slack.py --token YOUR_TOKEN --channel #alerts --interactive

# Using environment variables
export SLACK_TOKEN=xoxb-your-token
export SLACK_CHANNEL=#alerts
python post_alerts_to_slack.py --alerts 1,9

获取Slack OAuth令牌:

  1. 首选https://api.slack.com/apps
  2. 创建应用→ OAuth和权限
  3. 添加作用域: chat:write, chat:write.public
  4. 安装到工作区→ 复制Bot用户OAuth令牌

预期AI响应

AI将提供:

  • 根本原因分析:确定主要问题
  • 立即行动:可采取的下一步行动
  • 调查检查表:要检查什么
  • 长期预防:防止再次发生的建议
  • 代码参考:特定文件和行号(如果启用了代码上下文)
  • 日志分析:Kibana的相关错误模式

配置

工作流通道

在n8n工作流中编辑:

  • 输入通道:发布警报的位置(默认值: #mcp-testing)
  • 输出通道:发送分析的位置(默认值: #n8n-output)

AI温度

在OpenAI节点中调整:

  • 0.1-0.3:更确定、更一致的响应
  • 0.4-0.7:更具创意、更多样化的回应

严重性路由

编辑“按严重性路由”节点以更改哪些警报可以进行详细分析:

  • 关键的:全面的根本原因分析
  • 高/中:快速分析

项目结构

hackathon-2025/
├── dockers/                    # MCP server setup
│   ├── multi-mcp-docker-compose.yml
│   ├── mcp-bridge/            # HTTP bridge for MCP servers
│   ├── kibana-bridge/         # Kibana-specific bridge
│   ├── MULTI_MCP_SETUP.md
│   └── QUICK_START.md
├── n8n-workflow/              # n8n workflows
│   ├── production-alert-analyzer.json
│   ├── WORKFLOW_GUIDE.md
│   └── CODE_CONTEXT_GUIDE.md
├── sample-app/                # Spring Boot test application
│   └── src/main/java/...
├── sample-logs/               # Sample Kibana logs
│   ├── kibana-sample-logs.json
│   ├── convert-to-bulk.js
│   └── README.md
├── sample-alerts/             # Sample Slack alerts
│   ├── sample-slack-alerts.md
│   └── test-workflow.sh
└── TESTING_GUIDE.md          # Complete testing guide

文档

故障排除

MCP服务器未启动

# Check logs
docker compose -f multi-mcp-docker-compose.yml logs

# Verify environment variables
cat .env

# Restart services
docker compose -f multi-mcp-docker-compose.yml restart

n8n工作流未触发

  1. 验证工作流是否 活跃的 (在右上角切换)
  2. 检查Slack凭据是否有效
  3. 验证通道ID是否与您的工作区匹配
  4. 使用简单消息进行测试:“测试关键警报”

AI响应过于通用

  1. 为警报添加更多上下文(服务、指标、堆栈跟踪)
  2. 在工作流中启用代码上下文
  3. 较低的AI温度(0.1-0.3)
  4. 通过示例增强系统提示

MCP连接问题

# Test bridges
curl http://localhost:3000/health
curl http://localhost:3001/health

# If n8n in Docker, use:
# http://host.docker.internal:3000/message
# http://host.docker.internal:3001/message

演出

  • 平均响应时间:5-10秒
  • 令牌使用情况:每个警报500-1500个令牌
  • 成本:每个警报约0.001-0.003美元(GPT-4o-mini)
  • 吞吐量:100+警报/小时

安全说明

⚠️ 重要:

  • 永不承诺 .env 文件到版本控制
  • 尽可能使用只读存储库装载
  • 限制对MCP网桥端口的网络访问
  • 使用具有最低权限的API密钥
  • 考虑在生产环境中为HTTP网桥添加身份验证

后续步骤

  1. ✅ 使用所有样本警报进行测试
  2. ✅ 为您的服务自定义提示
  3. ✅ 添加事故工单创建(Jira/ServiceNow)
  4. ✅ 与监控系统(Datadog/Prometheus)集成
  5. ✅ 构建runbook数据库以供AI参考
  6. ✅ 添加历史事件匹配
  7. ✅ 创建指标仪表板
  8. ✅ 设置随叫随到升级

贡献

这是一个黑客马拉松项目。请随意:

  • 添加更多MCP服务器
  • 增强AI提示
  • 添加新的警报类型
  • 改进错误处理
  • 添加更多测试场景

许可证

MIT许可证-有关详细信息,请参阅许可证文件

支持

对于问题或疑问:

  1. 检查子目录中的相关文档
  2. 查看Docker日志: docker compose logs
  3. 测试MCP电桥: curl http://localhost:3000/health
  4. 验证UI中的n8n执行日志

目录标签

目录标签

工作流自动化日志分析ShellAI分析本地部署生产监控Slack集成

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP