Skip to content

Commit 99b0342

Browse files
authored
Merge pull request #48 from acd19ml/develop
doc(Metrics&Alert): 添加监控/告警处理模块README
2 parents 8e36376 + cbf1a10 commit 99b0342

File tree

1 file changed

+129
-7
lines changed

1 file changed

+129
-7
lines changed

internal/alerting/README.md

Lines changed: 129 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,130 @@
1-
监控告警模块下也可拆分为多个文件夹:
1+
# Monitoring & Alerting Service
2+
3+
## 概述
4+
5+
本模块提供 监控/告警处理能力,实现从告警接收到自动治愈的完整生命周期管理。
6+
7+
**核心思想:**
8+
- 告警规则采用 模版 + 服务元数据 (Metadata) 的方式定义,便于统一管理和灵活扩展。
9+
- 支持自动化处理、AI 辅助分析和多级告警分级。
10+
11+
---
12+
13+
## 目录结构
14+
15+
```
216
alerting/
3-
├── receiver/ # 告警接收与处理
4-
├── rules/ # 告警规则调整
5-
├── metadata/ # 监控与告警元数据
6-
├── healthcheck/ # 周期体检任务
7-
├── severity/ # 告警等级计算
8-
└── remediation/ # 自动化治愈行为
17+
├── api/ # API 接口层,提供 RESTful 访问
18+
├── database/ # 数据库定义和 migration
19+
├── model/ # 数据模型 (ORM / DTO)
20+
├── service/ # 核心业务逻辑
21+
│ ├── receiver/ # 告警接收与处理
22+
│ ├── ruleset/ # 告警规则模版 + metadata
23+
│ ├── healthcheck/ # 周期体检任务
24+
│ ├── severity/ # 告警等级计算
25+
│ └── remediation/ # 自动化治愈行为
26+
└── README.md # 项目说明文档
27+
```
28+
29+
30+
---
31+
32+
## 数据库设计
33+
34+
数据库采用4张核心表设计:告警问题表、评论表、模版表和服务元数据表。
35+
36+
详细的表结构设计、索引建议和性能优化方案请参考:**[数据库设计文档](../../docs/alerting/database-design.md)**
37+
38+
39+
---
40+
41+
## 告警规则机制
42+
43+
告警规则由两部分组成:
44+
45+
### 1. 模版 (Template)
46+
47+
定义规则逻辑,带占位符:
48+
49+
```json
50+
{
51+
"id": "tmpl_apitime",
52+
"expr": "apitime > {apitime_threshold}",
53+
"level": "P1"
54+
}
55+
```
56+
57+
### 2. 服务 Metadata (Service Config)
58+
59+
不同服务定义不同的阈值:
60+
61+
```json
62+
{
63+
"serviceA": { "apitime_threshold": 100 },
64+
"serviceB": { "apitime_threshold": 50 }
65+
}
66+
```
67+
68+
### 3. 展开后的实际规则 (Resolved Rule)
69+
70+
模版 + metadata → 生成实际规则:
71+
72+
```json
73+
{
74+
"service": "serviceA",
75+
"expr": "apitime > 100",
76+
"level": "P1"
77+
}
78+
```
79+
80+
```json
81+
{
82+
"service": "serviceB",
83+
"expr": "apitime > 50",
84+
"level": "P1"
85+
}
86+
```
87+
88+
89+
---
90+
91+
## 流程图
92+
93+
### 规则生成流程
94+
95+
```mermaid
96+
flowchart TD
97+
TPL[告警模版<br/>(Templates)<br/>例: apitime > {apitime_threshold}] --> META
98+
META[服务 Metadata<br/>(Service Config)<br/>例: serviceA=100, serviceB=50] --> RESOLVED
99+
RESOLVED[实际告警规则<br/>(Resolved Rules)<br/>例: serviceA: apitime>100<br/>serviceB: apitime>50] --> ALERT
100+
ALERT[告警触发<br/>(Alert Trigger)<br/>生成 Issue & 进入处理流程]
101+
```
102+
103+
104+
---
105+
106+
## API 接口
107+
108+
服务提供 RESTful API 接口,支持告警列表查询、详情获取等核心功能。
109+
110+
主要接口包括:
111+
- `GET /v1/issues` - 获取告警列表
112+
- `GET /v1/issues/{issueID}` - 获取告警详情
113+
114+
完整的接口文档、请求参数、响应格式和使用示例请参考:**[API 文档](../../docs/alerting/api.md)**
115+
116+
117+
---
118+
119+
## 模块功能说明
120+
121+
- **receiver/**:统一接收告警,写入数据库,触发处理流程
122+
- **ruleset/**:管理告警模版 & 服务 metadata,生成实际规则
123+
- **healthcheck/**:周期性体检,提前发现潜在问题
124+
- **severity/**:计算告警等级 = 原始等级 + 影响范围
125+
- **remediation/**:自动化治愈动作(回滚),并记录处理日志
126+
127+
## 相关文档
128+
129+
- [数据库设计文档](../../docs/alerting/database-design.md) - 详细的表结构和索引设计
130+
- [API 文档](../../docs/alerting/api.md) - RESTful API 接口规范

0 commit comments

Comments
 (0)