refactor: config/apps 目录重组、文档重构、架构图收窄

- 中央: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
This commit is contained in:
2026-02-28 22:05:43 -05:00
parent 650e5145f1
commit ab1515dffb
48 changed files with 2071 additions and 509 deletions

View File

@@ -0,0 +1,67 @@
# Prometheus 中央服务器配置模板
# ============================================
# 说明:
# - 本文件为配置模板,包含 ${变量名} 占位符
# - 部署时由 deploy.sh 从 .env 读取变量,用 envsubst 生成 prometheus.yml
# - 请勿直接编辑 prometheus.yml修改应在此模板或 .env 中进行
#
# 变量来源central-server/.env参考 env.example本文件位于 config/prometheus/
# 涉及变量PROMETHEUS_SCRAPE_INTERVAL, PROMETHEUS_EVALUATION_INTERVAL,
# PROMETHEUS_CLUSTER_NAME, VICTORIAMETRICS_PORT,
# PROMETHEUS_REMOTE_WRITE_MAX_SAMPLES, PROMETHEUS_REMOTE_WRITE_CAPACITY,
# PROMETHEUS_REMOTE_WRITE_MAX_SHARDS
# ============================================
global:
scrape_interval: ${PROMETHEUS_SCRAPE_INTERVAL}s
evaluation_interval: ${PROMETHEUS_EVALUATION_INTERVAL}s
external_labels:
cluster: '${PROMETHEUS_CLUSTER_NAME}'
# 远程写入:将中央 Prometheus 抓取到的本地服务指标推送到 VictoriaMetrics
# (边缘节点由 vmagent 直接 remote_write 到 VictoriaMetrics
remote_write:
- url: http://victoria-metrics:${VICTORIAMETRICS_PORT}/api/v1/write
queue_config:
max_samples_per_send: ${PROMETHEUS_REMOTE_WRITE_MAX_SAMPLES}
capacity: ${PROMETHEUS_REMOTE_WRITE_CAPACITY}
max_shards: ${PROMETHEUS_REMOTE_WRITE_MAX_SHARDS}
# 抓取配置:仅抓取中央本机 Docker 容器Prometheus/VM/Alertmanager/Grafana
scrape_configs:
# 抓取中央Prometheus自身
- job_name: 'prometheus-central'
scrape_interval: ${PROMETHEUS_SCRAPE_INTERVAL}s
static_configs:
- targets: ['prometheus-central:9090']
# 抓取VictoriaMetrics (VictoriaMetrics 提供 /metrics 端点)
- job_name: 'victoria-metrics'
scrape_interval: ${PROMETHEUS_SCRAPE_INTERVAL}s
metrics_path: '/metrics'
static_configs:
- targets: ['victoria-metrics:${VICTORIAMETRICS_PORT}']
# 抓取Alertmanager
- job_name: 'alertmanager'
scrape_interval: ${PROMETHEUS_SCRAPE_INTERVAL}s
static_configs:
- targets: ['alertmanager:9093']
# 抓取Grafana (需要启用 metrics 功能)
- job_name: 'grafana'
scrape_interval: ${PROMETHEUS_SCRAPE_INTERVAL}s
metrics_path: '/metrics'
static_configs:
- targets: ['grafana:3000']
# 告警规则alert_rules.yml 与 prometheus.yml 同目录
rule_files:
- "alert_rules.yml"
# Alertmanager告警路由与静默
alerting:
alertmanagers:
- static_configs:
- targets:
- alertmanager:9093