# 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