PIGSTY

PG Exporter

pg_exporter 指标收集器发布说明

Prometheus 提供的高级 PostgreSQLpgBouncer 指标 exporter

PG Exporter 通过声明式配置动态规划可定制收集器为您的 PostgreSQL 带来终极监控体验。 它提供 600+ 指标和每个实例约 3K 时间序列,涵盖 PostgreSQL 可观测性所需的一切。 查看 GitHub 仓库 了解更多详情。

pg_exporter 的最新稳定版本是 v1.0.1

版本日期摘要GitHub
v1.0.12023-07-17DockerHub 镜像,Go 1.24.5,禁用 pg_tsdb_hypertablev1.0.1
v1.0.02023-05-06PostgreSQL 18 支持,新的 WAL/checkpointer/I/O 指标v1.0.0
v0.9.02023-04-26TimescaleDB、Citus、pg_wait_sampling 收集器v0.9.0
v0.8.12024-02-14依赖项更新,docker 镜像标签v0.8.1
v0.8.02024-02-14PgBouncer 1.24 支持,Go 1.24,日志重构v0.8.0
v0.7.12022-08-13常规更新,配置作为 Reader 支持v0.7.1
v0.7.02022-08-13PostgreSQL 17 支持,谓词查询功能v0.7.0
v0.6.02022-10-18PostgreSQL 16 支持,ARM64 包,安全修复v0.6.0
v0.5.02022-04-27RPM/DEB 构建,列缩放,指标增强v0.5.0
v0.4.12022-03-08收集器更新,connect-timeout 参数v0.4.1
v0.4.02021-07-12PostgreSQL 14 支持,自动发现功能v0.4.0
v0.3.22021-02-01Shadow DSN 修复,文档更新v0.3.2
v0.3.12020-12-04旧版 PostgreSQL 版本的配置修复v0.3.1
v0.3.02020-10-29PostgreSQL 13 支持,REST API,虚拟服务器v0.3.0
v0.2.02020-03-21YUM 包,配置重载支持v0.2.0
v0.1.22020-02-20动态配置重载,批量模式v0.1.2
v0.1.12020-01-10启动挂起错误修复v0.1.1
v0.1.02020-01-08初始稳定版本v0.1.0
v0.0.42019-12-20生产测试版本v0.0.4
v0.0.32019-12-14生产环境测试v0.0.3
v0.0.22019-12-09早期测试版本v0.0.2
v0.0.12019-12-06带有 PgBouncer 模式的初始版本v0.0.1

1.0.1

  • 添加 dockerhub 镜像:pgsty/pg_exporter
  • 将 go 依赖项升级到最新版本,使用 go 1.24.5 构建
  • 默认禁用 pg_tsdb_hypertable 收集器,因为 timescaledb 目录已更改。

校验和

d5e2d6a656eef0ae1b29cd49695f9773  pg_exporter-1.0.1-1.aarch64.rpm
cb01bb78d7b216a235363e9342803cb3  pg_exporter-1.0.1-1.x86_64.rpm
67093a756b04845f69ad333b6d458e81  pg_exporter-v1.0.1.darwin-amd64.tar.gz
2d3fdc10045d1cf494b9c1ee7f94f127  pg_exporter-v1.0.1.darwin-arm64.tar.gz
e242314461becfa99c3978ae72838ab0  pg_exporter-v1.0.1.linux-amd64.tar.gz
63de91da9ef711a53718bc60b89c82a6  pg_exporter-v1.0.1.linux-arm64.tar.gz
718f6afc004089f12c1ca6553f9b9ba5  pg-exporter_1.0.1_amd64.deb
57da7a8005cdf91ba8c1fb348e0d7367  pg-exporter_1.0.1_arm64.deb

https://github.com/pgsty/pg_exporter/releases/tag/v1.0.1


1.0.0

