global: scrape_interval: 15s evaluation_interval: 15s external_labels: monitor: 'garage-cluster' rule_files: - /etc/prometheus/alerts.yml scrape_configs: # Garage node metrics (admin API on WG) - job_name: 'garage' metrics_path: /metrics scheme: http authorization: type: Bearer credentials: c213debe864061cefe501f7791d557b6dba701710b41791b4a4a0fb036690d1d static_configs: - targets: ['10.8.0.1:3903', '10.8.0.2:3903', '10.8.0.4:3903'] labels: cluster: garage # Health check for each node (returns 200 if quorum OK) - job_name: 'garage_health' metrics_path: /health scheme: http static_configs: - targets: ['10.8.0.1:3903', '10.8.0.2:3903', '10.8.0.4:3903'] labels: cluster: garage # Node exporter on each host (system metrics) - job_name: 'node' static_configs: - targets: ['10.8.0.2:9100'] labels: host: bigbox - targets: ['10.8.0.1:9100'] labels: host: vps01 - targets: ['10.8.0.4:9100'] labels: host: vps02 # Prometheus self - job_name: 'prometheus' static_configs: - targets: ['localhost:9090']