Files
root c4825c2d27 feat: 引入 vmauth 鉴权与严格多租户
- 对外端口统一为 18428(vmauth 入口),VM 不再直接暴露宿主机端口
- 边缘 vmagent 与中央 Prometheus remote_write 增加 basic auth
- 支持 tenants.csv 驱动的 per-tenant 写入/查询隔离,并提供管理员跨租户只读查询
- 更新 Grafana provisioning 与部署/文档

Made-with: Cursor
2026-04-22 11:41:13 +00:00

57 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 边缘节点配置文件说明
## 需要什么
| 类型 | 说明 | 对应组件 |
| ------ | ------------------ | ---------------------------------------------------------------------------------- |
| **必选** | remote_write 推送到中央 | prometheus-edge |
| **必选** | Ping/网络探测 | blackbox-exporter |
| **可选** | ONVIF 等 | onvif-exporter`--profile onvif`),见 [ONVIF_ALTERNATIVES.md](ONVIF_ALTERNATIVES.md) |
## 容器与数据流
| 容器 | 作用 | 端口 |
| ----------------- | -------------------------------------------------------- | -------- |
| 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 生成 `target-onvif.json``target-ping.json``target-topology.geojson`
- **prometheus-edge (vmagent)**:使用 `config/vmagent/vmagent-scrape.yml.template` 抓取;`CENTRAL_SERVER_HOST`/`PORT` 来自 `.env`;磁盘缓存卷 `vmagent-cache-data`
- **.env**`CENTRAL_SERVER_HOST``CENTRAL_SERVER_PORT=18428``VMAUTH_WRITE_USER``VMAUTH_WRITE_PASSWORD``EDGE_NODE_ID`。本机同机用 `./deploy.sh --local`;跨机配 `.env``./deploy.sh`
## 严格多租户(推荐)
中央启用 `central-server/config/vmauth/tenants.csv` 后,每个边缘节点建议配置独立的 `VMAUTH_WRITE_USER/VMAUTH_WRITE_PASSWORD`,与中央 tenants.csv 中对应的 write 账号一致;这样每个边缘写入各自 tenantGrafana 也能按 tenant 独立查询。
## 常用操作
- 改监控目标:编辑 `config/targets.csv``cd config && ./update-configs.sh`vmagent 每 5 分钟自动重载 JSON无需重启。
- 改中央地址:编辑 `.env``docker compose restart prometheus-edge`
## 中心宕机 / 断网时的缓存
`docker-compose.yaml` 使用 vmagent 实现:
| 层级 | 机制 | 说明 |
|------|------|------|
| **短时内存缓存** | 内存队列 | 中心短暂不可达时在内存中缓冲(约 30 分钟量级) |
| **长时磁盘缓存** | 持久化队列 | 长时间离线写入磁盘(默认 512MB恢复后自动补传 |
| **冗余重试** | 失败重试 | 边缘重启后从磁盘恢复未上传数据 |
**参数**(修改 prometheus-edge 的 `command` 可调):`-remoteWrite.maxDiskUsagePerURL=512MB``-remoteWrite.tmpDataPath=/cache/remotewrite``-memory.allowedPercent=80`。监控指标:`vmagent_remotewrite_pending_bytes``vmagent_remotewrite_packets_dropped_total`
## 相关文档
- [DEPLOYMENT_GUIDE](DEPLOYMENT_GUIDE.md) | [TARGETS_AND_MONITORING](TARGETS_AND_MONITORING.md) | [ONVIF_ALTERNATIVES](ONVIF_ALTERNATIVES.md) | [ARCHITECTURE](ARCHITECTURE.md)