- 数据库主机上按实例运行 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]>
56 lines
1.6 KiB
YAML
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
|