神经行动事件智商
一个人工智能驱动的运营(AIOps)和事件管理平台,利用模型上下文协议(MCP)自动关联基础设施错误、代码更改和团队通信,以进行智能根本原因分析。为 2快速2 MCP 黑客马拉松由 wemakedevs 的 和 Archestra AI.
概述
NeuralOps Incident IQ是一个全面的可观察性驱动的人工智能平台,弥合了基础设施监控、代码更改和人类通信之间的差距。通过模块化MCP服务器集成AWS CloudWatch、CloudTrail、GitHub和Slack,该系统提供智能事件调查,自动识别错误、最近代码部署和团队讨论之间的相关性。
该平台使用多代理架构,其中专业代理并行从不同来源收集数据,推理调查代理分析收集到的信息,以高置信度确定根本原因。
演示视频
https://www.youtube.com/watch?v=T3UQxiISXn0
建筑
这是一个全面的架构图,显示了AWS云服务、EC2上的Docker化应用程序环境和Slack之间的复杂集成。该系统被设计为 人工智能驱动的运营(AIOps)或事件管理平台,利用 模型上下文协议(MCP) 以桥接各种数据源。
1.核心应用程序(EC2和Docker)
设置的核心是 虚拟机(EC2实例) 运行a docker-compose 环境。所有服务都通过专用的Docker网络连接:
- Nginx: 充当反向代理/入口,从以下位置路由外部流量
neuralops.amarstackai.com内部服务。 - Archestra人工智能和事件智商(UI/服务器): 主要应用层——一个人工智能引擎和一个事件管理界面。
- MCP服务器: 采用模块化方法 模型上下文协议(MCP) 特定服务器用于:
- AWS CloudTrail和CloudWatch: 获取日志和事件。 - 松弛: 促进与外部Slack工作区的沟通。
2.AWS托管服务(数据和监控)
Docker化的MCP服务器直接与AWS本地服务交互,以提取日志和状态:
- AWS CloudTrail: 跟踪整个AWS帐户的用户活动和API使用情况。
- AWS云观察: 监控应用程序和基础设施日志。
- 演示RDS实例: 托管数据库(使用
db.t4g.micro&db.t4g.large实例)。 - AWS Lambda: Python函数旨在 识别重复交易 在RDS数据库中,从主应用程序卸载数据清理逻辑。
3.外部整合(Slack)
在AWS环境之外,a Slack 集成允许EC2实例中的Slack MCP服务器:
- 列出频道。
- 检索聊天记录。
- 搜索邮件。
这使得AI(Archestra AI)能够“读取”Slack中发生的事情,以帮助诊断事件或为它在CloudWatch和CloudTrail中看到的日志提供上下文。
关键工作流程
- 可观察性驱动的人工智能: 该系统将基础设施数据(日志/轨迹)和人类通信数据(Slack)引入中央AI引擎(
Archestra AI). - 模块化架构: 通过使用MCP服务器,该系统具有高度的可扩展性。稍后添加GitHub或Jira集成只需要另一个MCP容器。
- 安全/入口点: 流量通过自定义域进入(
neuralops.amarstackai.com),为主动访问提供实时或暂存工具。
特性
多智能体调查系统
- AWS CloudWatch代理: 在指定的时间窗口内分析CloudWatch日志组的错误、异常和关键问题。
- GitHub代理: 获取并分析最近的提交(过去24小时),以识别可能与事件相关的代码更改。
- Slack代理: 在Slack对话(过去6小时)中搜索与部署、事件或系统问题相关的讨论。
- 推理调查员代理: 将所有数据源的发现与置信水平(高、中、低、无)相关联,以确定根本原因。
实时流媒体
- 服务器发送事件(SSE)流,用于实时调查更新。
- 调查过程分为两个阶段:
- 第一阶段: 从所有代理并行收集数据。 - 第二阶段: 推理和根本原因分析。
智能关联
- 时间线重建将错误映射到提交和讨论。
- 代码错误相关性将错误消息与更改的文件进行匹配。
- 将Slack讨论与部署联系起来的人与环境相关性。
技术栈
后端
- FastAPI: Incident-IQ核心API的Python web框架。
- Archestra人工智能平台: 多代理编排和AI功能。
- 模型上下文协议(MCP): 用于将LLM与外部数据源连接的标准化协议。
- Docker和Docker编写: 容器化和服务编排。
前端
- 反应19: 现代UI框架。
- TypeScript: 类型安全开发。
- 快: 快速构建工具和开发服务器。
- 顺风CSS: 实用性优先的CSS框架。
- Radix UI: 可访问的组件图元。
- TanStack查询: 数据获取和状态管理。
基础设施
- AWS EC2: 托管应用程序的虚拟机。
- AWS云观察: 日志和度量监控。
- AWS CloudTrail: API活动跟踪。
- AWS RDS: 托管数据库(演示实例)。
- AWS Lambda: 用于重复事务检测的无服务器功能。
- Nginx: 反向代理和SSL终止。
- 松弛API: 团队沟通整合。
MCP服务器
- CloudWatch MCP服务器: 用于CloudWatch集成的基于HTTP的MCP服务器(自定义实现)。
- CloudTrail MCP服务器: 用于CloudTrail集成的基于HTTP的MCP服务器。
- Slack MCP服务器: 用于Slack集成的第三方MCP服务器。
项目结构
NeuralOps-Incident-IQ/
├── Incident_IQ_Core/ # FastAPI backend service
│ ├── app/ # Application logic
│ ├── config/ # Configuration management
│ ├── main.py # FastAPI application entry point
│ └── prompts.py # Agent system prompts
├── UI/ # React frontend application
│ ├── client/ # React client code
│ └── server/ # Express server for SSR
├── mcp/ # MCP server implementations
│ └── src/
│ ├── cloudwatch-mcp-server/ # CloudWatch MCP server
│ └── cloudtrail-mcp-server/ # CloudTrail MCP server
├── nginx/ # Nginx configuration
├── demo_logs_aws_lambda/ # Demo Lambda function
│ └── lambda_function.py # Payment processing demo with errors
├── assets/ # Project assets
│ ├── architecture.png # Architecture diagram
│ └── incidentiq_demo.mp4 # Demo video
└── docker-compose.yml # Service orchestration先决条件
- 已安装Docker和Docker Compose
- 具有CloudWatch、CloudTrail和RDS适当权限的AWS帐户
- AWS访问密钥ID和秘密访问密钥
- Archestra AI API证书
- Slack API令牌(XOXC和XOXD令牌)
- 已配置域名(可选,用于自定义域访问)
环境变量
创建一个 .env 根目录中的文件,包含以下变量:
# AWS Configuration
AWS_REGION=us-east-1
AWS_ACCESS_KEY_ID=your_access_key_id
AWS_SECRET_ACCESS_KEY=your_secret_access_key
# Archestra AI Configuration
ARCHESTRA_API_KEY=your_archestra_api_key
ARCHESTRA_CHAT_API_KEY_ID=your_chat_api_key_id
GITHUB_AGENT_ID=your_github_agent_id
AWS_CLOUDWATCH_AGENT_ID=your_cloudwatch_agent_id
SLACK_AGENT_ID=your_slack_agent_id
REASONING_INVESTIGATOR_AGENT_ID=your_reasoning_agent_id
# Authentication
AUTH_TOKEN=your_auth_token
# Slack Configuration
SLACK_MCP_XOXC_TOKEN=your_slack_xoxc_token
SLACK_MCP_XOXD_TOKEN=your_slack_xoxd_token入门指南
1.克隆存储库
git clone
cd NeuralOps-Incident-IQ2.配置环境变量
创建一个 .env 包含所需环境变量的文件(见上文)。
3.构建和启动服务
docker-compose up --build这将:
- 构建所有Docker镜像
- 启动MCP服务器(CloudWatch、CloudTrail、Slack)
- 启动Archestra AI平台
- 启动事件IQ核心后端
- 启动UI前端
- 启动Nginx反向代理
4.访问应用程序
- 前端用户界面:
http://localhost(或您配置的域) - 事故-IQ API:
http://localhost:8050 - Archestra平台:
http://localhost:9000 - 健康检查:
http://localhost:8050/health_incident_iq
API终点
健康检查
GET /health_incident_iq令牌验证
POST /verify-token
Body: { "token": "your_token" }调查员代理(非流媒体)
POST /Investigator-Agent
Headers: { "Authorization": "Bearer your_token" }
Body: {
"GITHUB_AGENT_PROMPT": "Analyze commits from last 24 hours",
"SLACK_AGENT_PROMPT": "Search for deployment discussions",
"AWS_CLOUDWATCH_AGENT_PROMPT": "Find errors in log group X"
}调查员代理(流媒体)
POST /Investigator-Agent/stream
Headers: { "Authorization": "Bearer your_token" }
Body: {
"GITHUB_AGENT_PROMPT": "Analyze commits from last 24 hours",
"SLACK_AGENT_PROMPT": "Search for deployment discussions",
"AWS_CLOUDWATCH_AGENT_PROMPT": "Find errors in log group X"
}
Response: Server-Sent Events (SSE) stream演示场景
该项目包括一个演示Lambda函数(demo_logs_aws_lambda/lambda_function.py)其模拟具有可控错误场景的支付处理服务。演示演示了:
- 最近提交的“优化”数据库连接池设置
- 峰值负载期间连接超时
- Slack中关于该问题的团队讨论
- IncidentIQ关联CloudWatch错误→ GitHub提交→ 轻松讨论
要触发演示错误,请使用以下命令调用Lambda函数 /trigger-error 终点。
发展
运行个人服务
CloudWatch MCP服务器
docker build -t cloudwatch-mcp-server -f mcp/src/cloudwatch-mcp-server/Dockerfile mcp/src/cloudwatch-mcp-server
docker run -d --env AWS_REGION=us-east-1 --env AWS_ACCESS_KEY_ID= --env AWS_SECRET_ACCESS_KEY= --env MCP_HOST=0.0.0.0 --env MCP_PORT=8000 -p 8000:8000 --name cloudwatch-mcp-server cloudwatch-mcp-server事件智商核心(开发)
cd Incident_IQ_Core
uvicorn main:api --reload --host 0.0.0.0 --port 8050UI(开发)
cd UI
npm install
npm run dev运作原理
- 用户提交调查请求 通过UI为每个数据源代理提供提示。
- 第1阶段-数据收集: 三个专业代理并行运行:
- AWS CloudWatch代理 查询CloudWatch日志以查找错误和异常。 - GitHub代理 获取最近的提交和代码更改。 - Slack代理 搜索相关的团队讨论。
- 第2阶段-根本原因分析: 推理调查员代理人:
- 从所有数据源重建时间线。 - 将错误与代码更改相关联。 - 将讨论与部署相匹配。 - 提供置信水平和具体建议。
- 结果被流式传输 通过服务器发送事件实时返回给用户,显示数据收集阶段和推理阶段。
贡献
该项目是为 2快速2 MCP 编程马拉松。欢迎贡献和改进!
许可证
\[在此处指定您的许可证\]
致谢
- wemakedevs 的 和 Archestra AI 组织黑客马拉松
- AWS实验室 用于MCP服务器实现
- Anthropic 用于模型上下文协议规范
联系
\[在此处添加您的联系信息或项目链接\]
