项目简介
Orion MCP是一个基于Model Context Protocol (MCP) 构建的服务器,专注于性能回归分析。它利用 'cloud-bulldozer/orion' 库,能够自动检测OpenShift和Kubernetes集群中的性能回归,提供交互式的API接口,并生成专业的性能趋势、版本对比和指标关联图表。该服务旨在为大型语言模型(LLM)客户端提供标准化的上下文信息和功能,从而增强LLM在性能分析领域的应用能力。
主要功能点
- 性能回归检测: 自动识别OpenShift和Kubernetes集群中的性能下降趋势或突发回归点。
- 交互式API: 通过标准化的MCP接口(JSON-RPC协议)提供一系列可组合的工具和资源,供LLM(大型语言模型)客户端或其它MCP代理调用。
- 可视化报告: 能够根据分析结果生成高质量的趋势图、多版本对比图和指标关联散点图(PNG/JPEG格式),便于直观理解性能数据。
- 容器化部署: 提供轻量级OCI镜像和OpenShift部署示例,方便用户在容器环境中快速部署和扩展服务。
- 数据源连接: 支持连接OpenSearch(或Elasticsearch ≥7.17)数据源,用于索引和查询性能基准测试结果。
安装步骤
在本地环境中运行Orion MCP服务器需要以下步骤:
-
前置条件:
- Python: 3.11 或更高版本。
- OpenSearch/Elasticsearch: 一个运行中的OpenSearch(或Elasticsearch ≥7.17)端点,其中包含Orion索引的基准测试结果。这是MCP服务器分析数据的数据源。
- Podman 或 Docker: (可选) 如果您计划以容器化方式构建或运行服务。
-
克隆仓库: 打开终端,执行以下命令克隆Orion MCP仓库:
git clone https://github.com/jtaleric/orion-mcp.git cd orion-mcp -
创建并激活虚拟环境: 为了避免依赖冲突,建议在虚拟环境中安装Python依赖:
python3.11 -m venv .venv source .venv/bin/activate -
安装Python依赖:
pip install -r requirements.txt
服务器配置 (MCP客户端使用)
MCP客户端需要以下JSON格式的配置信息来连接Orion MCP服务器。请根据您的实际部署情况调整 'args' 中 'ES_SERVER' 的地址。
{ "server_name": "Orion MCP Server", "command": "python", "args": [ "-c", "import os; os.environ['ES_SERVER']='http://your-opensearch-host:9200'; from orion_mcp import mcp; import asyncio; asyncio.run(mcp.run(transport='streamable-http'))" ], "description": "Orion性能回归分析服务器。客户端需提供一个OpenSearch/Elasticsearch地址作为数据源。", "transport": "streamable-http" }
- 'server_name': 这是MCP服务器在客户端中显示的名称,用于识别。
- 'command': 启动MCP服务器进程所使用的可执行命令,通常是 'python'。
- 'args': 传递给 'command' 的参数列表。此处的 '-c' 允许直接执行Python代码。
- 'os.environ['ES_SERVER']='http://your-opensearch-host:9200'': 请务必将 'http://your-opensearch-host:9200' 替换为您的OpenSearch或Elasticsearch的实际访问地址。 这是Orion MCP服务器连接数据源的关键配置。
- 'from orion_mcp import mcp; import asyncio; asyncio.run(mcp.run(transport='streamable-http'))': 这部分代码用于导入并启动Orion MCP服务器。
- 'description': 对该MCP服务器的简要描述。
- 'transport': 服务器使用的传输协议,'streamable-http' 表示通过HTTP流进行通信,支持JSON-RPC over HTTP。
基本使用方法
-
设置数据源: 在启动MCP服务器之前,您必须设置 'ES_SERVER' 环境变量,指向您的OpenSearch或Elasticsearch端点。这是Orion MCP服务器获取性能数据的来源。
export ES_SERVER="https://opensearch.example.com:9200"请将 'https://opensearch.example.com:9200' 替换为您的实际数据源地址。
-
启动服务器: 在激活的虚拟环境中,执行以下命令启动Orion MCP服务器:
python orion_mcp.py服务器将默认在 '0.0.0.0:3030' 监听客户端请求。您会看到类似 "Running MCP server with transport: streamable-http" 的输出。
-
通过MCP客户端调用工具: 服务器成功启动后,您可以使用任何兼容的MCP客户端(例如与大型语言模型集成的应用程序)连接到 'http://0.0.0.0:3030',并调用其提供的工具和资源进行性能分析。 例如,一个MCP客户端可以发送一个JSON-RPC请求来调用 'openshift_report_on' 工具,以生成特定OpenShift版本的性能趋势报告。请求体可能如下所示:
{ "jsonrpc": "2.0", "method": "openshift_report_on", "params": { "versions": "4.19", "lookback": "30", "metric": "podReadyLatency_P99", "config": "small-scale-udn-l3.yaml" }, "id": 1 }服务器将执行分析,并返回一个包含图像(Base64编码的JPEG数据)或文本内容的JSON-RPC响应。客户端随后可以解析并显示这些分析结果。
信息
分类
开发者工具