refactor: 边缘节点与配置精简

- 边缘: Prometheus 改为 vmagent,统一 docker-compose.yml,内存+磁盘缓存
- 边缘脚本: 合并为 deploy.sh [--local],删除 run-edge-local、quick-setup、run-edge-with-cache
- 配置: 合并为 update-configs.sh,统一 targets.csv,生成 target-onvif/target-ping/target-topology
- 删除 topology-editor、旧格式 devices.csv/ping-targets.csv、setup-remote-write、test-connection
- 文档: 更新 EDGE_CACHE、TIANDITU(瓦片改 4090 直连 tile-cache)

Made-with: Cursor
This commit is contained in:
User
2026-02-28 19:44:46 -05:00
parent 72a5bf30b4
commit 650e5145f1
35 changed files with 319 additions and 2774 deletions

View File

@@ -2,34 +2,49 @@
## 需要什么
| 类型 | 说明 | 对应组件 |
|------|------|----------|
| **必选** | remote_write 推送到中央 | prometheus-edge |
| **必选** | Ping/网络探测 | blackbox-exporter |
| **** | ONVIF 等 | onvif-exporter`--profile onvif`),见 [ONVIF_ALTERNATIVES.md](ONVIF_ALTERNATIVES.md) |
| 类型 | 说明 | 对应组件 |
| ------ | ------------------ | ---------------------------------------------------------------------------------- |
| **必选** | remote_write 推送到中央 | prometheus-edge |
| **** | Ping/网络探测 | blackbox-exporter |
| **可选** | ONVIF 等 | onvif-exporter`--profile onvif`),见 [ONVIF_ALTERNATIVES.md](ONVIF_ALTERNATIVES.md) |
## 容器与数据流
| 容器 | 作用 | 端口 |
|------|------|------|
| prometheus-edge | 抓取 Blackbox及可选 ONVIFremote_write → 中央 VictoriaMetrics | 9092 |
| blackbox-exporter | Ping/HTTP/TCP 探测 | 9115内部 |
| onvif-exporter | 可选ONVIF 探测 | 9600(内部) |
| 容器 | 作用 | 端口 |
| ----------------- | -------------------------------------------------------- | -------- |
| prometheus-edge (vmagent) | 抓取 Blackbox及可选 ONVIFremote_write → 中央 VictoriaMetrics含内存+磁盘缓存 | 9092 |
| blackbox-exporter | Ping/HTTP/TCP 探测 | 9115(内部) |
| onvif-exporter | 可选ONVIF 探测 | 9600内部 |
数据流:目标 → Exporter → prometheus-edge → remote_write → 中央 VictoriaMetrics。
## 目录与配置
- **config/targets.csv**统一监控目标ping/onvif/topology格式与脚本见 [TARGETS_AND_MONITORING.md](TARGETS_AND_MONITORING.md)。
- **config/update-configs.sh**:从 targets.csv 生成 `onvif-targets.json``ping-targets.json`
- **prometheus-edge**:使用 `prometheus.yml.template` + deploy.sh 中 envsubst注入 `CENTRAL_SERVER_HOST`/`PORT`;数据目录使用 Docker 卷 `prometheus-edge-data`
- **.env**`CENTRAL_SERVER_HOST``CENTRAL_SERVER_PORT=8428``EDGE_NODE_ID`。本机同机`run-edge-local.sh`host.docker.internal跨机填中央 IP
- **config/update-configs.sh**:从 targets.csv 生成 `target-onvif.json``target-ping.json``target-topology.geojson`
- **prometheus-edge (vmagent)**:使用 `vmagent-scrape.yml.template` 抓取;`CENTRAL_SERVER_HOST`/`PORT` 来自 `.env`;磁盘缓存卷 `vmagent-cache-data`
- **.env**`CENTRAL_SERVER_HOST``CENTRAL_SERVER_PORT=8428``EDGE_NODE_ID`。本机同机用 `./deploy.sh --local`;跨机配 `.env``./deploy.sh`
## 常用操作
- 改监控目标:编辑 `config/targets.csv``cd config && ./update-configs.sh`,必要时重启 prometheus-edge。
- 改中央地址:编辑 `.env``docker compose restart prometheus-edge`
## 中心宕机 / 断网时的缓存
`docker-compose.yaml` 使用 vmagent 统一实现:
- **短时内存缓存**:中心短暂不可达时在内存中缓冲
- **长时磁盘缓存**:长时间离线时写入磁盘队列(默认 512MB恢复后自动补传
- **冗余重试**:失败自动重试,边缘重启后从磁盘恢复未上传数据
详见 [EDGE_CACHE.md](EDGE_CACHE.md)。
## 相关文档
- [DEPLOYMENT_GUIDE.md](DEPLOYMENT_GUIDE.md) | [TARGETS_AND_MONITORING.md](TARGETS_AND_MONITORING.md) | [ONVIF_ALTERNATIVES.md](ONVIF_ALTERNATIVES.md) | [ARCHITECTURE.md](ARCHITECTURE.md)
- [EDGE_CACHE.md](EDGE_CACHE.md) | [DEPLOYMENT_GUIDE.md](DEPLOYMENT_GUIDE.md) | [TARGETS_AND_MONITORING.md](TARGETS_AND_MONITORING.md) | [ONVIF_ALTERNATIVES.md](ONVIF_ALTERNATIVES.md) | [ARCHITECTURE.md](ARCHITECTURE.md)