Files
awoooi/k8s/monitoring/prometheus.yml
ogt 4af6487ba6
All checks were successful
CD Pipeline / workflow-shape (push) Successful in 2s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 2m31s
CD Pipeline / build-and-deploy (push) Successful in 15m18s
AWOOOI Harbor 110 Local Repair / workflow-shape (push) Successful in 1s
AWOOOI Harbor 110 Local Repair / harbor-110-local-repair (push) Successful in 22s
CD Pipeline / post-deploy-checks (push) Successful in 5m35s
fix(alerting): align Alertmanager metric schema
2026-07-16 18:01:47 +08:00

252 lines
7.2 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
global:
scrape_interval: 15s
evaluation_interval: 15s
external_labels:
monitor: "wooo-aiops-monitor"
environment: "production"
alerting:
alertmanagers:
- static_configs:
- targets: ["alertmanager:9093"]
rule_files:
- "alerts.yml"
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
labels:
host: "110"
# === Node Exporters (5 台主機) ===
- job_name: "node-exporter-110"
scrape_interval: 30s
scrape_timeout: 25s
static_configs:
- targets: ["192.168.0.110:9100"]
labels:
host: "110"
role: "devops"
- job_name: "node-exporter-112"
static_configs:
- targets: ["192.168.0.112:9100"]
labels:
host: "112"
role: "kali-security"
- job_name: "node-exporter-188"
scrape_interval: 30s
scrape_timeout: 25s
static_configs:
- targets: ["192.168.0.188:9100"]
labels:
host: "188"
role: "ai-web"
# === Blackbox HTTP 探測 ===
- job_name: "blackbox-http"
metrics_path: /probe
params:
module: [http_2xx]
static_configs:
- targets:
- https://aiops.wooo.work
- https://mo.wooo.work
- http://192.168.0.110:3001
- http://192.168.0.110:8080/api/v1/health
- http://192.168.0.125:32334/api/v1/health
- http://192.168.0.125:32335
- https://www.tsenyang.com
- http://stock.wooo.work
- https://bitan.wooo.work
# BEGIN AWOOOI OLLAMA CLOUD EDGE PROBES
- targets:
- http://34.143.170.20:11434/api/tags
labels:
service: ollama-cloud-edge
provider: ollama_gcp_a
probe_origin: host110
boundary: cloud_edge_availability_only
- targets:
- http://34.21.145.224:11434/api/tags
labels:
service: ollama-cloud-edge
provider: ollama_gcp_b
probe_origin: host110
boundary: cloud_edge_availability_only
# END AWOOOI OLLAMA CLOUD EDGE PROBES
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 192.168.0.110:9115
# === Blackbox TCP 探測 ===
- job_name: "blackbox-tcp"
metrics_path: /probe
params:
module: [tcp_connect]
static_configs:
- targets:
# K3s 層
- 192.168.0.125:6443
- 192.168.0.125:32334
- 192.168.0.125:32335
# 110 服務
- 192.168.0.110:9090
- 192.168.0.110:9093
- 192.168.0.110:3001
- 192.168.0.110:9000
- 192.168.0.110:5000
- 192.168.0.110:3100
# 188 服務Ollama 已於 2026-05-06 自 AWOOOI provider pool 退役)
- 192.168.0.188:5432
- 192.168.0.188:6380
- 192.168.0.188:8089
# K3s Worker
- 192.168.0.125:32334
- 192.168.0.125:32335
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 192.168.0.110:9115
# === cAdvisor (Docker 容器監控) ===
- job_name: "cadvisor-110"
scrape_interval: 60s
scrape_timeout: 55s
static_configs:
- targets: ["192.168.0.110:9180"]
labels:
host: "110"
# === ClawBot ===
- job_name: "blackbox-clawbot"
metrics_path: /probe
params:
module: [http_2xx]
static_configs:
- targets:
- http://192.168.0.188:8088/health
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 192.168.0.110:9115
- job_name: "clawbot"
scrape_interval: 30s
metrics_path: /metrics
static_configs:
- targets: ["192.168.0.188:8088"]
labels:
host: "188"
service: "clawbot"
# === Gitea native metrics (GitHub freeze replacement, 2026-07-16) ===
- job_name: 'gitea-native'
scrape_interval: 60s
metrics_path: /metrics
static_configs:
- targets: ['192.168.0.110:3001']
labels:
source: 'gitea'
# === AWOOOI API Metrics (Phase O Wave A.2, 2026-04-02) ===
- job_name: 'awoooi-api'
scrape_interval: 30s
metrics_path: /metrics
static_configs:
- targets: ['192.168.0.125:32334']
labels:
host: '125'
service: 'awoooi-api'
env: 'prod'
# BEGIN AWOOOI ALERTMANAGER RUNTIME DELIVERY TRUTH
# === Alertmanager delivery truth (2026-07-16) ===
# Scrape Alertmanager's own monotonic delivery counters. The API NodePort
# load-balances across process-local counters and must not be used to compute
# webhook error rates.
- job_name: 'alertmanager-runtime'
scrape_interval: 30s
metrics_path: /metrics
static_configs:
- targets: ['alertmanager:9093']
labels:
host: '110'
service: 'alertmanager'
env: 'prod'
# Production Alertmanager exposes notification counters by integration,
# not by receiver. The committed config has exactly one webhook receiver
# (awoooi-webhook), so stamp that independently tested source contract onto
# only the two webhook counter families at scrape time.
metric_relabel_configs:
- source_labels: [__name__, integration]
separator: ';'
regex: 'alertmanager_notification_requests(_failed)?_total;webhook'
target_label: receiver_contract
replacement: 'awoooi-webhook'
# END AWOOOI ALERTMANAGER RUNTIME DELIVERY TRUTH
# === ADR-074 M1: 飛輪健康度指標 (2026-04-12 ogt) ===
- job_name: 'awoooi-flywheel'
scrape_interval: 5m
metrics_path: /api/v1/stats/flywheel/metrics
static_configs:
- targets: ['192.168.0.125:32334']
labels:
host: '125'
service: 'awoooi-flywheel'
env: 'prod'
# === ADR-074 M2: 主機間網路連通性 (2026-04-12 ogt) ===
- job_name: 'host-connectivity'
scrape_interval: 60s
metrics_path: /probe
params:
module: [tcp_connect]
static_configs:
- targets:
- 192.168.0.110:22
- 192.168.0.188:22
- 192.168.0.120:6443
- 192.168.0.121:6443
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 192.168.0.188:9115
# === Sprint 5.2 Plan B: PostgreSQL Exporter (2026-04-08 Claude Sonnet 4.6) ===
- job_name: 'postgres-exporter'
scrape_interval: 30s
static_configs:
- targets: ['192.168.0.188:9187']
labels:
host: '188'
service: 'postgresql'
layer: 'systemd-188'
# === Sprint 5.2 Plan B: Redis Exporter (2026-04-08 Claude Sonnet 4.6) ===
- job_name: 'redis-exporter'
scrape_interval: 30s
static_configs:
- targets: ['192.168.0.188:9121']
labels:
host: '188'
service: 'redis'
layer: 'systemd-188'