跳转到主要内容

设计归档

设计记录解释 PG Exporter 的架构、备选方案与取舍。每篇注明状态、源码边界和最后核验日期。

快照直方图已随 v1.4.0 发布。Composite 模式、缓存 pgBackRest 指标和 PostgreSQL 日志指标已在开发分支实现,尚未进入稳定版 v1.4.1。独立可观测性产品提案已被取代。

稳定版操作方法见使用手册,已发布变更见发布归档。

设计归档
把 PostgreSQL CSV 日志转成持久指标 设计PostgreSQL日志Prometheus可靠性
把 pgBackRest 指标移出抓取路径 设计pgBackRestPrometheus可靠性
我们最终没有做的 PostgreSQL 可观测性产品 设计产品PostgreSQL可观测性
一个端点,多种来源:Composite Exporter 契约 设计架构PrometheusPgBouncerPatroni
快照直方图是 Gauge,不是 Counter 设计HistogramPrometheusPostgreSQL
  • 把 PostgreSQL CSV 日志转成持久指标

    冯若航 发布于 设计 2652 字 6 分钟

    冯若航design设计PostgreSQL日志Prometheus可靠性

    Featured Image for 把 PostgreSQL CSV 日志转成持久指标

    PostgreSQL 日志会记录 SQL 快照可能错过的事件:死锁、认证失败、自动清理取消、检查点、临时文件删除和客户端断连。根据服务端日志策略,还可以记录语句耗时。 状态: 已实现,未发布。 决策日期: 2026-08-24。 最后核验: 2026-10-13。 范围: 源码提交 c0ba58a 的 PostgreSQL 14+ CSV 日志采集器,默认关闭;稳定版 v1.4.1 尚未包含。 取代: 独立可观测性产品提案。 交付进度: 本地测试通过;未合入 main 或发布标签;软件包、部署与 …

    PostgreSQL 日志会记录 SQL 快照可能错过的事件:死锁、认证失败、自动清理取消、检查点、临时文件删除和客户端断连。根据服务端日志策略,还可以记录语句耗时。 状态: 已实现,未发布。 决策日期: 2026-08-24。 最后核验: 2026-10-13。 范围: 源码提交 c0ba58a 的 PostgreSQL 14+ CSV 日志采集器,默认关闭;稳定版 v1.4.1 尚未包含。 取代: 独立可观测性产品提案。 交付进度: 本地测试通过;未合入 main 或发布标签;软件包、部署与 …

  • 把 pgBackRest 指标移出抓取路径

    冯若航 发布于 设计 1410 字 3 分钟

    冯若航design设计pgBackRestPrometheus可靠性

    Featured Image for 把 pgBackRest 指标移出抓取路径

    pgbackrest info --output=json 提供备份状态。命令可能访问远程仓库并等待存储响应。若在 Prometheus 请求中执行,数据库监控也要承担这段延迟。 状态: 已实现,未发布。 决策日期: 2026-08-23。 最后核验: 2026-10-13。 范围: 源码提交 c0ba58a 的可选 --pgbackrest 组件;稳定版 v1.4.1 尚未包含。 交付进度: 本地测试通过;未合入 main 或发布标签;软件包、部署与生产运行未核验。 因此,PG …

    pgbackrest info --output=json 提供备份状态。命令可能访问远程仓库并等待存储响应。若在 Prometheus 请求中执行,数据库监控也要承担这段延迟。 状态: 已实现,未发布。 决策日期: 2026-08-23。 最后核验: 2026-10-13。 范围: 源码提交 c0ba58a 的可选 --pgbackrest 组件;稳定版 v1.4.1 尚未包含。 交付进度: 本地测试通过;未合入 main 或发布标签;软件包、部署与生产运行未核验。 因此,PG …

  • 我们最终没有做的 PostgreSQL 可观测性产品

    冯若航 发布于 设计 1113 字 3 分钟

    冯若航design设计产品PostgreSQL可观测性

    Featured Image for 我们最终没有做的 PostgreSQL 可观测性产品

    我们最初考虑做一个本地 PostgreSQL 事故工作台:读取结构化日志,重建会话时间线,提供交互过滤与终端界面,后续再作为 Agent 运行。 状态: 已于 2026-08-24 被 PostgreSQL 日志指标方案取代。 决策日期: 2026-08-13 开始研究;2026-08-24 调整范围。 最后核验: 2026-10-13。 范围: 独立 PostgreSQL 事故工作台与 Agent 提案。 交付进度: 止于提案,未实现、发布或部署。 眼前需求更小:从 PostgreSQL 日志 …

    我们最初考虑做一个本地 PostgreSQL 事故工作台:读取结构化日志,重建会话时间线,提供交互过滤与终端界面,后续再作为 Agent 运行。 状态: 已于 2026-08-24 被 PostgreSQL 日志指标方案取代。 决策日期: 2026-08-13 开始研究;2026-08-24 调整范围。 最后核验: 2026-10-13。 范围: 独立 PostgreSQL 事故工作台与 Agent 提案。 交付进度: 止于提案,未实现、发布或部署。 眼前需求更小:从 PostgreSQL 日志 …

  • 一个端点,多种来源:Composite Exporter 契约

    冯若航 发布于 设计 1704 字 4 分钟

    冯若航design设计架构PrometheusPgBouncerPatroni

    Featured Image for 一个端点,多种来源:Composite Exporter 契约

    Composite 模式把 PostgreSQL、PgBouncer、Patroni、pgBackRest 和 PostgreSQL 日志指标合并到同一个 /metrics 端点,减少数据库节点上的进程和抓取目标。PostgreSQL 是主数据源;各可选来源独立报告故障和健康状态。 状态: 已实现,未发布。 决策日期: 2026-08-11;2026-08-23 与 2026-08-24 增加缓存组件。 最后核验: 2026-10-13。 范围: 源码提交 c0ba58a 的 Composite …

    Composite 模式把 PostgreSQL、PgBouncer、Patroni、pgBackRest 和 PostgreSQL 日志指标合并到同一个 /metrics 端点,减少数据库节点上的进程和抓取目标。PostgreSQL 是主数据源;各可选来源独立报告故障和健康状态。 状态: 已实现,未发布。 决策日期: 2026-08-11;2026-08-23 与 2026-08-24 增加缓存组件。 最后核验: 2026-10-13。 范围: 源码提交 c0ba58a 的 Composite …

  • 快照直方图是 Gauge,不是 Counter

    冯若航 发布于 设计 1379 字 3 分钟

    冯若航design设计HistogramPrometheusPostgreSQL

    Featured Image for 快照直方图是 Gauge,不是 Counter

    一个标量指标无法描述变化中的总体分布。一个 30 分钟事务与一百个 18 秒事务的总年龄相同,但数量、最大年龄和运维影响不同。 状态: 已随 v1.4.0 发布。 决策日期: 2026-07-11;2026-07-17 修订。 最后核验: 2026-10-13。 范围: 稳定版 v1.4.1 的 HISTOGRAM 列与 pg_xact_age 采集器,并对照开发提交 c0ba58a 核验。 交付进度: 已实现、合并、打标签并发布软件包。针对性本地测试已通过;部署与生产运行未核验。 PG …

    一个标量指标无法描述变化中的总体分布。一个 30 分钟事务与一百个 18 秒事务的总年龄相同,但数量、最大年龄和运维影响不同。 状态: 已随 v1.4.0 发布。 决策日期: 2026-07-11;2026-07-17 修订。 最后核验: 2026-10-13。 范围: 稳定版 v1.4.1 的 HISTOGRAM 列与 pg_xact_age 采集器,并对照开发提交 c0ba58a 核验。 交付进度: 已实现、合并、打标签并发布软件包。针对性本地测试已通过;部署与生产运行未核验。 PG …