refactor: config/apps 目录重组、文档重构、架构图收窄

- 中央:config/(prometheus,alertmanager,grafana)、apps/(tile-cache,topology-editor)
- 边缘:config/(vmagent,blackbox,targets)、apps/(onvif-exporter)
- env: TRAEFIK_PROVIDER、prometheus/env.example 详细说明
- 文档:README/doc 重构,EDGE_CACHE 合并到 EDGE_AGENT_CONFIG
- targets.csv 更新流程说明,ARCHITECTURE 图收窄

Made-with: Cursor
This commit is contained in:
2026-02-28 22:05:43 -05:00
parent 650e5145f1
commit ab1515dffb
48 changed files with 2071 additions and 509 deletions

View File

@@ -3,78 +3,22 @@
## 容器关系图
```
┌─────────────────────────────────────────────────────────────────┐
边缘节点 (Edge Agents)
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ Edge Node 1 │ Edge Node 2 │ Edge Node N │ │
│ │ │ │ │ │ │ │
│ │ Prometheus │ │ Prometheus │ │ Prometheus │ │
│ Edge │ │ Edge │ │ Edge │
│ │ │
│ ONVIF │ │ ONVIF │ ONVIF
│ Exporter │ │ Exporter │ │ Exporter │
│ │ │ │ │
│ Blackbox │ │ Blackbox │ │ Blackbox
│ │ Exporter │ │ Exporter │ │ Exporter │ │
└──────┬───────┘ └──────┬───────┘ └──────┬───────┘
│ │ │ │ │
└──────────────────┼──────────────────┘ │
│ │ │
│ remote_write │
│ (HTTP POST) │
└────────────────────────────┼────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ 中央服务器 (Central Server) │
│ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ VictoriaMetrics (8428) │ │
│ │ ┌────────────────────────────────────────────────────┐ │ │
│ │ │ 远程写入接收器 │ │ │
│ │ │ - 接收边缘节点推送的指标数据 │ │ │
│ │ │ - 存储时序数据 │ │ │
│ │ │ - 提供查询接口 │ │ │
│ │ └────────────────────────────────────────────────────┘ │ │
│ └────────────────────┬───────────────────────────────────────┘ │
│ │ │
│ │ 数据查询 │
│ │ │
│ ┌────────────────────▼───────────────────────────────────────┐ │
│ │ Prometheus Central (9091) │ │
│ │ ┌────────────────────────────────────────────────────┐ │ │
│ │ │ 指标收集和查询引擎 │ │ │
│ │ │ - 从 VictoriaMetrics 读取数据 │ │ │
│ │ │ - 抓取本地服务指标 (自身、Grafana、Alertmanager) │ │ │
│ │ │ - 评估告警规则 │ │ │
│ │ │ - 提供 PromQL 查询接口 │ │ │
│ │ └────────────────────────────────────────────────────┘ │ │
│ └────────────┬───────────────────────────┬───────────────────┘ │
│ │ │ │
│ │ 告警触发 │ 数据查询 │
│ │ │ │
│ ┌────────────▼──────────┐ ┌─────────────▼──────────────┐ │
│ │ Alertmanager (9093) │ │ Grafana (3000) │ │
│ │ ┌──────────────────┐ │ │ ┌──────────────────────┐ │ │
│ │ │ 告警管理 │ │ │ │ 可视化仪表板 │ │ │
│ │ │ - 接收告警 │ │ │ │ - 从 Prometheus 查询 │ │ │
│ │ │ - 告警分组 │ │ │ │ - 创建图表和仪表板 │ │ │
│ │ │ - 发送通知 │ │ │ │ - 多用户管理 │ │ │
│ │ │ - 告警抑制 │ │ │ │ - 中文界面 │ │ │
│ │ └──────────────────┘ │ │ └──────────────────────┘ │ │
│ └───────────────────────┘ │ └──────────────────────────┘ │
│ │ │
└──────────────────────────────┼──────────────────────────────────┘
│ HTTP 访问
┌───────────────┼───────────────┐
│ │ │
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 管理员 │ │ 用户组A │ │ 用户组B │
│ (Admin) │ │ (Org A) │ │ (Org B) │
└─────────────┘ └─────────────┘ └─────────────┘
┌─ 边缘节点 (Edge Node 1/2/…/N) ─────────────────┐
vmagent | ONVIF Exporter | Blackbox Exporter
──────────────────────────────────────────────┘
│ remote_write (HTTP POST)
┌─ 中央服务器 ───────────────────────────────────┐
VictoriaMetrics (8428) 接收边缘推送、存储
│ │ 数据查询
Prometheus (9091) 抓取本地、告警评估
├── 告警 ──> Alertmanager (9093)
└── 查询 ──> Grafana (3000)
└──────────────────┬─────────────────────────────┘
HTTP 访问
管理员 / 用户组A / 用户组B
```
## 数据流向
@@ -173,19 +117,11 @@ Alertmanager 处理告警
## 网络关系
```
monitoring_net (Docker Bridge Network)
├─ prometheus-central:9090 (内部)
│ └─> 映射到宿主机:9091
├─ grafana:3000 (内部)
│ └─> 映射到宿主机:3000
├─ alertmanager:9093 (内部)
│ └─> 映射到宿主机:9093
└─ victoria-metrics:8428 (内部)
└─> 映射到宿主机:8428
monitoring_net (Docker Bridge)
├─ prometheus-central:9090 -> 宿主机 9091
├─ grafana:3000 -> 宿主机 3000
├─ alertmanager:9093 -> 宿主机 9093
└─ victoria-metrics:8428 -> 宿主机 8428
```
## 端口映射
@@ -199,25 +135,19 @@ monitoring_net (Docker Bridge Network)
## 数据存储
所有数据存储在 `/storage` 分区:
```
/storage/
central-server/data/
├── prometheus-data/ # Prometheus 时序数据
├── grafana-data/ # Grafana 配置仪表板
── victoria-metrics-data/ # VictoriaMetrics 时序数据
└── docker/ # Docker 数据
├── grafana-data/ # Grafana 配置仪表板
── victoria-metrics-data/ # VictoriaMetrics 时序数据
```
## 依赖关系
```
VictoriaMetrics
↑ (数据查询)
Prometheus
├─> (告警触发) ──> Alertmanager
└─> (数据查询) ──> Grafana
VictoriaMetrics <── Prometheus
├─ 告警 ──> Alertmanager
└─ 查询 ──> Grafana
```
**启动顺序**