Files
homelab-infra/platform/observability/metrics/vmalertmanager.yaml
T
panxiao81andClaude Opus 5.5 0cd4a67e12 新增共享 PG 的 SQL 级指标与 dev 告警分流
- 数据库主机上按实例运行 prometheus-community/postgres_exporter 0.20.1,
  以实例 OS 用户走本地 socket,经 peer + ident 映射到仅有 pg_monitor 的
  homelab_monitor 角色;无密码、不经 Bao。版本与官方 sha256sums.txt 同源。
- prod/dev 启用 pg_stat_statements;monitoring.yml 仅在未生效时 reload/重启
  (prod 走 Patroni pending restart),重复执行 changed=0。
- 告警以上游 postgres_mixin 为底改写为 PrometheusRule,阈值对齐 Patroni
  failover lag 与 max_slot_wal_keep_size;抓取目标带 env 标签。
- Alertmanager 新增 env="dev" 路由到独立 dev 频道,dev SQL 检查告警补 env。

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 16:20:15 +00:00

56 lines
1.6 KiB
YAML

# Telegram token 由 ExternalSecret 从 OpenBao 投射,配置中仅引用文件。
apiVersion: operator.victoriametrics.com/v1beta1
kind: VMAlertmanager
metadata:
name: main
namespace: monitoring
spec:
replicaCount: 1
secrets:
- alertmanager-telegram
configRawYaml: |
route:
receiver: blackhole
group_by: [alertname, cluster, job, severity]
group_wait: 1m
group_interval: 5m
repeat_interval: 4h
routes:
# dev 必须排第一且不 continue:否则 dev 告警会被后面的 severity 路由送进生产频道。
- receiver: telegram-dev
matchers:
- env="dev"
- receiver: telegram
matchers:
- severity="critical"
group_wait: 10s
repeat_interval: 1h
- receiver: telegram
matchers:
- severity="warning"
inhibit_rules:
- source_matchers:
- alertname="KubePodCrashLooping"
target_matchers:
- alertname="KubePodFrequentRestarts"
equal: [namespace, pod, container]
receivers:
- name: blackhole
- name: telegram
telegram_configs:
- bot_token_file: /etc/vm/secrets/alertmanager-telegram/telegram_bot_token
chat_id: -1003956377923
send_resolved: true
- name: telegram-dev
telegram_configs:
- bot_token_file: /etc/vm/secrets/alertmanager-telegram/telegram_bot_token
chat_id: -1003651477106
send_resolved: true
resources:
requests:
cpu: 25m
memory: 64Mi
limits:
cpu: 200m
memory: 256Mi