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

5.7 KiB
Raw Blame History

部署指南

部署顺序见 doc/README.md#部署顺序第一步 中央服务器 → 第二步 边缘节点 → 第三步(可选)多用户与告警。本文为各步的详细说明、检查清单与常见问题。


第一步:部署中央服务器

前置要求

  • Docker 与 Docker Compose 已安装
  • 根分区至少约 1GB 可用;数据目录所在分区至少约 2GB
  • 端口未被占用3000Grafana、9091Prometheus、8428VictoriaMetrics、9093Alertmanager
  • 若需外网访问:防火墙开放上述端口

操作步骤

  1. 进入目录并准备环境(可选):

    cd central-server
    cp env.example .env    # 可选修改端口、Traefik、网络等
    
  2. 执行部署:

    bash deploy.sh
    
  3. 等待约 15 秒后检查:

    docker compose ps
    
  4. 验证访问:

中央服务器检查清单

  • Docker、Docker Compose 已安装
  • 磁盘空间充足(根分区约 1GB+,数据分区约 2GB+
  • 端口 3000、9091、8428、9093 未被占用
  • 需要时已开放防火墙
  • 部署后能打开 Grafana、Prometheus

第二步:部署边缘节点

前提:第一步中央服务器已部署并正常运行(尤其 VictoriaMetrics 8428 可访问)。

前置要求

  • Docker、Docker Compose 已安装
  • jq 已安装(用于生成 JSON 配置)
  • 边缘节点能访问中央服务器(能访问中央 IP:8428
  • 如需监控 ONVIF/网络设备:网络可达这些设备

情形 A本机同机部署中央与边缘在同一台机器

cd edge-agent
bash run-edge-local.sh

脚本会自动将中央地址设为 host.docker.internal:8428 并执行部署。边缘 Prometheus UIhttp://localhost:9092

情形 B边缘在另一台机器

  1. 进入目录并配置中央地址:

    cd edge-agent
    cp env.example .env
    

    编辑 .env

    • CENTRAL_SERVER_HOST= 中央服务器 IP 或域名
    • CENTRAL_SERVER_PORT=8428
  2. 配置监控目标并生成配置:

    # 编辑 config/targets.csvPing / ONVIF详见 TARGETS_CSV_GUIDE.md
    cd config && chmod +x *.sh && ./update-configs.sh && cd ..
    
  3. 部署:

    bash deploy.sh
    
  4. 验证:

    • 边缘 Prometheus: http://localhost:9092或边缘机器 IP:9092
    • 在中央 Grafana 中选择数据源「VictoriaMetrics」,查询如 up{job="network-ping"}up{region="workernode_1"} 应能看到边缘数据

边缘节点检查清单

  • 中央服务器已部署且 VictoriaMetrics 可访问(端口 8428
  • .envCENTRAL_SERVER_HOSTCENTRAL_SERVER_PORT 正确
  • config/targets.csv 已配置(或已生成 onvif-targets.jsonping-targets.json
  • 已执行 config/update-configs.sh
  • 边缘能访问中央 8428 端口
  • 部署后在 Grafana 的 VictoriaMetrics 数据源中能看到边缘指标

第三步(可选):多用户与告警

  • Grafana 多用户:在中央服务器上执行 cd central-server/grafana && bash setup-users.sh,然后按 USER_MANAGEMENT.md 配置组织、用户与数据源。
  • 告警规则:中央已内置 alert_rules.yml;如需调整见 ALERT_RULES_EXPLANATION.md
  • 告警通知:编辑 central-server/alertmanager/alertmanager.yml 配置接收端,见 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> 8428curl -s -o /dev/null -w "%{http_code}" http://<中央IP>:8428/health;检查防火墙与 .envCENTRAL_SERVER_HOSTCENTRAL_SERVER_PORT

Grafana 中看不到边缘数据

  • 确认在 Grafana 里选择的是数据源「VictoriaMetrics」不是「Prometheus」中央自抓数据在 Prometheus
  • 确认边缘已部署且 remote_write 指向中央 8428边缘 Prometheus 日志无推送错误。

相关文档