- 中央:config/(prometheus,alertmanager,grafana)、apps/(tile-cache,topology-editor) - 边缘:config/(vmagent,blackbox,targets)、apps/(onvif-exporter) - env: TRAEFIK_PROVIDER、prometheus/env.example 详细说明 - 文档:README/doc 重构,EDGE_CACHE 合并到 EDGE_AGENT_CONFIG - targets.csv 更新流程说明,ARCHITECTURE 图收窄 Made-with: Cursor
171 lines
6.2 KiB
Plaintext
171 lines
6.2 KiB
Plaintext
# =============================================================================
|
||
# 中央服务器环境变量配置模板
|
||
# =============================================================================
|
||
#
|
||
# 【用途】
|
||
# 本文件为 central-server 所有可配置参数的模板,供 deploy.sh 和 docker-compose 使用。
|
||
# 部署脚本 deploy.sh 会读取 .env,并将部分变量代入 prometheus.yml.template 生成 prometheus.yml。
|
||
#
|
||
# 【使用方式】
|
||
# 1. 复制为 .env: cp env.example .env
|
||
# 2. 编辑 .env,按实际环境修改参数
|
||
# 3. 运行部署脚本: ./deploy.sh
|
||
#
|
||
# 若不存在 .env,deploy.sh 会自动从 env.example 创建,并提示修改后重试。
|
||
#
|
||
# 【变量去向】
|
||
# - deploy.sh:加载 .env,生成 prometheus.yml,创建数据目录,启动 docker-compose
|
||
# - docker-compose:端口、数据目录、容器环境变量、Traefik 标签等
|
||
# - prometheus.yml.template:PROMETHEUS_*、VICTORIAMETRICS_PORT 等(见模板头部)
|
||
#
|
||
# 【修改生效】
|
||
# 修改 .env 后需重新运行 ./deploy.sh。不要直接编辑 prometheus.yml,其由模板生成。
|
||
#
|
||
# =============================================================================
|
||
|
||
# ============================================
|
||
# 端口配置
|
||
# ============================================
|
||
# 宿主机映射端口,对应各服务容器内端口。端口冲突时修改此处。
|
||
|
||
# Prometheus Web UI 端口(避免与 cockpit 9090 冲突,故默认 9091)
|
||
# 访问:http://localhost:${PROMETHEUS_PORT}
|
||
PROMETHEUS_PORT=9091
|
||
|
||
# Grafana Web UI 端口
|
||
# 访问:http://localhost:${GRAFANA_PORT}
|
||
GRAFANA_PORT=3000
|
||
|
||
# Alertmanager Web UI 端口
|
||
ALERTMANAGER_PORT=9093
|
||
|
||
# VictoriaMetrics 端口(边缘 vmagent 通过 remote_write 推送到此端口)
|
||
# 必须与边缘侧 CENTRAL_VM_URL 中的端口一致;通常不通过 Traefik,边缘直连
|
||
VICTORIAMETRICS_PORT=8428
|
||
|
||
# ============================================
|
||
# Grafana 配置
|
||
# ============================================
|
||
|
||
# Grafana 管理员密码(生产环境必须修改,建议 12 位以上强密码)
|
||
GRAFANA_ADMIN_PASSWORD=admin123
|
||
|
||
# Grafana 默认语言:zh-Hans 简体中文,en 英文
|
||
GRAFANA_DEFAULT_LANGUAGE=zh-Hans
|
||
|
||
# Grafana 默认主题:light 浅色,dark 深色
|
||
GRAFANA_DEFAULT_THEME=light
|
||
|
||
# Grafana 根 URL(使用 Traefik 时设为对外访问地址,如 https://grafana.example.com)
|
||
# 影响登录跳转、OAuth 回调等
|
||
GRAFANA_ROOT_URL=http://localhost:3000
|
||
|
||
# ============================================
|
||
# Prometheus 配置
|
||
# ============================================
|
||
# 部分变量会代入 prometheus.yml.template 生成 prometheus.yml
|
||
|
||
# Prometheus 本地 TSDB 数据保留时间(如 30d、7d、1y)
|
||
PROMETHEUS_RETENTION_TIME=30d
|
||
|
||
# 抓取间隔(秒),影响中央 Prometheus 抓取本机服务的频率
|
||
# 建议 15–60;越小越实时,负载越高
|
||
PROMETHEUS_SCRAPE_INTERVAL=15
|
||
|
||
# 告警规则评估间隔(秒)
|
||
PROMETHEUS_EVALUATION_INTERVAL=15
|
||
|
||
# 集群标识,作为 external_labels 中的 cluster 标签,用于区分多集群
|
||
PROMETHEUS_CLUSTER_NAME=central-monitoring
|
||
|
||
# remote_write 到 VictoriaMetrics 的队列参数(中央 Prometheus 将抓取数据推送到 VM)
|
||
# 边缘写入量大时可适当调大;一般保持默认即可
|
||
PROMETHEUS_REMOTE_WRITE_MAX_SAMPLES=10000
|
||
PROMETHEUS_REMOTE_WRITE_CAPACITY=20000
|
||
PROMETHEUS_REMOTE_WRITE_MAX_SHARDS=10
|
||
|
||
# ============================================
|
||
# VictoriaMetrics 配置
|
||
# ============================================
|
||
# VM 接收边缘 remote_write 并存储;Grafana 数据源通常指向 VM
|
||
|
||
# VM 数据保留时间(如 30d、90d)
|
||
VICTORIAMETRICS_RETENTION_PERIOD=30d
|
||
|
||
# ============================================
|
||
# 数据存储路径
|
||
# ============================================
|
||
# 相对于 central-server 目录;deploy.sh 会转换为绝对路径供 Docker 使用
|
||
|
||
# 数据存储根目录(可选,部分脚本可能引用)
|
||
DATA_STORAGE_ROOT=./data
|
||
|
||
# Prometheus 本地 TSDB 数据目录
|
||
PROMETHEUS_DATA_DIR=./data/prometheus-data
|
||
|
||
# Grafana 数据库与插件数据目录
|
||
GRAFANA_DATA_DIR=./data/grafana-data
|
||
|
||
# VictoriaMetrics 时序数据目录
|
||
VICTORIAMETRICS_DATA_DIR=./data/victoria-metrics-data
|
||
|
||
# 天地图瓦片缓存(供 topology-editor、Grafana Geomap 使用)
|
||
# 在 .env 中设置 TIANDITU_TK 后,tile-cache 才可正常工作
|
||
# TIANDITU_TK=您的天地图密钥
|
||
# TILE_CACHE_PORT=4090
|
||
# TILE_CACHE_DATA_DIR=./data/tile-cache
|
||
# TILE_CACHE_TTL_DAYS=7
|
||
# TILE_CACHE_UPSTREAM_TIMEOUT_MS=15000
|
||
|
||
# ============================================
|
||
# Traefik 反向代理配置
|
||
# ============================================
|
||
# 启用后,docker-compose 会为各服务添加 Traefik 标签,通过域名访问
|
||
|
||
# 是否启用 Traefik(true/false)。为 false 时通过宿主机端口直接访问
|
||
TRAEFIK_ENABLED=true
|
||
|
||
# Traefik 来源:internal=本编排启动 Traefik(包含 traefik 服务);external=使用已有外部 Traefik
|
||
# internal:本 compose 内启动 Traefik,自动创建网络,无需外部 Traefik
|
||
# external:接入已有 Traefik,需 traefik 网络已存在(如单独部署的 Traefik)
|
||
TRAEFIK_PROVIDER=external
|
||
|
||
# Traefik 所在 Docker 网络名称
|
||
# external 时通常为 traefik;internal 时为 central_default(compose 自动创建)
|
||
TRAEFIK_NETWORK=traefik
|
||
|
||
# 域名(需 DNS 解析到 Traefik 所在机器)
|
||
GRAFANA_DOMAIN=grafana.example.com
|
||
PROMETHEUS_DOMAIN=prometheus.example.com
|
||
ALERTMANAGER_DOMAIN=alertmanager.example.com
|
||
VICTORIAMETRICS_DOMAIN=vm.example.com
|
||
|
||
# Traefik EntryPoint(web=80, websecure=443)
|
||
TRAEFIK_ENTRYPOINT=web
|
||
|
||
# 是否启用 HTTPS(需 Traefik 配置 TLS)
|
||
TRAEFIK_HTTPS_ENABLED=false
|
||
|
||
# TRAEFIK_PROVIDER=internal 时,Traefik 监听的宿主机端口
|
||
# TRAEFIK_HTTP_PORT=80
|
||
# TRAEFIK_HTTPS_PORT=443
|
||
|
||
# ============================================
|
||
# Docker 网络配置
|
||
# ============================================
|
||
# 由 TRAEFIK_PROVIDER 决定;一般无需手动改,deploy.sh 会自动设置
|
||
|
||
# Compose 项目名称,用于区分同一目录多套部署
|
||
COMPOSE_PROJECT_NAME=central
|
||
|
||
# TRAEFIK_PROVIDER=external 时:
|
||
NETWORK_NAME=traefik
|
||
EXTERNAL_NETWORK=true
|
||
|
||
# TRAEFIK_PROVIDER=internal 时(deploy.sh 会自动改为):
|
||
# NETWORK_NAME=central_default
|
||
# EXTERNAL_NETWORK=false
|
||
|
||
# 是否启用 IPv6(true/false)
|
||
ENABLE_IPV6=false
|