- 对外端口统一为 18428(vmauth 入口),VM 不再直接暴露宿主机端口 - 边缘 vmagent 与中央 Prometheus remote_write 增加 basic auth - 支持 tenants.csv 驱动的 per-tenant 写入/查询隔离,并提供管理员跨租户只读查询 - 更新 Grafana provisioning 与部署/文档 Made-with: Cursor
94 lines
3.5 KiB
Markdown
94 lines
3.5 KiB
Markdown
# 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/ # 文档
|
||
```
|
||
|
||
---
|
||
|
||
## 快速开始
|
||
|
||
**顺序**:中央 → 边缘(边缘上报中央,中央须先就绪)
|
||
|
||
```bash
|
||
# 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/TARGETS_AND_MONITORING.md)。
|
||
|
||
---
|
||
|
||
## 文档
|
||
|
||
| 类别 | 文档 |
|
||
|------|------|
|
||
| **部署与配置** | [doc/README.md](doc/README.md) 部署步骤、[DEPLOYMENT_GUIDE](doc/DEPLOYMENT_GUIDE.md) |
|
||
| **架构** | [ARCHITECTURE](doc/ARCHITECTURE.md) 容器关系、数据流 |
|
||
| **中央** | [CENTRAL_SERVER_CONFIG](doc/CENTRAL_SERVER_CONFIG.md)、[central-server/CONFIGURATION.md](central-server/CONFIGURATION.md) |
|
||
| **边缘** | [EDGE_AGENT_CONFIG](doc/EDGE_AGENT_CONFIG.md)、[TARGETS_AND_MONITORING](doc/TARGETS_AND_MONITORING.md) |
|
||
| **告警** | [ALERTING](doc/ALERTING.md) 规则与 Alertmanager |
|
||
| **扩展** | [ONVIF_ALTERNATIVES](doc/ONVIF_ALTERNATIVES.md)、[TIANDITU_CONFIG](doc/TIANDITU_CONFIG.md)、[USER_MANAGEMENT](doc/USER_MANAGEMENT.md) |
|
||
| **运维** | [TROUBLESHOOTING](doc/TROUBLESHOOTING.md)、[BEST_PRACTICES](doc/BEST_PRACTICES.md) |
|