AI事件分析系统

基于模型上下文协议(MCP)的AI事件分析系统,用于自动检测、分析和解释微服务系统中的错误。

  • by Vahe-Aleksanyan
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Vahe-Aleksanyan/mcp-ai-observability-demo

使用说明

MCP代理演示:AI驱动的事件分析

目的

该项目演示了如何构建 人工智能事件分析系统 使用 模型上下文协议(MCP) 自动检测、分析和解释微服务系统中的错误。

问题

当生产中出现错误时:

  • 手动分析速度慢 -工程师们花费数小时在原木中挖掘
  • 上下文分散 -日志、跟踪和指标位于不同的工具中
  • 根本原因尚不清楚 -难以跨服务关联错误
  • 响应时间很重要 -每一分钟的停机都要花钱

解决方案

此演示展示了如何 MCP(模型上下文协议) 使AI代理能够:

  1. 自动检测事件 通过实时监控错误日志
  2. 获取相关上下文 通过查询日志、跟踪和指标
  3. 生成智能RCA (根本原因分析)使用LLM
  4. 提供可操作的见解 建议检查和补救措施

为什么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.md API详细文档
  • 可观测性堆栈: 看 observability/README.md 有关堆栈详细信息
  • 服务: 看 services/README.md 用于服务文档

这是一个演示项目 展示了MCP在构建人工智能驱动的可观察性工具方面的能力。