Skip to content

Commit 48b34b0

Browse files
committed
fix(prometheus_adapter): 更新默认Prometheus地址并完善文档
1 parent 334a81d commit 48b34b0

File tree

2 files changed

+75
-2
lines changed

2 files changed

+75
-2
lines changed

docs/prometheus_adapter/README.md

Lines changed: 74 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,82 @@
1-
# Prometheus Adapter API 文档
1+
# Prometheus Adapter 模块文档
22

33
## 概述
44

55
Prometheus Adapter 提供从 Prometheus 获取服务指标的 RESTful API 接口。支持按服务名称和版本进行查询。
66

7+
## 架构设计
8+
9+
### 模块结构
10+
11+
```
12+
internal/prometheus_adapter/
13+
├── server.go # 服务器主入口,负责初始化和生命周期管理
14+
├── api/ # API 层,处理 HTTP 请求
15+
│ ├── api.go # API 基础结构和初始化
16+
│ └── metric_api.go # 指标相关的 API 处理器
17+
├── service/ # 业务逻辑层
18+
│ └── metric_service.go # 指标查询服务实现
19+
├── client/ # Prometheus 客户端
20+
│ └── prometheus_client.go # 封装 Prometheus API 调用
21+
└── model/ # 数据模型
22+
├── api.go # API 请求响应模型
23+
├── constants.go # 常量定义(错误码等)
24+
└── error.go # 错误类型定义
25+
```
26+
27+
### 层次设计
28+
29+
1. **API 层** (`api/`)
30+
- 处理 HTTP 请求和响应
31+
- 参数验证和解析
32+
- 错误响应格式化
33+
34+
2. **Service 层** (`service/`)
35+
- 业务逻辑处理
36+
- 指标和服务存在性验证
37+
- 数据转换和组装
38+
39+
3. **Client 层** (`client/`)
40+
- 与 Prometheus API 交互
41+
- PromQL 查询构建
42+
- 结果数据转换
43+
44+
4. **Model 层** (`model/`)
45+
- 统一的数据模型定义
46+
- 错误类型和错误码
47+
- 请求响应结构体
48+
49+
### 核心组件
50+
51+
#### PrometheusAdapterServer
52+
主服务器组件,负责:
53+
- 初始化 Prometheus 客户端
54+
- 创建服务实例
55+
- 设置 API 路由
56+
- 管理生命周期
57+
58+
#### PrometheusClient
59+
Prometheus 客户端封装,提供:
60+
- `QueryRange`: 执行时间范围查询
61+
- `GetAvailableMetrics`: 获取所有可用指标
62+
- `CheckMetricExists`: 检查指标是否存在
63+
- `CheckServiceExists`: 检查服务是否存在
64+
- `BuildQuery`: 构建 PromQL 查询语句
65+
66+
#### MetricService
67+
业务逻辑服务,实现:
68+
- 动态指标发现
69+
- 查询参数验证
70+
- 错误处理和转换
71+
72+
## 配置说明
73+
74+
### 环境变量
75+
76+
| 变量名 | 说明 | 默认值 |
77+
|--------|------|--------|
78+
| PROMETHEUS_ADDRESS | Prometheus 服务器地址 | http://10.210.10.33:9090 |
79+
780
## API
881

982
### 1. 获取可用指标列表

internal/prometheus_adapter/server.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ func NewPrometheusAdapterServer(cfg *config.Config) (*PrometheusAdapterServer, e
2525
// 使用环境变量或默认值获取 Prometheus 地址
2626
prometheusAddr := os.Getenv("PROMETHEUS_ADDRESS")
2727
if prometheusAddr == "" {
28-
prometheusAddr = "http://localhost:9090"
28+
prometheusAddr = "http://10.210.10.33:9090/"
2929
}
3030

3131
// 创建 Prometheus 客户端

0 commit comments

Comments
 (0)