添加 PostgreSQL 18 指标支持

  • 新收集器分支 pg_wal_18
  • 移除 writesyncwrite_timesync_time 指标
  • 移动到 pg_stat_io
  • 新收集器分支 pg_checkpointer_18
  • 新指标 num_done
  • 新指标 slru_written
  • 新收集器分支 pg_db_18
  • 新指标 parallel_workers_to_launch
  • 新指标 parallel_workers_launched
  • 新收集器分支 pg_table_18
  • table_parallel_workers_to_launch
  • table_parallel_workers_launched
  • 新收集器分支 pg_io_18
  • 关于 WAL 统计的新系列
  • 新指标 read_bytes
  • 新指标 write_bytes
  • 新指标 extend_bytes
  • 由于固定值移除 op_bytes
  • 新收集器分支 pg_vacuuming_18
  • 新指标 delay_time
8637bc1a05b93eedfbfd3816cca468dd  pg_exporter-1.0.0-1.aarch64.rpm
a28c4c0dcdd3bf412268a2dbff79f5b9  pg_exporter-1.0.0-1.x86_64.rpm
229129209b8e6bc356c28043c7c22359  pg_exporter-v1.0.0.darwin-amd64.tar.gz
d941c2c28301269e62a8853c93facf12  pg_exporter-v1.0.0.darwin-arm64.tar.gz
5bbb94db46cacca4075d4c341c54db37  pg_exporter-v1.0.0.linux-amd64.tar.gz
da9ad428a50546a507a542d808f1c0fa  pg_exporter-v1.0.0.linux-arm64.tar.gz
0fa2395d9d7a43ab87e5c87e5b06ffcc  pg-exporter_1.0.0_amd64.deb
fed56f8a37e30cc59e85f03c81fce3f5  pg-exporter_1.0.0_arm64.deb

https://github.com/pgsty/pg_exporter/releases/tag/v1.0.0


0.9.0

默认收集器

  • timescaledb hypertable 新增指标收集器
  • citus 分布节点新增指标收集器
  • pg_wait_sampling 等待事件配置文件新增指标收集器
  • pg_slot 全面改进:添加 16/17 pg_replication_slot 指标
  • 允许 pg_slot 收集器在副本上运行(自 16/17)
  • 重构 pg_wait 收集器以聚合所有进程
  • 限制 pg_clustering、pg_indexing、pg_vacuuming 在主节点上运行
  • 将所有 reset_time 标记为 GAUGE 而不是 COUNTER
  • 修复 pg_recovery_prefetch_skip_fpw 类型从 GAUGECOUNTER
  • 修复 pg_recv.state 类型从 LABELGAUGE
  • 以紧凑模式格式化收集器
  • 新的默认指标 pg_exporter_build_info / pgbouncer_exporter_build_info
  • pg_meta 收集器添加 server_encoding
  • pg_setting 收集器添加 12 个新设置指标
  • wal_block_size
  • segment_size
  • wal_segment_size
  • wal_level
  • wal_log_hints
  • work_mem
  • hugepage_count
  • hugepage_status
  • max_wal_size
  • min_wal_size
  • max_slot_wal_keep_size

Exporter 代码库

  • 使用最小 pg 版本后缀规范化收集器分支名称
  • 向二进制包添加许可证文件
  • pgsty/pg_exporter 仓库移动到 pgsty/pg_exporter
  • 重构 server.go 以减少 CompatiblePostgresPrecheck 复杂性
  • 使用额外的数字前缀重命名指标收集器以更好地排序
  • 将依赖项升级到最新版本
  • 在所有非致命收集器之前执行致命收集器,并快速失败

https://github.com/pgsty/pg_exporter/releases/tag/v0.9.0


0.8.1

https://github.com/pgsty/pg_exporter/releases/tag/v0.8.1


0.8.0

https://github.com/pgsty/pg_exporter/releases/tag/v0.8.0


0.7.1

使用 dependabot 进行常规更新

https://github.com/pgsty/pg_exporter/releases/tag/v0.7.1


0.7.0

为最新的 go 版本重构代码库。

https://github.com/pgsty/pg_exporter/releases/tag/v0.7.0


0.6.0

https://github.com/pgsty/pg_exporter/releases/tag/v0.6.0


0.5.0

Exporter 增强

  • 使用 nfpm 构建 rpm 和 deb
  • 添加 column.default,当指标值为 NULL 时替换
  • 添加 column.scale,当指标值为 float/int 时乘以缩放因子(例如 µs 到秒)
  • 修复 /stat 端点输出
  • 添加 docker 容器 pgsty/pg_exporter

