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

@@ -8,10 +8,13 @@
- **`.env`** - 环境变量配置文件(从 `env.example` 复制并修改)
- **`docker-compose.yml`** - Docker Compose 服务定义(使用环境变量)
- **`prometheus.yml.template`** - Prometheus 配置模板(部署时自动生成 `prometheus.yml`
- **`prometheus.yml`** - Prometheus 实际配置文件(由模板自动生成,不要手动编辑
- **`alert_rules.yml`** - Prometheus 告警规则配置
- **`alertmanager/alertmanager.yml`** - Alertmanager 告警管理配置
- **`config/`** - 配置目录
- `prometheus/` - Prometheus 配置prometheus.yml.template, prometheus.yml, alert_rules.yml
- `alertmanager/` - Alertmanager 配置alertmanager.yml
- `grafana/` - Grafana 配置provisioning, dashboards
- **`apps/`** - 自建应用源码
- `tile-cache/` - 天地图瓦片缓存
- `topology-editor/` - GPS 标注助手
## 快速开始
@@ -30,7 +33,7 @@
部署脚本会自动:
- 加载 `.env` 文件中的环境变量
- 从 `prometheus.yml.template` 生成 `prometheus.yml`
- 从 `config/prometheus/prometheus.yml.template` 生成 `config/prometheus/prometheus.yml`
- 创建数据目录并设置权限
- 启动所有服务
@@ -108,7 +111,7 @@
| 参数 | 默认值 | 说明 |
|------|--------|------|
| `TIANDITU_TK` | (空) | **天地图密钥**,配置到 `.env` 中。启用后 tile-cache、拓扑助手「使用服务器缓存」及 Grafana Geomap 使用天地图底图时均使用此密钥,无需在浏览器或 Grafana 中填写。在 [天地图开放平台](https://console.tianditu.gov.cn/) 申请。 |
| `TIANDITU_TK` | (空) | **天地图密钥**,配置到 `.env` 中。启用后 tile-cache Grafana Geomap 使用天地图底图时均使用此密钥,无需在 Grafana 中填写。在 [天地图开放平台](https://console.tianditu.gov.cn/) 申请。 |
| `TILE_CACHE_PORT` | 4090 | 瓦片缓存服务端口 |
| `TILE_CACHE_DATA_DIR` | ./data/tile-cache | 瓦片缓存数据目录 |
| `TILE_CACHE_TTL_DAYS` | 7 | 缓存老化时间(天),超过后该瓦片下次请求时重新向天地图拉取;可改为 15 等 |
@@ -135,7 +138,8 @@
| 参数 | 默认值 | 说明 |
|------|--------|------|
| `TRAEFIK_ENABLED` | true | 是否启用 Traefik 反向代理 |
| `TRAEFIK_NETWORK` | traefik | Traefik 网络名称 |
| `TRAEFIK_PROVIDER` | external | Traefik 来源:**internal**=本编排启动 Traefik**external**=使用已有外部 Traefik |
| `TRAEFIK_NETWORK` | traefik | Traefik 网络名称external 时通常为 traefikinternal 时 deploy.sh 设为 central_default |
| `GRAFANA_DOMAIN` | grafana.example.com | Grafana 域名 |
| `PROMETHEUS_DOMAIN` | prometheus.example.com | Prometheus 域名 |
| `ALERTMANAGER_DOMAIN` | alertmanager.example.com | Alertmanager 域名 |
@@ -145,11 +149,11 @@
**Traefik 配置说明**
- 启用 Traefik 后,服务将通过域名访问,不再直接暴露端口
- 需要确保 Traefik 网络已创建:`docker network create traefik`(如果不存在)
- 需要配置 DNS 解析,将域名指向 Traefik 服务器
- **TRAEFIK_PROVIDER=internal**:本编排内启动 Traefik监听 80/443自动创建网络无需外部 Traefik
- **TRAEFIK_PROVIDER=external**:接入已有 Traefik需 `docker network create traefik`(若不存在)
- 需要配置 DNS 解析,将域名指向本机
- VictoriaMetrics 通常不通过 Traefik 访问(边缘节点直接连接)
- 如果使用 HTTPS需要配置 Traefik 的 TLS 证书
- `NETWORK_NAME` 必须与 Traefik 实际网络一致,否则 Traefik 无法转发
### Docker 网络配置
@@ -290,9 +294,9 @@ Docker Compose 配置文件,定义了所有服务的:
**注意**:此文件已配置为使用环境变量,一般不需要手动修改。
### prometheus.yml.template
### config/prometheus/prometheus.yml.template
Prometheus 配置模板文件,包含:
Prometheus 配置模板文件(位于 `config/prometheus/`,包含:
- 全局配置(抓取间隔、评估间隔、集群名称)
- 远程写入配置(接收边缘节点数据)
- 抓取配置(抓取本地服务指标)
@@ -301,18 +305,18 @@ Prometheus 配置模板文件,包含:
**注意**
- 此文件是模板,不要直接使用
- 部署脚本会自动从此模板生成 `prometheus.yml`
- 部署脚本会自动从此模板生成 `prometheus/prometheus.yml`
- 修改配置应通过 `.env` 文件,而不是直接修改模板
### prometheus.yml
### config/prometheus/prometheus.yml
Prometheus 实际配置文件,由 `prometheus.yml.template` 自动生成。
**注意**
- 此文件由部署脚本自动生成,**不要手动编辑**
- 如果需要修改,应修改 `prometheus.yml.template` 和 `.env` 文件
- 如果需要修改,应修改 `config/prometheus/prometheus.yml.template` 和 `.env` 文件
### alert_rules.yml
### config/prometheus/alert_rules.yml
Prometheus 告警规则配置文件,定义了:
- ONVIF 设备告警规则(设备离线、高温、存储不足)
@@ -320,7 +324,7 @@ Prometheus 告警规则配置文件,定义了:
**注意**:此文件需要手动编辑,修改后需要重启 Prometheus 服务。
### alertmanager/alertmanager.yml
### config/alertmanager/alertmanager.yml
Alertmanager 告警管理配置文件,定义了:
- 告警路由规则
@@ -343,7 +347,7 @@ Alertmanager 告警管理配置文件,定义了:
**A**:
- 查看环境变量:`cat .env`
- 查看生成的 Prometheus 配置:`cat prometheus.yml`
- 查看生成的 Prometheus 配置:`cat config/prometheus/prometheus.yml`
- 查看 Docker Compose 配置:`cat docker-compose.yml`
### Q3: 配置错误导致服务无法启动?
@@ -361,9 +365,7 @@ Alertmanager 告警管理配置文件,定义了:
# 备份所有配置文件
tar -czf central-server-config-backup-$(date +%Y%m%d).tar.gz \
.env \
prometheus.yml.template \
alert_rules.yml \
alertmanager/alertmanager.yml \
config/ \
docker-compose.yml
```