- 对外端口统一为 18428(vmauth 入口),VM 不再直接暴露宿主机端口 - 边缘 vmagent 与中央 Prometheus remote_write 增加 basic auth - 支持 tenants.csv 驱动的 per-tenant 写入/查询隔离,并提供管理员跨租户只读查询 - 更新 Grafana provisioning 与部署/文档 Made-with: Cursor
3.5 KiB
3.5 KiB
Distributed-Prometheus
分布式 Prometheus 监控系统:中央收集、边缘上报、多用户多设备。
架构概览
边缘 targets.csv → update-configs.sh → target-onvif / target-ping / target-topology
边缘 vmagent 抓取 → remote_write → 中央 VictoriaMetrics
中央 Prometheus 抓取本地 + 查 VictoriaMetrics → 告警 + Grafana
边缘将指标推送到中央 vmauth(18428,带鉴权)再转发到 VictoriaMetrics;如果启用严格多租户(central-server/config/vmauth/tenants.csv),每个边缘节点用独立账号并写入各自 tenant,实现数据与查询隔离。
管理员要看所有租户:在 central-server/.env 配置 VMAUTH_ADMIN_USER/VMAUTH_ADMIN_PASSWORD。该账号可跨租户读取(通过 /select/<tenant_id>/prometheus/...),Grafana 建议用“数据源变量”在多租户数据源之间切换查看。
项目结构
Distributed-Prometheus/
├── central-server/ # 中央节点
│ ├── config/ # 配置(prometheus、alertmanager、grafana)
│ ├── apps/ # 自建应用(tile-cache、topology-editor)
│ └── data/ # 运行时数据(gitignore)
│
├── edge-agent/ # 边缘节点(可多台)
│ ├── config/ # 配置(vmagent、blackbox、targets.csv)
│ └── apps/ # 自建应用(onvif-exporter)
│
└── doc/ # 文档
快速开始
顺序:中央 → 边缘(边缘上报中央,中央须先就绪)
# 1. 中央
cd central-server && cp env.example .env && bash deploy.sh
# 2. 边缘(本机同机)
cd edge-agent && bash deploy.sh --local
# 2. 边缘(跨机)
cd edge-agent && cp env.example .env
# 编辑 .env 中 CENTRAL_SERVER_HOST=中央IP
bash deploy.sh
访问地址(默认)
| 服务 | 端口 | URL |
|---|---|---|
| Grafana | 3000 | http://localhost:3000 |
| Prometheus | 9091 | http://localhost:9091 |
| vmauth(VictoriaMetrics 入口) | 18428 | http://localhost:18428 |
| Alertmanager | 9093 | http://localhost:9093 |
| GPS 标注助手 | 4080 | http://localhost:4080 |
| 边缘 vmagent | 9092 | http://localhost:9092 |
Grafana 默认 admin/admin123;查边缘数据选数据源 VictoriaMetrics。
监控目标(targets.csv)
边缘监控目标在 edge-agent/config/targets.csv,部署时自动生成 target-onvif.json、target-ping.json。
修改 targets.csv 后:手动执行 cd edge-agent/config && ./update-configs.sh(或重新 deploy.sh),vmagent 每 5 分钟自动重载,无需重启。
详见 doc/TARGETS_AND_MONITORING.md。
文档
| 类别 | 文档 |
|---|---|
| 部署与配置 | doc/README.md 部署步骤、DEPLOYMENT_GUIDE |
| 架构 | ARCHITECTURE 容器关系、数据流 |
| 中央 | CENTRAL_SERVER_CONFIG、central-server/CONFIGURATION.md |
| 边缘 | EDGE_AGENT_CONFIG、TARGETS_AND_MONITORING |
| 告警 | ALERTING 规则与 Alertmanager |
| 扩展 | ONVIF_ALTERNATIVES、TIANDITU_CONFIG、USER_MANAGEMENT |
| 运维 | TROUBLESHOOTING、BEST_PRACTICES |