Files
Distributed-Prometheus/doc/DEPLOYMENT_GUIDE.md
Super User 95a09fd9d8 完善中央与边缘部署、远程写入与监控文档
- 增加中央与边缘完整配置和部署脚本
- 引入 VictoriaMetrics 数据源与 remote_write 故障排查说明
- 新增 edge-agent 配置脚本、ONVIF 自建 exporter 与 ping 监控示例

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 04:24:40 -05:00

162 lines
5.7 KiB
Markdown
Raw 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.
# 部署指南
部署顺序见 **[doc/README.md](README.md)#部署顺序****第一步 中央服务器 → 第二步 边缘节点 → 第三步(可选)多用户与告警**。本文为各步的详细说明、检查清单与常见问题。
---
## 第一步:部署中央服务器
### 前置要求
- Docker 与 Docker Compose 已安装
- 根分区至少约 1GB 可用;数据目录所在分区至少约 2GB
- 端口未被占用3000Grafana、9091Prometheus、8428VictoriaMetrics、9093Alertmanager
- 若需外网访问:防火墙开放上述端口
### 操作步骤
1. 进入目录并准备环境(可选):
```bash
cd central-server
cp env.example .env # 可选修改端口、Traefik、网络等
```
2. 执行部署:
```bash
bash deploy.sh
```
3. 等待约 15 秒后检查:
```bash
docker compose ps
```
4. 验证访问:
- Grafana: http://localhost:3000默认 admin / admin123
- Prometheus: http://localhost:9091
- VictoriaMetrics: http://localhost:8428
- Alertmanager: http://localhost:9093
### 中央服务器检查清单
- [ ] Docker、Docker Compose 已安装
- [ ] 磁盘空间充足(根分区约 1GB+,数据分区约 2GB+
- [ ] 端口 3000、9091、8428、9093 未被占用
- [ ] 需要时已开放防火墙
- [ ] 部署后能打开 Grafana、Prometheus
---
## 第二步:部署边缘节点
**前提**:第一步中央服务器已部署并正常运行(尤其 VictoriaMetrics 8428 可访问)。
### 前置要求
- Docker、Docker Compose 已安装
- `jq` 已安装(用于生成 JSON 配置)
- 边缘节点能访问中央服务器(能访问中央 IP:8428
- 如需监控 ONVIF/网络设备:网络可达这些设备
### 情形 A本机同机部署中央与边缘在同一台机器
```bash
cd edge-agent
bash run-edge-local.sh
```
脚本会自动将中央地址设为 `host.docker.internal:8428` 并执行部署。边缘 Prometheus UIhttp://localhost:9092。
### 情形 B边缘在另一台机器
1. 进入目录并配置中央地址:
```bash
cd edge-agent
cp env.example .env
```
编辑 `.env`
- `CENTRAL_SERVER_HOST=` 中央服务器 IP 或域名
- `CENTRAL_SERVER_PORT=8428`
2. 配置监控目标并生成配置:
```bash
# 编辑 config/targets.csvPing / ONVIF详见 TARGETS_CSV_GUIDE.md
cd config && chmod +x *.sh && ./update-configs.sh && cd ..
```
3. 部署:
```bash
bash deploy.sh
```
4. 验证:
- 边缘 Prometheus: http://localhost:9092或边缘机器 IP:9092
- 在中央 Grafana 中**选择数据源「VictoriaMetrics」**,查询如 `up{job="network-ping"}` 或 `up{region="workernode_1"}` 应能看到边缘数据
### 边缘节点检查清单
- [ ] 中央服务器已部署且 VictoriaMetrics 可访问(端口 8428
- [ ] `.env` 中 `CENTRAL_SERVER_HOST`、`CENTRAL_SERVER_PORT` 正确
- [ ] `config/targets.csv` 已配置(或已生成 `onvif-targets.json`、`ping-targets.json`
- [ ] 已执行 `config/update-configs.sh`
- [ ] 边缘能访问中央 8428 端口
- [ ] 部署后在 Grafana 的 VictoriaMetrics 数据源中能看到边缘指标
---
## 第三步(可选):多用户与告警
- **Grafana 多用户**:在中央服务器上执行 `cd central-server/grafana && bash setup-users.sh`,然后按 [USER_MANAGEMENT.md](USER_MANAGEMENT.md) 配置组织、用户与数据源。
- **告警规则**:中央已内置 `alert_rules.yml`;如需调整见 [ALERT_RULES_EXPLANATION.md](ALERT_RULES_EXPLANATION.md)。
- **告警通知**:编辑 `central-server/alertmanager/alertmanager.yml` 配置接收端,见 [ALERTMANAGER_CONFIG.md](ALERTMANAGER_CONFIG.md)。
---
## 部署后验证
### 中央
- `docker compose ps` 中 prometheus-central、grafana、victoria-metrics、alertmanager 为 Up
- 能打开 Grafana、Prometheus、Alertmanager、VictoriaMetrics 的 Web 界面
- Grafana 中「Prometheus」数据源可查询到中央自身指标如 `up`
### 边缘
- `docker compose ps` 中 prometheus-edge、onvif-exporter、blackbox-exporter 为 Up
- 边缘 Prometheus http://localhost:9092/targets 中目标状态正常
- 中央 Grafana 中**选择数据源「VictoriaMetrics」**,能查到边缘相关指标(如 `up{job="network-ping"}`
---
## 常见部署问题
### 端口冲突
- 现象:容器启动失败,提示端口已被占用。
- 处理:`netstat -tulpn | grep <端口>` 或 `ss -tulpn` 查看占用;修改对应 `docker-compose.yml` 端口映射或关闭占用进程。
### 磁盘空间不足
- 现象:拉镜像或启动失败。
- 处理:`df -h` 检查空间;`docker system prune -a --volumes` 清理(注意会删未用卷);保证数据目录所在分区空间充足。
### 边缘无法连接中央
- 现象:边缘数据未出现在中央 Grafana 的 VictoriaMetrics 中。
- 处理:从边缘节点 `telnet <中央IP> 8428` 或 `curl -s -o /dev/null -w "%{http_code}" http://<中央IP>:8428/health`;检查防火墙与 `.env` 中 `CENTRAL_SERVER_HOST`、`CENTRAL_SERVER_PORT`。
### Grafana 中看不到边缘数据
- 确认在 Grafana 里选择的是**数据源「VictoriaMetrics」**不是「Prometheus」中央自抓数据在 Prometheus
- 确认边缘已部署且 remote_write 指向中央 8428边缘 Prometheus 日志无推送错误。
---
## 相关文档
- 部署顺序总览:[README.md#部署顺序](README.md)
- 中央配置:[CENTRAL_SERVER_CONFIG.md](CENTRAL_SERVER_CONFIG.md)、[central-server/CONFIGURATION.md](../central-server/CONFIGURATION.md)
- 边缘配置与目标:[EDGE_NODE_SETUP.md](EDGE_NODE_SETUP.md)、[EDGE_AGENT_CONFIG.md](EDGE_AGENT_CONFIG.md)、[TARGETS_CSV_GUIDE.md](TARGETS_CSV_GUIDE.md)
- 架构:[ARCHITECTURE.md](ARCHITECTURE.md)
- 故障排查:[TROUBLESHOOTING.md](TROUBLESHOOTING.md)