MCP代理演示:AI驱动的事件分析
目的
该项目演示了如何构建 人工智能事件分析系统 使用 模型上下文协议(MCP) 自动检测、分析和解释微服务系统中的错误。
问题
当生产中出现错误时:
- 手动分析速度慢 -工程师们花费数小时在原木中挖掘
- 上下文分散 -日志、跟踪和指标位于不同的工具中
- 根本原因尚不清楚 -难以跨服务关联错误
- 响应时间很重要 -每一分钟的停机都要花钱
解决方案
此演示展示了如何 MCP(模型上下文协议) 使AI代理能够:
- 自动检测事件 通过实时监控错误日志
- 获取相关上下文 通过查询日志、跟踪和指标
- 生成智能RCA (根本原因分析)使用LLM
- 提供可操作的见解 建议检查和补救措施
为什么MCP很重要
模型上下文协议(MCP) 为AI代理访问可观察性数据并与之交互提供了一种标准化的方式:
- 统一接口 -MCP工具抽象了查询Loki、Prometheus、Tempo的复杂性
- 实时流媒体 -SSE流用于实时错误监控
- 结构化数据 -AI可以轻松理解的标准化日志记录
- 代理商友好 -简单的HTTP端点,而不是复杂的可观察性API
如果没有MCP,AI代理将需要:
- 了解不同的查询语言(LogQL、PromQL等)
- 处理来自每个可观察性工具的不同数据格式
- 管理连接和流协议
MCP使AI代理能够访问可观测性数据,实现智能自动化。
建筑
Microservices (auth, billing, inventory)
↓
OpenTelemetry Collector
↓
├─→ Loki (logs)
├─→ Tempo (traces)
└─→ Prometheus (metrics)
MCP Tool (MCP Protocol Layer)
├─→ Queries Loki for logs
└─→ Normalizes data for AI consumption
Incident Agent (AI Agent)
├─→ Streams errors via MCP
├─→ Detects incidents automatically
├─→ Fetches context via MCP queries
└─→ Generates RCA using LLM快速开始
先决条件
- Docker和Docker Compose
- (可选)用于LLM供电RCA的OpenAI API密钥
运行系统
# Start all services
docker-compose up -d
# Wait for services to initialize (30-60 seconds)
# Then check incident agent
curl http://localhost:8090/health
# View detected incidents
curl http://localhost:8090/incidents
# Get AI-powered RCA for an incident
curl -X POST "http://localhost:8090/incidents/{signature}/rca"访问仪表板
- 图表 : http://localhost:3000(管理员/管理员)
- 普罗米修斯: http://localhost:9090
- 事件代理API: http://localhost:8090
法学硕士(可选)
要启用基于AI的RCA分析:
export OPENAI_API_KEY="your-api-key"
export LLM_MODEL="gpt-4o-mini" # optional, defaults to gpt-4o-mini
docker-compose up -d项目结构
services/-演示微服务(身份验证、计费、库存)observability/-可观测性堆栈配置(洛基、普罗米修斯、Tempo、Grafana)agent/mcp_tool/-MCP协议层(查询可观察性数据)agent/incident_agent/-AI代理(检测事件,生成RCA)tools/traffic_gen/-测试流量生成器
了解更多
- 事件代理: 看
agent/incident_agent/README.mdAPI详细文档 - 可观测性堆栈: 看
observability/README.md有关堆栈详细信息 - 服务: 看
services/README.md用于服务文档
______________________________________________________________________
这是一个演示项目 展示了MCP在构建人工智能驱动的可观察性工具方面的能力。
