AI可观测性协议服务器

Red Hat OpenShift AI可观测性MCP服务器,为AI助手提供直接访问OpenShift AI可观测性数据的能力,包括查询Prometheus指标、Alertmanager警报、Loki日志、Grafana仪表板和Kubernetes集群状态。

  • by amito
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 amito/rhoai-observability-mcp

使用说明

红帽OpenShift AI(RHOAI)可观察性MCP

MCP(模型上下文协议)服务器,使AI助手可以直接访问Red Hat OpenShift AI可观察性数据。查询Prometheus指标、Alertmanager警报、Loki日志、Grafana仪表板和Kubernetes集群状态,以排除vLLM推理工作负载的故障。

特性

  • 21工具 跨越7个类别,实现全面可观测性
  • vLLM感知 度量(TTFT、TPOT、E2E延迟、KV缓存、队列深度)
  • 综合调查 自动关联指标、日志和警报的工具
  • 自动检测 OpenShift服务的集群内访问与外部访问
  • 建立在 FastMCP 通过异步后端 httpx

建筑

graph TD
    A[Claude / AI Assistant] -->|MCP Protocol| B[rhoai-observability-mcp]
    B --> C[Thanos / Prometheus]
    B --> D[Alertmanager]
    B --> E[Loki]
    B --> F[Tempo]
    B --> G[Grafana]
    B --> H[Kubernetes / OpenShift]

后端:

后端 目的 来源
普罗米修斯(灭霸) 指标查询(PromQL) backends/prometheus.py
Alertmanager 活动警报和警报组 backends/alertmanager.py
洛基 日志查询(LogQL) backends/loki.py
Tempo 分布式跟踪查询(TraceQL) backends/tempo.py
Grafana 仪表板发现和面板查询 backends/grafana.py
Kubernetes(OpenShift) Pod、事件、节点、InferenceServices backends/openshift.py

快速开始

# Clone and install
git clone https://github.com/opendatahub-io/rhoai-observability-mcp.git
cd rhoai-observability-mcp
uv pip install -e ".[dev]"

# Configure (see INSTALL.md for all options)
export THANOS_URL=https://thanos-querier.openshift-monitoring.svc:9091
export ALERTMANAGER_URL=https://alertmanager-main.openshift-monitoring.svc:9093
export OPENSHIFT_TOKEN=$(oc whoami -t)

# Run
python -m rhoai_obs_mcp.server

看 安装.md 了解详细的设置、配置和Claude Desktop集成。

构建和部署

构建容器映像

make build

覆盖图像名称或标签:

make build IMAGE_NAME=quay.io/myorg/rhoai-observability-mcp IMAGE_TAG=v1.0.0

推送到注册表

make push

部署到OpenShift

先决条件: oc login 到您的集群, kustomize 安装并创建目标项目:

oc new-project rhoai-obs-mcp

然后部署:

make deploy

这使用Kustomize构建OpenShift覆盖层(deploy/overlays/openshift/)在基础清单之上(deploy/base/)并将其应用于 rhoai-obs-mcp 命名空间。要部署到其他命名空间,请执行以下操作:

make deploy NAMESPACE=my-namespace

卸载

make undeploy

如果部署到自定义命名空间,请传递相同的值:

make undeploy NAMESPACE=my-namespace

CI构建的映像

容器图像是从以下内容自动构建的 main 并向GHCR发布:

ghcr.io/opendatahub-io/rhoai-observability-mcp:latest

地方发展与善良

为开发和测试设置一个具有模拟可观察性后端的本地Kubernetes集群:

# Prerequisites: kind, kubectl, helm, kustomize
make kind-up

这将创建一个Kind集群,通过Helm安装Prometheus+Alertmanager+Grafana,部署一个假的vLLM指标导出器,并部署MCP服务器。访问MCP服务器 http://localhost:30080.

要指向真正的外部后端而不是模拟:

make kind-deploy THANOS_URL=https://real-cluster:9091 ALERTMANAGER_URL=https://real-cluster:9093 GRAFANA_URL=https://real-cluster:3000 TEMPO_URL=https://real-cluster:8080

拆卸:

make kind-down

工具参考

指标

工具 说明
query_prometheus 对ThanosQuerier执行原始PromQL查询
query_prometheus_range 执行PromQL范围查询以获取时间序列数据(趋势、峰值、相关性)
get_vllm_metrics 获取模型的关键vLLM指标(TTFT、TPOT、E2E、缓存、队列)的摘要
list_metrics 列出可用的Prometheus度量名称,可选择按正则表达式过滤

警报

工具 说明
get_alerts 从Alertmanager获取活动警报,可按严重程度和标签进行过滤
get_alert_groups 获取按路由标签分组的警报

日志

工具 说明
query_logs 对OpenShift LokiStack执行LogQL查询
get_pod_logs 按命名空间和名称获取特定pod的日志

痕迹

工具 说明
get_trace 通过跟踪ID获取分布式跟踪
search_traces 使用TraceQL表达式搜索跟踪
list_trace_tags 列出用于构建TraceQL查询的可用跟踪标记名称

簇

工具 说明
get_pods 在命名空间中列出Pod,包括状态、重启和创建时间
get_events 列出Kubernetes事件,可按资源和原因过滤
get_node_status 获取节点状态、容量和GPU分配信息
describe_resource 获取Kubernetes资源的详细描述
get_inference_services 列出KServe Inference服务资源

仪表盘

工具 说明
list_dashboards 列出可用的Grafana仪表板,可按标签或标题过滤
get_dashboard_panels 从Grafana仪表板获取面板及其查询

调查

工具 说明
investigate_latency 关联vLLM模型的延迟度量、错误日志和警报
investigate_gpu 关联GPU利用率、KV缓存、队列深度和pod状态
investigate_errors 在命名空间中关联错误日志、警报和Kubernetes事件

文档

许可证

麻省理工学院