指标收集器

  • 将 bgwriter 和 pg_wal 时间单位缩放为秒
  • 移除 pg_class 收集器并将其移动到 pg_table 和 pg_inex
  • 向 pg_table 添加 pg_class 指标
  • 向 pg_index 添加 pg_class 指标
  • 默认启用 pg_table_size
  • 将 pg_query pg_db pg_bgwriter pg_ssl pgbouncer_stat 时间指标缩放为秒

https://github.com/pgsty/pg_exporter/releases/tag/v0.5.0


0.4.1

  • 更新默认收集器
    • 在对象监控中省略 citus 和 timescaledb 模式
    • 避免重复的 pg_statio 元组
    • 支持 pgbouncer v1.16
    • 错误修复:pg_repl 收集器在 pg 12 上重叠
  • 新参数:-T connect-timeout PG_EXPORTER_CONNECT_TIMEOUT 这在监控远程 Postgres 实例时很有用。
  • 现在在 rpm 包中 pg_exporter.yaml 重命名为 pg_exporter.yml

https://github.com/pgsty/pg_exporter/releases/tag/v0.4.1


0.4.0

  • 添加 PG 14 支持
  • 默认指标配置全面改进。(但您仍然可以使用旧配置)
  • 添加 auto-discoveryinclude-databaseexclude-database 选项
  • 添加多数据库监控实现(使用 auto-discovery = on

https://github.com/pgsty/pg_exporter/releases/tag/v0.4.0


0.3.2

  • 修复 shadow DSN 边界情况
  • 修复拼写错误和文档

https://github.com/pgsty/pg_exporter/releases/tag/v0.3.2


0.3.1

修复默认配置问题(特别是对于低于 13 的版本)

  • 设置 primary_conninfo 直到 PG13 才存在
  • pg_func 收集器添加 funcid 标签以避免函数名重复标签
  • 将版本字符串修复为 pg_exporter

https://github.com/pgsty/pg_exporter/releases/tag/v0.3.1


0.3.0

https://github.com/pgsty/pg_exporter/releases/tag/v0.3.0

  • 更改默认配置,支持 PostgreSQL 13 新指标(pg_slrupg_shmempg_query13pg_backup 等...)
  • 添加一系列新的 REST API 用于健康/恢复状态检查
  • 添加一个虚拟服务器,提供假的 pg_up 0 指标,在 PgExporter 初始化之前提供服务。
  • 如果未给出 sslmode,则向 URL 添加 sslmode=disable
  • 修复拼写错误和错误

0.2.0

  • 添加 yum 包和 linux 服务定义
  • 向查询配置添加 'skip' 标志
  • 修复 pgbouncer_up 指标
  • 添加配置重载支持

https://github.com/pgsty/pg_exporter/releases/tag/v0.2.0


0.1.2

  • 修复 pgbouncer_up 指标
  • 添加动态配置重载
  • 移除 'shard' 相关逻辑
  • 向默认设置添加 'bulky' 模式

https://github.com/pgsty/pg_exporter/releases/tag/v0.1.2


0.1.1

修复 pg_exporter 在启动期间如果任何查询失败会挂起的错误。

https://github.com/pgsty/pg_exporter/releases/tag/v0.1.1


0.1.0

它工作,看起来不错。

https://github.com/pgsty/pg_exporter/releases/tag/v0.1.0


0.0.4

在真实的生产环境中测试了约 2 周,有 200+ 个节点。看起来不错!

https://github.com/pgsty/pg_exporter/releases/tag/v0.0.4


0.0.3

v0.0.3 发布,在生产环境中测试

此版本已在生产环境中测试。

这个项目仍在快速发展中,我想说如果您想在生产中使用它,请谨慎尝试。

https://github.com/pgsty/pg_exporter/releases/tag/v0.0.3


0.0.2

现在可以尝试了

https://github.com/pgsty/pg_exporter/releases/tag/v0.0.2


0.0.1

添加 pgbouncer 模式

https://github.com/pgsty/pg_exporter/releases/tag/v0.0.1