feat: 引入 vmauth 鉴权与严格多租户

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

Made-with: Cursor
This commit is contained in:
root
2026-04-22 11:41:13 +00:00
parent ab1515dffb
commit c4825c2d27
21 changed files with 278 additions and 37 deletions

View File

@@ -9,7 +9,7 @@
│ remote_write (HTTP POST)
┌─ 中央服务器 ───────────────────────────────────┐
VictoriaMetrics (8428) 接收边缘推送、存储
vmauth (18428) 鉴权入口;后端 VictoriaMetrics 存储
│ │ 数据查询 │
│ ▼ │
│ Prometheus (9091) 抓取本地、告警评估 │
@@ -38,7 +38,7 @@
│ remote_write (HTTP POST)
VictoriaMetrics (8428)
vmauth (18428) -> VictoriaMetrics (container:8428)
│ 数据存储
@@ -79,9 +79,9 @@ Alertmanager 处理告警
## 容器详细说明
### 1. VictoriaMetrics (8428)
- **作用**远程写入接收器,存储时序数据
- **接收**:边缘节点通过 `remote_write` 推送的数据
### 1. vmauth (18428)
- **作用**鉴权/路由入口,给 remote_write 与查询接口加访问控制
- **接收**:边缘节点通过 `remote_write` 推送的数据(带 basic auth
- **提供**:数据查询接口
- **数据路径**`/storage/victoria-metrics-data`
@@ -121,7 +121,8 @@ monitoring_net (Docker Bridge)
├─ prometheus-central:9090 -> 宿主机 9091
├─ grafana:3000 -> 宿主机 3000
├─ alertmanager:9093 -> 宿主机 9093
─ victoria-metrics:8428 -> 宿主机 8428
─ vmauth:8427 -> 宿主机 18428
└─ victoria-metrics:8428 -> (不对外暴露,仅容器网络可达)
```
## 端口映射
@@ -131,7 +132,7 @@ monitoring_net (Docker Bridge)
| Prometheus | 9090 | 9091 | PromQL 查询和 Web UI |
| Grafana | 3000 | 3000 | 可视化仪表板 |
| Alertmanager | 9093 | 9093 | 告警管理界面 |
| VictoriaMetrics | 8428 | 8428 | 远程写入查询接口 |
| vmauth | 18428 | 8427 | 远程写入查询入口(鉴权) |
## 数据存储