修正共享 PG 计数器告警在新序列上的误报 #174

Merged
panxiao81 merged 1 commits from fix/shared-pg-sql-counter-new-series into main 2026-10-01 16:46:03 +00:00
Owner

问题

#173 合并后,laptop 触发 SharedPostgresWalArchiveFailing,属误报:

  • WAL 归档正常:16:31 切换后 .partial 已归档,此后没有新的失败。
  • failed_count=9 是 2026-09-25 搭建期留下的历史累计值。
  • MetricsQL 的 increase() 把新序列的首个样本视为从 0 开始增长,因此 exporter 首次被抓取时,0→9 被算成 15 分钟内失败 9 次。
  • promtool 按 Prometheus 语义执行,测不出这一差异。

修正

归档失败、死锁、checkpoint 三条改为与 offset 相减:

  • 新序列没有 offset 之前的值,结果为空,不告警;
  • 计数器重置(重启或 stats reset)得到负值,同样不告警。

验证

  • promtool:全部规则测试通过,含新增的新序列、计数增长、计数器重置三个场景。
  • VictoriaMetrics 现网数据:旧的 archiver 表达式返回 laptop=9;三个新表达式均返回空。
  • PrometheusRule 服务端 dry-run 通过。

🤖 Generated with Claude Code

## 问题 #173 合并后,laptop 触发 `SharedPostgresWalArchiveFailing`,属误报: - WAL 归档正常:16:31 切换后 `.partial` 已归档,此后没有新的失败。 - `failed_count=9` 是 2026-09-25 搭建期留下的历史累计值。 - MetricsQL 的 `increase()` 把新序列的首个样本视为从 0 开始增长,因此 exporter 首次被抓取时,0→9 被算成 15 分钟内失败 9 次。 - promtool 按 Prometheus 语义执行,测不出这一差异。 ## 修正 归档失败、死锁、checkpoint 三条改为与 `offset` 相减: - 新序列没有 offset 之前的值,结果为空,不告警; - 计数器重置(重启或 stats reset)得到负值,同样不告警。 ## 验证 - promtool:全部规则测试通过,含新增的新序列、计数增长、计数器重置三个场景。 - VictoriaMetrics 现网数据:旧的 archiver 表达式返回 laptop=9;三个新表达式均返回空。 - PrometheusRule 服务端 dry-run 通过。 🤖 Generated with [Claude Code](https://claude.com/claude-code)
panxiao81 added 1 commit 2026-10-01 16:41:07 +00:00
修正共享 PG 计数器告警在新序列上的误报
yaml / yaml (pull_request) Successful in 31s
2b382e1579
MetricsQL 的 increase() 把新序列首个样本视为从 0 增长:#173 合并后 exporter
首次被抓取,laptop 上 2026-09-25 搭建期累计的 9 次归档失败被当成刚发生,
触发 SharedPostgresWalArchiveFailing。归档本身正常(切换后 .partial 已归档)。

归档失败、死锁、checkpoint 三条改为与 offset 相减:新序列返回空,
计数器重置得负值也不告警。promtool 按 Prometheus 语义执行,测不出这一差异,
新表达式已在 VictoriaMetrics 现网数据上核对为空;补充新序列与重置回归场景。

Co-Authored-By: Claude Opus 5.5 <[email protected]>
panxiao81 merged commit 6e4deb2d42 into main 2026-10-01 16:46:03 +00:00
panxiao81 deleted branch fix/shared-pg-sql-counter-new-series 2026-10-01 16:46:04 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: panxiao81/homelab-infra#174