Prometheus Server Extended
БесплатноНе проверенEnables querying real-time and historical server performance metrics (CPU, memory, disk IO, load, TCP) from Prometheus via Node Exporter.
Описание
Enables querying real-time and historical server performance metrics (CPU, memory, disk IO, load, TCP) from Prometheus via Node Exporter.
README
基于 Prometheus 的节点性能指标查询服务,支持实时指标采集和历史趋势查询。
功能特性
- 实时指标查询: 传入节点名/IP,返回当前 CPU、内存、IO、负载、TCP 等实时指标
- 趋势数据查询: 传入节点名/IP + 时间范围,返回历史趋势数据
- 多指标支持: CPU、内存、磁盘 IO、系统负载、TCP 连接等
- RESTful API: 标准 REST 接口,支持 JSON 格式响应
- Swagger 文档: 自动生成 API 文档
快速开始
1. 安装依赖
cd prometheus-mcp-server
pip install -r requirements.txt
2. 配置环境变量
# 创建 .env 文件
cat > .env << EOF
PROMETHEUS_URL=http://localhost:9090
NODE_EXPORTER_PORT=9100
API_PORT=8000
EOF
3. 启动服务
# 开发模式
python -m app.main
# 或使用 uvicorn
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
4. 访问 API 文档
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
API 接口
实时指标查询
GET /api/v1/metrics/realtime?node=node-01&ip=192.168.1.10
响应示例:
{
"node": "node-01",
"ip": "192.168.1.10",
"timestamp": "2026-06-25T12:00:00",
"cpu": {
"usage_percent": 25.5,
"cores": 4,
"user_percent": 10.0,
"system_percent": 5.0,
"iowait_percent": 2.0
},
"memory": {
"total_bytes": 8589934592,
"used_bytes": 4294967296,
"available_bytes": 4294967296,
"usage_percent": 50.0
},
"disk_io": {
"read_bytes_per_sec": 1024.0,
"write_bytes_per_sec": 512.0,
"read_iops": 10.0,
"write_iops": 5.0
},
"load": {
"load_1m": 2.5,
"load_5m": 3.0,
"load_15m": 3.5
},
"tcp": {
"connections_established": 100,
"listen_overflows": 0
}
}
趋势数据查询
GET /api/v1/metrics/trend?node=node-01&ip=192.168.1.10&start_time=2026-06-25T00:00:00Z&end_time=2026-06-25T23:59:59Z&step=5m
响应示例:
{
"node": "node-01",
"ip": "192.168.1.10",
"time_range": {
"start": "2026-06-25T00:00:00Z",
"end": "2026-06-25T23:59:59Z",
"step": "5m"
},
"cpu_trend": [
{"timestamp": "2026-06-25T00:00:00", "value": 25.5},
{"timestamp": "2026-06-25T00:05:00", "value": 26.0}
],
"memory_trend": [...],
"disk_io_trend": [...],
"load_trend": [...],
"tcp_trend": [...]
}
Docker 部署
# 构建镜像
docker build -t prometheus-mcp-server:latest .
# 运行容器
docker run -d \
--name prometheus-mcp-server \
-p 8000:8000 \
-e PROMETHEUS_URL=http://prometheus:9090 \
prometheus-mcp-server:latest
# 或使用 docker-compose
docker-compose up -d
Kubernetes 部署
# 应用配置
kubectl apply -f kubernetes/deployment.yaml
# 检查状态
kubectl get pods -l app=prometheus-mcp-server
kubectl get services
前置条件
- Prometheus: 需要运行 Prometheus 服务(默认端口 9090)
- Node Exporter: 目标节点需要部署 Node Exporter(默认端口 9100)
Node Exporter 安装
# Docker 方式
docker run -d \
--name node-exporter \
-p 9100:9100 \
-v /proc:/host/proc:ro \
-v /sys:/host/sys:ro \
prom/node-exporter \
--path.procfs=/host/proc \
--path.sysfs=/host/sys
# 或直接安装
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.0/node_exporter-1.6.0.linux-amd64.tar.gz
tar xzf node_exporter-*.tar.gz
./node_exporter
配置说明
| 参数 | 默认值 | 说明 |
|---|---|---|
PROMETHEUS_URL |
http://localhost:9090 |
Prometheus 服务地址 |
NODE_EXPORTER_PORT |
9100 |
Node Exporter 端口 |
API_PORT |
8000 |
API 服务端口 |
DEFAULT_STEP |
1m |
默认采样间隔 |
REALTIME_CACHE_TTL |
30 |
实时数据缓存时间(秒) |
测试
# 运行测试
pytest tests/ -v
# 或使用 unittest
python -m pytest tests/test_services.py -v
项目结构
prometheus-mcp-server/
├── app/
│ ├── api/
│ │ └── routes.py # API 路由
│ ├── services/
│ │ ├── realtime_collector.py # 实时采集服务
│ │ └── trend_query_service.py # 趋势查询服务
│ ├── models/
│ │ └── schemas.py # 数据模型
│ ├── config/
│ │ └── settings.py # 配置管理
│ └── main.py # FastAPI 入口
├── tests/
│ └── test_services.py # 测试文件
├── kubernetes/
│ └── deployment.yaml # Kubernetes 配置
├── Dockerfile # Docker 镜像配置
├── docker-compose.yml # Docker Compose 配置
├── prometheus.yml # Prometheus 配置
├── requirements.txt # Python 依赖
└── README.md # 项目说明
许可证
MIT License
Установка Prometheus Server Extended
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/yh1401/prometheus-mcp-serverFAQ
Prometheus Server Extended MCP бесплатный?
Да, Prometheus Server Extended MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Prometheus Server Extended?
Нет, Prometheus Server Extended работает без API-ключей и переменных окружения.
Prometheus Server Extended — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Prometheus Server Extended в Claude Desktop, Claude Code или Cursor?
Открой Prometheus Server Extended на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Prometheus Server Extended with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
