Files
awoooi/k8s/monitoring/prometheus-config-additions.yaml
OG T 12e49d844a feat(monitoring): ADR-037 Wave B - Database Exporters + Prometheus 整合
- 部署 PostgreSQL Exporter (192.168.0.188:9187)
- 部署 Redis Exporter (192.168.0.188:9121)
- 更新 Prometheus scrape config
- 首席架構師審查: 97% OUTSTANDING

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-29 15:18:54 +08:00

113 lines
3.3 KiB
YAML

# =============================================================================
# Prometheus Config Additions - P1/P2 改進
# =============================================================================
# 建立者: Claude Code (首席架構師)
# 日期: 2026-03-29 (台北時間)
# 用途: 新增 ArgoCD Metrics + TLS 證書監控
# 部署位置: 192.168.0.188 /etc/prometheus/prometheus.yml
# =============================================================================
#
# 部署方式:
# 1. SSH 到 192.168.0.188
# 2. 編輯 /etc/prometheus/prometheus.yml
# 3. 在 scrape_configs 區塊新增以下內容
# 4. 執行 systemctl reload prometheus
#
# =============================================================================
# ===== 新增 scrape_configs =====
# Database Exporters (2026-03-29 ADR-037 Wave B)
# 部署於 192.168.0.188 via docker-compose
- job_name: postgres
honor_timestamps: true
scrape_interval: 15s
scrape_timeout: 10s
metrics_path: /metrics
scheme: http
static_configs:
- targets:
- 192.168.0.188:9187 # PostgreSQL Exporter
labels:
instance: postgres-110
db: awoooi
- job_name: redis
honor_timestamps: true
scrape_interval: 15s
scrape_timeout: 10s
metrics_path: /metrics
scheme: http
static_configs:
- targets:
- 192.168.0.188:9121 # Redis Exporter
labels:
instance: redis-110
db: awoooi
# ArgoCD Metrics (需先部署 NodePort: k8s/argocd/argocd-metrics-nodeport.yaml)
# ✅ 2026-03-29 已部署並驗證
- job_name: argocd
honor_timestamps: true
scrape_interval: 30s
scrape_timeout: 10s
metrics_path: /metrics
scheme: http
static_configs:
- targets:
- 192.168.0.121:30883 # ArgoCD Server Metrics (Pod 在 mon1)
labels:
component: server
instance: argocd-server
# TLS 證書監控 (使用 Blackbox Exporter)
- job_name: blackbox-https
honor_timestamps: true
scrape_interval: 60s
scrape_timeout: 30s
metrics_path: /probe
params:
module: [http_2xx_ssl]
static_configs:
- targets:
- https://awoooi.wooo.work # AWOOOI 主站
- https://192.168.0.120:30443 # ArgoCD UI
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: blackbox-exporter:9115
# ===== Blackbox Exporter 模組配置 =====
# 檔案: /etc/blackbox_exporter/blackbox.yml
# 新增模組:
#
# modules:
# http_2xx_ssl:
# prober: http
# timeout: 10s
# http:
# valid_http_versions: ["HTTP/1.1", "HTTP/2.0"]
# valid_status_codes: [] # 預設 2xx
# method: GET
# tls_config:
# insecure_skip_verify: false
# fail_if_ssl: false
# fail_if_not_ssl: true
# =============================================================================
# 驗證指令
# =============================================================================
#
# 1. 檢查 ArgoCD 指標:
# curl -s http://192.168.0.120:30883/metrics | grep argocd_info
#
# 2. 檢查 TLS 證書過期時間:
# curl -s "http://192.168.0.188:9090/api/v1/query?query=probe_ssl_earliest_cert_expiry" | jq
#
# 3. 驗證告警規則載入:
# curl -s http://192.168.0.188:9090/api/v1/rules | jq '.data.groups[] | select(.name | contains("tls"))'
#