文档 版本 GitHub English

声明式 PostgreSQL 指标导出器

pg_exporter

PostgreSQL 可观测性,写成 SQL。声明式采集器 · 动态规划 · Prometheus 原生指标

一份二进制、一组 YAML 与 SQL,即可覆盖 PostgreSQL 10–19+ 和 PgBouncer 1.8–1.25+;按实例版本、角色与扩展自动选择查询分支。

$ PG_EXPORTER_URL='postgres://monitor@localhost/postgres' pg_exporter

CURRENT SURFACE

默认即用,也能精确改写

QUICK START

连接、启动、抓取

先按平台安装 v1.4.1,再用三个动作验证从数据库到 Prometheus 文本端点的完整路径。

sudo apt install -y pg-exporter
PG_EXPORTER_URL='postgres://monitor@localhost/postgres' pg_exporter
curl -fsS localhost:9630/metrics

WHY PG EXPORTER

让 SQL 成为可观测性接口

采集逻辑在配置中表达;运行时负责发现、规划、缓存、超时与 Prometheus 编码。

DECLARATIVE

YAML + SQL

  • 不改 Go 代码即可增加或调整指标
  • 显式定义 GAUGE、COUNTER、HISTOGRAM 与 LABEL
  • 用 TTL 与超时控制成本

DYNAMIC PLAN

按目标选择分支

  • 匹配版本、主备角色、数据库与用户
  • 检查扩展、模式与自定义谓词
  • /explain 解释每个规划结论

OPERATING MODEL

从连接到时序,边界清楚

01 · PLAN

发现目标,生成执行计划

  • 建立 PostgreSQL 或 PgBouncer 连接
  • 读取版本、角色、扩展、模式等事实
  • 为每个采集器选择一个兼容分支

02 · COLLECT

并发执行,统一编码

  • 默认配置覆盖实例、复制、WAL、I/O、锁与对象统计
  • 非致命采集器失败不会抹掉其他成功结果
  • 导出器自身指标与业务指标分层暴露