完善中央与边缘部署、远程写入与监控文档

- 增加中央与边缘完整配置和部署脚本
- 引入 VictoriaMetrics 数据源与 remote_write 故障排查说明
- 新增 edge-agent 配置脚本、ONVIF 自建 exporter 与 ping 监控示例

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Super User
2026-02-25 04:24:40 -05:00
parent 9e37f79a36
commit 95a09fd9d8
52 changed files with 5978 additions and 0 deletions

128
central-server/env.example Normal file
View File

@@ -0,0 +1,128 @@
# 中央服务器环境变量配置
# 复制此文件为 .env 并根据实际情况修改
# ============================================
# 端口配置
# ============================================
# Prometheus 端口(避免与 cockpit 冲突)
PROMETHEUS_PORT=9091
# Grafana 端口
GRAFANA_PORT=3000
# Alertmanager 端口
ALERTMANAGER_PORT=9093
# VictoriaMetrics 端口(边缘节点推送数据到此端口)
VICTORIAMETRICS_PORT=8428
# ============================================
# Grafana 配置
# ============================================
# Grafana 管理员密码
GRAFANA_ADMIN_PASSWORD=admin123
# Grafana 默认语言
GRAFANA_DEFAULT_LANGUAGE=zh-Hans
# Grafana 默认主题
GRAFANA_DEFAULT_THEME=light
# Grafana 根 URL用于 Traefik 反向代理,如果使用 Traefik设置为 https://grafana.example.com
GRAFANA_ROOT_URL=http://localhost:3000
# ============================================
# Prometheus 配置
# ============================================
# Prometheus 数据保留时间
PROMETHEUS_RETENTION_TIME=30d
# Prometheus 抓取间隔(秒)
PROMETHEUS_SCRAPE_INTERVAL=15
# Prometheus 告警评估间隔(秒)
PROMETHEUS_EVALUATION_INTERVAL=15
# Prometheus 集群标识
PROMETHEUS_CLUSTER_NAME=central-monitoring
# 远程写入队列配置
PROMETHEUS_REMOTE_WRITE_MAX_SAMPLES=10000
PROMETHEUS_REMOTE_WRITE_CAPACITY=20000
PROMETHEUS_REMOTE_WRITE_MAX_SHARDS=10
# ============================================
# VictoriaMetrics 配置
# ============================================
# VictoriaMetrics 数据保留时间
VICTORIAMETRICS_RETENTION_PERIOD=30d
# ============================================
# 数据存储路径
# ============================================
# 数据存储根目录(所有数据存储在此目录下,相对于 central-server 目录)
# 使用相对路径,数据将存储在 central-server 目录下的 data 子目录中
DATA_STORAGE_ROOT=./data
# Prometheus 数据目录
PROMETHEUS_DATA_DIR=./data/prometheus-data
# Grafana 数据目录
GRAFANA_DATA_DIR=./data/grafana-data
# VictoriaMetrics 数据目录
VICTORIAMETRICS_DATA_DIR=./data/victoria-metrics-data
# ============================================
# Traefik 反向代理配置
# ============================================
# 是否启用 Traefik 反向代理true/false
# 如果启用,服务将通过 Traefik 访问,不再直接暴露端口
TRAEFIK_ENABLED=true
# Traefik 网络名称(通常为 traefik
TRAEFIK_NETWORK=traefik
# 域名配置(需要配置 DNS 解析到 Traefik 服务器)
# Grafana 域名
GRAFANA_DOMAIN=grafana.example.com
# Prometheus 域名
PROMETHEUS_DOMAIN=prometheus.example.com
# Alertmanager 域名
ALERTMANAGER_DOMAIN=alertmanager.example.com
# VictoriaMetrics 域名(通常不需要通过 Traefik 访问,边缘节点直接连接)
VICTORIAMETRICS_DOMAIN=vm.example.com
# Traefik EntryPoint通常为 web 或 websecure
TRAEFIK_ENTRYPOINT=web
# 是否启用 HTTPS需要配置 Traefik 的 TLS
TRAEFIK_HTTPS_ENABLED=false
# ============================================
# Docker 网络配置
# ============================================
# Compose 项目名称(用于区分同一目录下的多套部署,避免与旧状态冲突)
COMPOSE_PROJECT_NAME=central
# 使用已存在的 traefik 网络(由 Traefik 创建,不在此项目中创建)
# 保持以下两项即可接入现有 Traefik
NETWORK_NAME=traefik
EXTERNAL_NETWORK=true
# 仅在不使用 Traefik、仅本地直连时改为
# NETWORK_NAME=central-server_default
# EXTERNAL_NETWORK=false
# 是否启用 IPv6true/false
ENABLE_IPV6=false