PG Exporter v1.5.0
升级 Go 1.27.3 与安全依赖,修正复制身份、连接 URL 和运行状态一致性
目标身份与一致的健康检查响应
已随 v1.5.0 发布:安全校验连接串,保持数据库身份准确,并让健康检查返回一致的状态。
复制采集器的身份、状态与权限修正
订阅身份、接收器状态、复制源权限和关系计数的最小修正
把 PostgreSQL CSV 日志转成持久指标
读取完整 CSV 记录,持久化游标与聚合值,发布有界 PostgreSQL 日志指标
把 pgBackRest 指标移出抓取路径
在有界后台任务中执行 pgBackRest,并提供最后一份有效指标快照
我们最终没有做的 PostgreSQL 可观测性产品
为什么独立事故工作台最终变为 PG Exporter 内的 CSV 日志采集器
一个端点,多种来源:Composite Exporter 契约
通过固定所有权和独立故障处理,合并 PostgreSQL 与可选来源的指标
PG Exporter v1.4.1
修复逻辑订阅计数与标签列校验,统一 RPM 包名
PG Exporter v1.4.0
快照直方图支持,新增 pg_xact_age 采集器,HTTP 路由加固
快照直方图是 Gauge,不是 Counter
为什么 SQL 快照分布将桶、计数与总和输出为 Gauge 序列
PG Exporter v1.3.0
PostgreSQL 19 支持,新增 PG19 采集器与分支
PG Exporter v1.2.2
例行更新到 Go 1.26.2,无功能改动
PG Exporter v1.2.1
配置样式统一,Go 1.26.1 更新
PG Exporter v1.2.0
热重载与非阻塞启动,新增 PG9.1-9.6 legacy 支持
PG Exporter v1.1.2
修复 pg_timeline 配置问题并更新 Go 依赖
PG Exporter v1.1.1
新增 pg_timeline 采集器,pg_sub_16 分支,Bug 修复
在 Pigsty 中采用 Victoria 可观测性组件
记录 2025 年 12 月 Pigsty v4 测试版引入 VictoriaMetrics、VictoriaLogs 与 VictoriaTraces 的原因、测试结果和部署方式。
PG Exporter v1.1.0
更新默认指标采集器,升级到 Go 1.25.5
PG Exporter v1.0.3
例行更新到 1.25.4,修复不支持的 libpq 环境变量
PG Exporter v1.0.2
使用 GoReleaser 构建更多操作系统架构
PG Exporter v1.0.1
Docker Hub 镜像,Go 1.24.5,禁用 pg_tsdb_hypertable
PG Exporter v1.0.0
PostgreSQL 18 支持,新增 WAL/检查点/I/O 指标
PG Exporter v0.9.0
TimescaleDB、Citus、pg_wait_sampling 采集器
PG Exporter v0.8.1
依赖更新,Docker 镜像标签
PG Exporter v0.8.0
PgBouncer 1.24 支持,Go 1.24,日志重构
PG Exporter v0.7.1
例行更新,支持 Reader 配置
PG Exporter v0.7.0
PostgreSQL 17 支持,谓词查询功能
暂停代码提交的一周:PGCon.Dev 2024 参会记
大会议程与主题分享,酒吧社交,自组织会议,PG仓库是如何维护的,社区参与度,一些中国特色问题。
PG Exporter v0.6.1
依赖安全更新与连接超时修复
PostgreSQL 宏观查询优化之 pg_stat_statements
查询优化是 DBA 的核心工作内容之一,本文介绍了如何使用 pg_stat_statements 提供的指标,针对 PostgreSQL 进行宏观查询优化。
PG Exporter v0.6.0
PostgreSQL 16 支持,ARM64 包,安全修复
使用 Pigsty 监控现有 PostgreSQL:RDS、PolarDB 与自建数据库
在 ECS 上部署 Pigsty,并接入已有 PostgreSQL 数据库,以阿里云 PolarDB 与 RDS for PostgreSQL 为例。
PG Exporter v0.5.0
RPM/DEB 构建,列缩放,指标增强
PG Exporter v0.4.1
采集器更新,connect-timeout 参数
PG Exporter v0.4.0
PostgreSQL 14 支持,自动发现功能
PostgreSQL 慢查询诊断方法
通过查询统计、日志与监控定位慢查询,验证原因并检查优化结果。
PG Exporter v0.3.2
Shadow DSN 修复,文档更新
Pigsty 首次发布
介绍 Pigsty 首次发布时的 PostgreSQL 监控系统、高可用集群供给方案与本地演示环境。
PG Exporter v0.3.1
旧版 PostgreSQL 配置修复
黄金监控指标:错误延迟吞吐饱和
了解 PostgreSQL 的黄金监控指标:错误、延迟、吞吐和饱和度。
PG Exporter v0.3.0
PostgreSQL 13 支持,REST API,虚拟服务器
Pigsty PostgreSQL 监控系统介绍
介绍我开发的 PostgreSQL 监控系统,包括整体架构、监控层次、实例与集群面板,以及慢查询分析。
PostgreSQL的KPI
PG Load 将每秒累积的事务耗时按选定的并发数归一化。本文推导这一指标,并用案例说明如何将它用于告警与容量评估。
PG Exporter v0.2.0
YUM 包,配置重载支持
PG Exporter v0.1.2
动态配置重载,批量模式
PG Exporter v0.1.1
启动挂起 Bug 修复
PG Exporter v0.1.0
首个稳定版本
PG Exporter v0.0.5
新增超时、致命采集器与优先级语义,修复 pg_up 并补齐采集器文档
PG Exporter v0.0.4
生产环境测试版本
PG Exporter v0.0.3
生产环境测试
PG Exporter v0.0.2
早期测试版本
PG Exporter v0.0.1
初始版本,支持 PgBouncer 模式
PostgreSQL 监控系统概览
介绍 PostgreSQL 监控系统的面板、架构、主要指标,以及这些指标的来源与用途。
关系膨胀的监控与治理
用统计信息估算 PostgreSQL 表与索引的膨胀,再用 VACUUM FULL 或 pg_repack 回收空间。
监控 PostgreSQL 表大小
统计 PostgreSQL 表的存储空间,包括索引、TOAST 和关系的各个分支。
PostgreSQL 服务器日志配置
CSV 日志可以导入 PostgreSQL 表,也可以通过 file_fdw 直接查询。
PG Exporter v1.5.0
升级 Go 1.27.3 与安全依赖,修正复制身份、连接 URL 和运行状态一致性
目标身份与一致的健康检查响应
已随 v1.5.0 发布:安全校验连接串,保持数据库身份准确,并让健康检查返回一致的状态。
复制采集器的身份、状态与权限修正
订阅身份、接收器状态、复制源权限和关系计数的最小修正
把 PostgreSQL CSV 日志转成持久指标
读取完整 CSV 记录,持久化游标与聚合值,发布有界 PostgreSQL 日志指标
把 pgBackRest 指标移出抓取路径
在有界后台任务中执行 pgBackRest,并提供最后一份有效指标快照
我们最终没有做的 PostgreSQL 可观测性产品
为什么独立事故工作台最终变为 PG Exporter 内的 CSV 日志采集器
一个端点,多种来源:Composite Exporter 契约
通过固定所有权和独立故障处理,合并 PostgreSQL 与可选来源的指标
PG Exporter v1.4.1
修复逻辑订阅计数与标签列校验,统一 RPM 包名
PG Exporter v1.4.0
快照直方图支持,新增 pg_xact_age 采集器,HTTP 路由加固
快照直方图是 Gauge,不是 Counter
为什么 SQL 快照分布将桶、计数与总和输出为 Gauge 序列
PG Exporter v1.3.0
PostgreSQL 19 支持,新增 PG19 采集器与分支
PG Exporter v1.2.2
例行更新到 Go 1.26.2,无功能改动
PG Exporter v1.2.1
配置样式统一,Go 1.26.1 更新
PG Exporter v1.2.0
热重载与非阻塞启动,新增 PG9.1-9.6 legacy 支持
PG Exporter v1.1.2
修复 pg_timeline 配置问题并更新 Go 依赖
PG Exporter v1.1.1
新增 pg_timeline 采集器,pg_sub_16 分支,Bug 修复
在 Pigsty 中采用 Victoria 可观测性组件
记录 2025 年 12 月 Pigsty v4 测试版引入 VictoriaMetrics、VictoriaLogs 与 VictoriaTraces 的原因、测试结果和部署方式。
PG Exporter v1.1.0
更新默认指标采集器,升级到 Go 1.25.5
PG Exporter v1.0.3
例行更新到 1.25.4,修复不支持的 libpq 环境变量
PG Exporter v1.0.2
使用 GoReleaser 构建更多操作系统架构
PG Exporter v1.0.1
Docker Hub 镜像,Go 1.24.5,禁用 pg_tsdb_hypertable
PG Exporter v1.0.0
PostgreSQL 18 支持,新增 WAL/检查点/I/O 指标
PG Exporter v0.9.0
TimescaleDB、Citus、pg_wait_sampling 采集器
PG Exporter v0.8.1
依赖更新,Docker 镜像标签
PG Exporter v0.8.0
PgBouncer 1.24 支持,Go 1.24,日志重构
PG Exporter v0.7.1
例行更新,支持 Reader 配置
PG Exporter v0.7.0
PostgreSQL 17 支持,谓词查询功能
暂停代码提交的一周:PGCon.Dev 2024 参会记
大会议程与主题分享,酒吧社交,自组织会议,PG仓库是如何维护的,社区参与度,一些中国特色问题。
PG Exporter v0.6.1
依赖安全更新与连接超时修复
PostgreSQL 宏观查询优化之 pg_stat_statements
查询优化是 DBA 的核心工作内容之一,本文介绍了如何使用 pg_stat_statements 提供的指标,针对 PostgreSQL 进行宏观查询优化。
PG Exporter v0.6.0
PostgreSQL 16 支持,ARM64 包,安全修复
使用 Pigsty 监控现有 PostgreSQL:RDS、PolarDB 与自建数据库
在 ECS 上部署 Pigsty,并接入已有 PostgreSQL 数据库,以阿里云 PolarDB 与 RDS for PostgreSQL 为例。
PG Exporter v0.5.0
RPM/DEB 构建,列缩放,指标增强
PG Exporter v0.4.1
采集器更新,connect-timeout 参数
PG Exporter v0.4.0
PostgreSQL 14 支持,自动发现功能
PostgreSQL 慢查询诊断方法
通过查询统计、日志与监控定位慢查询,验证原因并检查优化结果。
PG Exporter v0.3.2
Shadow DSN 修复,文档更新
Pigsty 首次发布
介绍 Pigsty 首次发布时的 PostgreSQL 监控系统、高可用集群供给方案与本地演示环境。
PG Exporter v0.3.1
旧版 PostgreSQL 配置修复
黄金监控指标:错误延迟吞吐饱和
了解 PostgreSQL 的黄金监控指标:错误、延迟、吞吐和饱和度。
PG Exporter v0.3.0
PostgreSQL 13 支持,REST API,虚拟服务器
Pigsty PostgreSQL 监控系统介绍
介绍我开发的 PostgreSQL 监控系统,包括整体架构、监控层次、实例与集群面板,以及慢查询分析。
PostgreSQL的KPI
PG Load 将每秒累积的事务耗时按选定的并发数归一化。本文推导这一指标,并用案例说明如何将它用于告警与容量评估。
PG Exporter v0.2.0
YUM 包,配置重载支持
PG Exporter v0.1.2
动态配置重载,批量模式
PG Exporter v0.1.1
启动挂起 Bug 修复
PG Exporter v0.1.0
首个稳定版本
PG Exporter v0.0.5
新增超时、致命采集器与优先级语义,修复 pg_up 并补齐采集器文档
PG Exporter v0.0.4
生产环境测试版本
PG Exporter v0.0.3
生产环境测试
PG Exporter v0.0.2
早期测试版本
PG Exporter v0.0.1
初始版本,支持 PgBouncer 模式
PostgreSQL 监控系统概览
介绍 PostgreSQL 监控系统的面板、架构、主要指标,以及这些指标的来源与用途。
关系膨胀的监控与治理
用统计信息估算 PostgreSQL 表与索引的膨胀,再用 VACUUM FULL 或 pg_repack 回收空间。
监控 PostgreSQL 表大小
统计 PostgreSQL 表的存储空间,包括索引、TOAST 和关系的各个分支。
PostgreSQL 服务器日志配置
CSV 日志可以导入 PostgreSQL 表,也可以通过 file_fdw 直接查询。
-
PG Exporter v1.5.0
PG Exporter v1.5.0 升级 Go 工具链与依赖,修正复制采集器的身份与状态映射,并修复目标 URL、自动发现、健康检查、采集计划、时间配置和 HTTP 路由六类运行时缺陷。 默认配置仍包含 58 个 YAML 文件、96 个采集器分支、59 个命名空间、460 个不同指标定义。指标数量跨全部版本分支去重,包含默认关闭的采集器和两个尚未展开的 SQL 直方图;它不表示每次抓取都会输出 460 条时序。 变更摘要 连接 URL 更安全: URL 语法、查询参数转义或解码后的参数名非法 …
PG Exporter v1.5.0 升级 Go 工具链与依赖,修正复制采集器的身份与状态映射,并修复目标 URL、自动发现、健康检查、采集计划、时间配置和 HTTP 路由六类运行时缺陷。 默认配置仍包含 58 个 YAML 文件、96 个采集器分支、59 个命名空间、460 个不同指标定义。指标数量跨全部版本分支去重,包含默认关闭的采集器和两个尚未展开的 SQL 直方图;它不表示每次抓取都会输出 460 条时序。 变更摘要 连接 URL 更安全: URL 语法、查询参数转义或解码后的参数名非法 …
-
目标身份与一致的健康检查响应
状态: 已随 v1.5.0 发布。 决策与最后核验日期: 2026-10-23。 范围: v1.5.0,源码 1891254(修复基线 9b378cb),涵盖连接串与数据库身份、由元数据驱动的采集器选择、HTTP 健康状态快照、YAML 时间配置及指标路由校验。 交付: 源码已提交并推送,v1.5.0 标签指向 18912540fe5edce0ed0ee81fac0d989738ecaa87;CI 与正式发布工作流通过,GitHub Release、RPM/DEB/压缩包和 Docker 镜像 …
状态: 已随 v1.5.0 发布。 决策与最后核验日期: 2026-10-23。 范围: v1.5.0,源码 1891254(修复基线 9b378cb),涵盖连接串与数据库身份、由元数据驱动的采集器选择、HTTP 健康状态快照、YAML 时间配置及指标路由校验。 交付: 源码已提交并推送,v1.5.0 标签指向 18912540fe5edce0ed0ee81fac0d989738ecaa87;CI 与正式发布工作流通过,GitHub Release、RPM/DEB/压缩包和 Docker 镜像 …
-
复制采集器的身份、状态与权限修正
状态: 已随 v1.5.0 发布。 决策日期 / 最近核验: 2026-10-22 / 2026-10-23。 范围: pg_exporter main 提交 d97ba38fc8390984df994b2f9ea58b43ecfc8b89 中的 Collector 修正,基于 72f00a4fa4e6eb7524174f2122b3fe1e1d608db4;PostgreSQL REL_19_RC1 对应 0b8bff042a997fe50fcd1c4c83b9ef1cc9ed8a89,另作 …
状态: 已随 v1.5.0 发布。 决策日期 / 最近核验: 2026-10-22 / 2026-10-23。 范围: pg_exporter main 提交 d97ba38fc8390984df994b2f9ea58b43ecfc8b89 中的 Collector 修正,基于 72f00a4fa4e6eb7524174f2122b3fe1e1d608db4;PostgreSQL REL_19_RC1 对应 0b8bff042a997fe50fcd1c4c83b9ef1cc9ed8a89,另作 …
-
把 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 指标移出抓取路径
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 可观测性产品
我们最初考虑做一个本地 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 契约
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 …
-
PG Exporter v1.4.1
v1.4.1 是一次聚焦监控准确性与 RPM 升级兼容性的维护版本。 变更摘要 修复 pg_subrel_count 在并行逻辑复制工作进程场景下重复计数的问题:先按订阅 ID 与名称去重 pg_stat_subscription,再汇总各订阅关系状态 查询结果缺少配置声明的 LABEL 列时,该采集器本轮采集会整体失败,不再生成空标签或沿用旧结果;其他非致命采集器仍会继续工作 官方 RPM 包名及产物文件名前缀由 pg_exporter 统一为 pg-exporter;新包声明兼容并替换旧包名 …
v1.4.1 是一次聚焦监控准确性与 RPM 升级兼容性的维护版本。 变更摘要 修复 pg_subrel_count 在并行逻辑复制工作进程场景下重复计数的问题:先按订阅 ID 与名称去重 pg_stat_subscription,再汇总各订阅关系状态 查询结果缺少配置声明的 LABEL 列时,该采集器本轮采集会整体失败,不再生成空标签或沿用旧结果;其他非致命采集器仍会继续工作 官方 RPM 包名及产物文件名前缀由 pg_exporter 统一为 pg-exporter;新包声明兼容并替换旧包名 …
-
PG Exporter v1.4.0
v1.4.0 引入快照直方图(Snapshot Histogram)指标类型与新的 pg_xact_age 事务年龄采集器,并对 HTTP 路由、打包与构建链进行了一轮系统性加固。 新功能 新增 HISTOGRAM 列类型:SQL 观测按标签分组为快照分布,派生的 _bucket、_count 和 _sum 三个指标族均为 Gauge。桶边界必须有限且严格递增,自动追加 +Inf。le 为保留标签,重载时替换桶布局 新增 pg_xact_age 采集器:以直方图暴露开放事务年龄 …
v1.4.0 引入快照直方图(Snapshot Histogram)指标类型与新的 pg_xact_age 事务年龄采集器,并对 HTTP 路由、打包与构建链进行了一轮系统性加固。 新功能 新增 HISTOGRAM 列类型:SQL 观测按标签分组为快照分布,派生的 _bucket、_count 和 _sum 三个指标族均为 Gauge。桶边界必须有限且严格递增,自动追加 +Inf。le 为保留标签,重载时替换桶布局 新增 pg_xact_age 采集器:以直方图暴露开放事务年龄 …
-
快照直方图是 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 …
-
PG Exporter v1.3.0
v1.3.0 提供对 PostgreSQL 19 新指标的支持,同时刷新默认采集器包、构建链和配置覆盖测试。 变更摘要 默认支持范围从 PostgreSQL 10-18+ 扩展到 10-19+ 默认配置包包含 57 个 config/*.yml 定义文件 构建依赖更新到 Go 1.26.4、lib/pq v1.12.3、Prometheus client v1.23.2、exporter-toolkit v0.16.0。 pg_recovery_state:在恢复节点上采集 …
v1.3.0 提供对 PostgreSQL 19 新指标的支持,同时刷新默认采集器包、构建链和配置覆盖测试。 变更摘要 默认支持范围从 PostgreSQL 10-18+ 扩展到 10-19+ 默认配置包包含 57 个 config/*.yml 定义文件 构建依赖更新到 Go 1.26.4、lib/pq v1.12.3、Prometheus client v1.23.2、exporter-toolkit v0.16.0。 pg_recovery_state:在恢复节点上采集 …
-
PG Exporter v1.2.2
v1.2.2 将发布构建使用的 Go 更新到 1.26.2。Exporter 功能与配置不变。 校验和 SHA256 校验和 273dfd45ac367f71044998d19171ee27d7deb094ec9410d4b31aef7caacfdcc6 pg-exporter_1.2.2-1_amd64.deb 5e83c8448ee6350bec96ab95550df439a129c6700e5c9c7d0f9411aa9c2e7f40 …
v1.2.2 将发布构建使用的 Go 更新到 1.26.2。Exporter 功能与配置不变。 校验和 SHA256 校验和 273dfd45ac367f71044998d19171ee27d7deb094ec9410d4b31aef7caacfdcc6 pg-exporter_1.2.2-1_amd64.deb 5e83c8448ee6350bec96ab95550df439a129c6700e5c9c7d0f9411aa9c2e7f40 …
-
PG Exporter v1.2.1
v1.2.1 更新构建工具,统一配置格式,并增加配置一致性测试。采集器行为不变。 变更摘要 刷新构建链:发布流程与 Docker 构建基础镜像升级到 Go 1.26.1 统一配置样式:将当前配置与 Legacy 配置中的内联 description 统一改为双引号写法,并重新生成合并后的 pg_exporter.yml / legacy/pg_exporter.yml 增加配置一致性测试:新增 split/merged config 等价性校验,以及内联指标描述风格检查,减少配置漂移风险 刷新打 …
v1.2.1 更新构建工具,统一配置格式,并增加配置一致性测试。采集器行为不变。 变更摘要 刷新构建链:发布流程与 Docker 构建基础镜像升级到 Go 1.26.1 统一配置样式:将当前配置与 Legacy 配置中的内联 description 统一改为双引号写法,并重新生成合并后的 pg_exporter.yml / legacy/pg_exporter.yml 增加配置一致性测试:新增 split/merged config 等价性校验,以及内联指标描述风格检查,减少配置漂移风险 刷新打 …
-
PG Exporter v1.2.0
v1.2.0 更新启动流程、热重载、健康检查和配置校验,并新增 PostgreSQL 9.1–9.6 配置套件。 新功能 支持配置热重载:新增平台相关的信号重载(SIGHUP / SIGUSR1),并强化 POST /reload 工作流,可在不重启进程情况下更新配置与查询计划 启动流程改为非阻塞:即使目标库预检失败,也会先启动 HTTP 服务,便于监控系统先接入后恢复 新增 PostgreSQL 9.1-9.6 Legacy 配置套件:提供 legacy/ 配置目录与 make conf9 目 …
v1.2.0 更新启动流程、热重载、健康检查和配置校验,并新增 PostgreSQL 9.1–9.6 配置套件。 新功能 支持配置热重载:新增平台相关的信号重载(SIGHUP / SIGUSR1),并强化 POST /reload 工作流,可在不重启进程情况下更新配置与查询计划 启动流程改为非阻塞:即使目标库预检失败,也会先启动 HTTP 服务,便于监控系统先接入后恢复 新增 PostgreSQL 9.1-9.6 Legacy 配置套件:提供 legacy/ 配置目录与 make conf9 目 …
-
PG Exporter v1.1.2
修复 pg_timeline 配置问题,并更新 Go 依赖。 校验和 SHA256 校验和 8cddd57a843914a3145a80a3220bc875047b9bcac0664357c01ba86485436236 pg-exporter_1.1.2-1_amd64.deb f5b25a8ae5c022867a54c17ba1c6493eba20dcb292340460390289336df24f04 pg-exporter_1.1.2-1_arm64.deb …
修复 pg_timeline 配置问题,并更新 Go 依赖。 校验和 SHA256 校验和 8cddd57a843914a3145a80a3220bc875047b9bcac0664357c01ba86485436236 pg-exporter_1.1.2-1_amd64.deb f5b25a8ae5c022867a54c17ba1c6493eba20dcb292340460390289336df24f04 pg-exporter_1.1.2-1_arm64.deb …
-
PG Exporter v1.1.1
小版本更新,新增采集器和 Bug 修复。 新功能 新增 pg_timeline 采集器,用于时间线监控 新增 pg_sub_16 采集器分支,排除订阅中的并行操作(PostgreSQL 16+ 兼容性) Bug 修复 修复:为 pg_recv 采集器的 slotname 添加 coalesce 以处理 NULL 值 校验和 SHA256 校验和 fd5ee96511676fc11b975115a4870ed0c811056519f79ad7f24ab7ec538fa278 …
小版本更新,新增采集器和 Bug 修复。 新功能 新增 pg_timeline 采集器,用于时间线监控 新增 pg_sub_16 采集器分支,排除订阅中的并行操作(PostgreSQL 16+ 兼容性) Bug 修复 修复:为 pg_recv 采集器的 slotname 添加 coalesce 以处理 NULL 值 校验和 SHA256 校验和 fd5ee96511676fc11b975115a4870ed0c811056519f79ad7f24ab7ec538fa278 …
-
在 Pigsty 中采用 Victoria 可观测性组件
本文记录 2025 年 12 月的 Pigsty v4 测试版。 准备 Pigsty v4.0 时,我将默认的 Prometheus 和 Loki 服务替换为 VictoriaMetrics 与 VictoriaLogs,并加入 VictoriaTraces。目标是降低存储与内存消耗,改善仪表盘和日志查询的响应时间。 之前的使用经验 在探探时,我们用十二台 64 核、256 GB 内存的 Prometheus 节点监控约五千万个时间序列。我的测试中,三节点 VictoriaMetrics 集群可 …
本文记录 2025 年 12 月的 Pigsty v4 测试版。 准备 Pigsty v4.0 时,我将默认的 Prometheus 和 Loki 服务替换为 VictoriaMetrics 与 VictoriaLogs,并加入 VictoriaTraces。目标是降低存储与内存消耗,改善仪表盘和日志查询的响应时间。 之前的使用经验 在探探时,我们用十二台 64 核、256 GB 内存的 Prometheus 节点监控约五千万个时间序列。我的测试中,三节点 VictoriaMetrics 集群可 …
-
PG Exporter v1.1.0
更新依赖,使用 Go 1.25.5 构建。 采集器变更 pg_setting:针对 PG10-18 兼容性进行重大重构,支持 missing_ok 新增 15 个指标 …
更新依赖,使用 Go 1.25.5 构建。 采集器变更 pg_setting:针对 PG10-18 兼容性进行重大重构,支持 missing_ok 新增 15 个指标 …
-
PG Exporter v1.0.3
更新依赖,使用 Go 1.25.4 构建。 修复 #80 与 libpq 环境变量冲突 由 @kadaffy 将 auto-discovery 默认值改为 true 校验和 SHA256 校验和 7efa1a77dfd5b94813c32c7ac015b1d479b1f04fb958f6b1ed5af333e354d015 pg-exporter_1.0.3-1_amd64.deb …
更新依赖,使用 Go 1.25.4 构建。 修复 #80 与 libpq 环境变量冲突 由 @kadaffy 将 auto-discovery 默认值改为 true 校验和 SHA256 校验和 7efa1a77dfd5b94813c32c7ac015b1d479b1f04fb958f6b1ed5af333e354d015 pg-exporter_1.0.3-1_amd64.deb …
-
PG Exporter v1.0.2
更新依赖,使用 Go 1.25.0 构建。 新增 PG Exporter 独立网站。 使用 GoReleaser 通过 CI/CD 流水线发布更多操作系统/架构: 新增 Windows amd64 支持 新增 Linux ppc64le 支持 校验和 SHA256 校验和 683bf97f22173f2f2ec319a88e136939c2958a1f5ced4f4aa09a1357fc1c44c5 pg-exporter_1.0.2-1_amd64.deb …
更新依赖,使用 Go 1.25.0 构建。 新增 PG Exporter 独立网站。 使用 GoReleaser 通过 CI/CD 流水线发布更多操作系统/架构: 新增 Windows amd64 支持 新增 Linux ppc64le 支持 校验和 SHA256 校验和 683bf97f22173f2f2ec319a88e136939c2958a1f5ced4f4aa09a1357fc1c44c5 pg-exporter_1.0.2-1_amd64.deb …
-
PG Exporter v1.0.1
新增 Docker Hub 镜像: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 …
新增 Docker Hub 镜像: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 …
-
PG Exporter v1.0.0
变更 新增 PostgreSQL 18 采集器分支: 分支 变更 pg_wal_18 移除 write、sync、write_time 和 sync_time;PostgreSQL 已将这些统计移至 pg_stat_io pg_checkpointer_18 新增 num_done 和 slru_written pg_db_18 新增 parallel_workers_to_launch 和 parallel_workers_launched pg_table_18 新增 …
变更 新增 PostgreSQL 18 采集器分支: 分支 变更 pg_wal_18 移除 write、sync、write_time 和 sync_time;PostgreSQL 已将这些统计移至 pg_stat_io pg_checkpointer_18 新增 num_done 和 slru_written pg_db_18 新增 parallel_workers_to_launch 和 parallel_workers_launched pg_table_18 新增 …
-
PG Exporter v0.9.0
默认采集器 新增 timescaledb 超表指标采集器 新增 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 …
默认采集器 新增 timescaledb 超表指标采集器 新增 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 …
-
PG Exporter v0.8.1
变更 更新依赖。 升级 golang.org/x/net 从 0.35.0 到 0.36.0 #67 更新 Docker 镜像构建标签 v0.8.1 发布于 2025-03-29 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 更新依赖。 升级 golang.org/x/net 从 0.35.0 到 0.36.0 #67 更新 Docker 镜像构建标签 v0.8.1 发布于 2025-03-29 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG Exporter v0.8.0
变更 新增 PgBouncer 1.24 新指标支持(stat、pool、database) 修复:310-pg_size.yml 在日志目录设置不正确时失败 #64,由 @Süleyman Vurucu 贡献 使用最新 Go 1.24 构建并升级所有依赖 使用标准 log/slog 重构日志,替代 go-kit 完整变更日志 v0.8.0 发布于 2025-02-14 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 新增 PgBouncer 1.24 新指标支持(stat、pool、database) 修复:310-pg_size.yml 在日志目录设置不正确时失败 #64,由 @Süleyman Vurucu 贡献 使用最新 Go 1.24 构建并升级所有依赖 使用标准 log/slog 重构日志,替代 go-kit 完整变更日志 v0.8.0 发布于 2025-02-14 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG Exporter v0.7.1
变更 使用 dependabot 进行例行更新 功能:支持将配置指定为 Reader,由 @ringerc 在 #62 贡献 升级 golang.org/x/crypto 从 0.21.0 到 0.31.0,由 @dependabot 在 #63 贡献 修复一些拼写错误 完整变更日志 v0.7.1 发布于 2024-12-29 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 使用 dependabot 进行例行更新 功能:支持将配置指定为 Reader,由 @ringerc 在 #62 贡献 升级 golang.org/x/crypto 从 0.21.0 到 0.31.0,由 @dependabot 在 #63 贡献 修复一些拼写错误 完整变更日志 v0.7.1 发布于 2024-12-29 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG Exporter v0.7.0
变更 更新代码库以使用 Go 1.22.4。 PostgreSQL 17 指标支持,由 @Vonng 贡献 pg_exporter: 谓词查询功能,由 @ringerc 贡献 在 Dockerfile 中进行干净构建,由 @ringerc 贡献 pg_exporter: “bind: address already in use” 后不再 panic,由 @ringerc 贡献 pg_exporter: 修复 /stat 端点格式,由 @ringerc 贡献 pg_exporter: yaml …
变更 更新代码库以使用 Go 1.22.4。 PostgreSQL 17 指标支持,由 @Vonng 贡献 pg_exporter: 谓词查询功能,由 @ringerc 贡献 在 Dockerfile 中进行干净构建,由 @ringerc 贡献 pg_exporter: “bind: address already in use” 后不再 panic,由 @ringerc 贡献 pg_exporter: 修复 /stat 端点格式,由 @ringerc 贡献 pg_exporter: yaml …
-
暂停代码提交的一周:PGCon.Dev 2024 参会记
本文是 2024 年 6 月的参会记录,职务、软件包数量和技术提案均按当时情况叙述。 PGCon.Dev 的前身 PGCon 从 2007 年至 2023 年在加拿大渥太华举办,是 PostgreSQL 开发者讨论项目方向的年度聚会。2024 年,新的组织团队接替 Dan Langille,将会场移至温哥华的 SFU 港区活动中心。 全都来参会了,谁还在写代码? Peter Eisentraut 在会后统计发现,大会前后相邻的两次 PostgreSQL 代码提交间隔六天十二小时四十九分钟,是二十 …
本文是 2024 年 6 月的参会记录,职务、软件包数量和技术提案均按当时情况叙述。 PGCon.Dev 的前身 PGCon 从 2007 年至 2023 年在加拿大渥太华举办,是 PostgreSQL 开发者讨论项目方向的年度聚会。2024 年,新的组织团队接替 Dan Langille,将会场移至温哥华的 SFU 港区活动中心。 全都来参会了,谁还在写代码? Peter Eisentraut 在会后统计发现,大会前后相邻的两次 PostgreSQL 代码提交间隔六天十二小时四十九分钟,是二十 …
-
PG Exporter v0.6.1
变更 将 golang.org/x/net 从 v0.10.0 升级到 v0.17.0,并将 golang.org/x/crypto 升级到 v0.17.0,纳入安全修复(#38 对应 x/crypto) 修复 connect-timeout 传递问题(#37),由 @mouchar 贡献 校验和 原始 Release 为压缩包与软件包发布了 MD5 校验和: 107a67ca74b1d6e7bbe773694a48f6ab …
变更 将 golang.org/x/net 从 v0.10.0 升级到 v0.17.0,并将 golang.org/x/crypto 升级到 v0.17.0,纳入安全修复(#38 对应 x/crypto) 修复 connect-timeout 传递问题(#37),由 @mouchar 贡献 校验和 原始 Release 为压缩包与软件包发布了 MD5 校验和: 107a67ca74b1d6e7bbe773694a48f6ab …
-
PostgreSQL 宏观查询优化之 pg_stat_statements
本文记录 2023 年的监控方法,示例采用 PostgreSQL 15 的字段和当时的监控面板。 参考原文:Nikolay Samokhvalov 的 PostgreSQL HowTO: pg_stat_statements 系列(第一篇、第二篇、第三篇)。 慢查询会增加响应时间和资源消耗,也可能延长锁等待,增加连接压力。因此,查询优化是 DBA 的核心工作之一。 在查询优化这条路上,有两种不同的方法: 宏观优化:整体分析工作负载,对其进行剖分下钻,自上而下地识别并改进其中表现最糟糕的部分。 微 …
本文记录 2023 年的监控方法,示例采用 PostgreSQL 15 的字段和当时的监控面板。 参考原文:Nikolay Samokhvalov 的 PostgreSQL HowTO: pg_stat_statements 系列(第一篇、第二篇、第三篇)。 慢查询会增加响应时间和资源消耗,也可能延长锁等待,增加连接压力。因此,查询优化是 DBA 的核心工作之一。 在查询优化这条路上,有两种不同的方法: 宏观优化:整体分析工作负载,对其进行剖分下钻,自上而下地识别并改进其中表现最糟糕的部分。 微 …
-
PG Exporter v0.6.0
变更 更新依赖,修复已报告的漏洞。 新增 PostgreSQL 16 采集器,并修复 PostgreSQL 15 兼容问题(#35,@japinli)。 新增 ARM64 软件包。 移除 pg_query 查询中固定的 monitor 模式。pg_stat_statements 须通过 search_path 可见,例如安装在 public 中。 配置目录同时接受 .yml 与 .yaml 文件(#34,@japinli)。 将 PgBouncer 版本解析日志从 info 级别改为 …
变更 更新依赖,修复已报告的漏洞。 新增 PostgreSQL 16 采集器,并修复 PostgreSQL 15 兼容问题(#35,@japinli)。 新增 ARM64 软件包。 移除 pg_query 查询中固定的 monitor 模式。pg_stat_statements 须通过 search_path 可见,例如安装在 public 中。 配置目录同时接受 .yml 与 .yaml 文件(#34,@japinli)。 将 PgBouncer 版本解析日志从 info 级别改为 …
-
使用 Pigsty 监控现有 PostgreSQL:RDS、PolarDB 与自建数据库
本文记录 2023 年 9 月的 Pigsty 与阿里云使用流程,命令、价格和界面均对应当时版本。 Pigsty 是一个 PostgreSQL 发行版,也可以单独用于监控 PostgreSQL 与主机。本文以阿里云为例,在一台 ECS 上安装 Pigsty,再接入已有的 PolarDB 与 RDS for PostgreSQL。 视频教程 操作流程 教程分为四步: 创建用于部署 Pigsty 的 ECS 服务器。 在 ECS 上完整安装单机版 Pigsty。 配置 PolarDB / RDS 的 …
本文记录 2023 年 9 月的 Pigsty 与阿里云使用流程,命令、价格和界面均对应当时版本。 Pigsty 是一个 PostgreSQL 发行版,也可以单独用于监控 PostgreSQL 与主机。本文以阿里云为例,在一台 ECS 上安装 Pigsty,再接入已有的 PolarDB 与 RDS for PostgreSQL。 视频教程 操作流程 教程分为四步: 创建用于部署 Pigsty 的 ECS 服务器。 在 ECS 上完整安装单机版 Pigsty。 配置 PolarDB / RDS 的 …
-
PG Exporter v0.5.0
导出器变更 使用 nFPM 构建 RPM 和 DEB 包。 新增 column.default,用指定值替代 NULL。 新增 column.scale,用于数值缩放,例如将微秒转换为秒。 修复 /stat 输出。 新增 pgsty/pg_exporter Docker 镜像。 采集器变更 将 pg_wal、pg_query、pg_db、pg_bgwriter、pg_ssl 和 pgbouncer_stat 的时间指标统一为秒。 将 pg_class 指标移入 pg_table 与 …
导出器变更 使用 nFPM 构建 RPM 和 DEB 包。 新增 column.default,用指定值替代 NULL。 新增 column.scale,用于数值缩放,例如将微秒转换为秒。 修复 /stat 输出。 新增 pgsty/pg_exporter Docker 镜像。 采集器变更 将 pg_wal、pg_query、pg_db、pg_bgwriter、pg_ssl 和 pgbouncer_stat 的时间指标统一为秒。 将 pg_class 指标移入 pg_table 与 …
-
PG Exporter v0.4.1
变更 对象监控排除 Citus 与 TimescaleDB 内部模式。 移除重复的 pg_statio 行。 新增 PgBouncer 1.16 支持。 修复 PostgreSQL 12 上 pg_repl 采集器分支重叠的问题。 新增 -T、--connect-timeout 和 PG_EXPORTER_CONNECT_TIMEOUT,用于控制本地或远程目标的连接超时。 将 RPM 中的配置文件从 pg_exporter.yaml 改名为 pg_exporter.yml。 v0.4.1 发布于 …
变更 对象监控排除 Citus 与 TimescaleDB 内部模式。 移除重复的 pg_statio 行。 新增 PgBouncer 1.16 支持。 修复 PostgreSQL 12 上 pg_repl 采集器分支重叠的问题。 新增 -T、--connect-timeout 和 PG_EXPORTER_CONNECT_TIMEOUT,用于控制本地或远程目标的连接超时。 将 RPM 中的配置文件从 pg_exporter.yaml 改名为 pg_exporter.yml。 v0.4.1 发布于 …
-
PG Exporter v0.4.0
变更 新增 PostgreSQL 14 支持。 调整默认指标配置,继续支持旧配置文件。 新增 --auto-discovery、--include-database 和 --exclude-database。 通过自动发现支持多数据库采集。 v0.4.0 发布于 2021-07-12 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 新增 PostgreSQL 14 支持。 调整默认指标配置,继续支持旧配置文件。 新增 --auto-discovery、--include-database 和 --exclude-database。 通过自动发现支持多数据库采集。 v0.4.0 发布于 2021-07-12 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PostgreSQL 慢查询诊断方法
本文使用 2021 年 2 月的 Pigsty 沙箱与仪表盘演示。 慢查询会占用连接、持有锁,并消耗 CPU 与 I/O。在备库上,长查询还可能与 WAL 重放冲突。PostgreSQL 会根据备库参数延迟重放或取消冲突查询,具体行为见热备冲突处理。 监控可以帮助我们找到受影响的查询,并比较变更前后的表现。 本例中,查询优化将 CPU 使用率从约 40% 降至 4%。 收集查询统计与日志 pg_stat_statements 扩展汇总相似语句的调用次数、执行时间、读取或影响的行数与 I/O 统计 …
本文使用 2021 年 2 月的 Pigsty 沙箱与仪表盘演示。 慢查询会占用连接、持有锁,并消耗 CPU 与 I/O。在备库上,长查询还可能与 WAL 重放冲突。PostgreSQL 会根据备库参数延迟重放或取消冲突查询,具体行为见热备冲突处理。 监控可以帮助我们找到受影响的查询,并比较变更前后的表现。 本例中,查询优化将 CPU 使用率从约 40% 降至 4%。 收集查询统计与日志 pg_stat_statements 扩展汇总相似语句的调用次数、执行时间、读取或影响的行数与 I/O 统计 …
-
PG Exporter v0.3.2
变更 修复脱敏连接串的边界情况。 修正文档与拼写错误。 v0.3.2 发布于 2021-02-01 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 修复脱敏连接串的边界情况。 修正文档与拼写错误。 v0.3.2 发布于 2021-02-01 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
Pigsty 首次发布
本文介绍 2021 年 1 月 Pigsty 首次发布时的产品状态。 今天,我发布了 Pigsty。 官方网站:pigsty.cc Pigsty 是什么? Pigsty 用于监控大规模 PostgreSQL 集群,也提供高可用集群的自动部署方案。它基于开源组件构建,是免费的开源软件。 我希望通过统一的监控界面与部署流程,减少管理 PostgreSQL 集群所需的手工操作。 监控系统 我需要管理一个大规模 PostgreSQL 集群。在尝试一些开源与商业监控产品后,没有找到满足需求的方案,于是开始 …
本文介绍 2021 年 1 月 Pigsty 首次发布时的产品状态。 今天,我发布了 Pigsty。 官方网站:pigsty.cc Pigsty 是什么? Pigsty 用于监控大规模 PostgreSQL 集群,也提供高可用集群的自动部署方案。它基于开源组件构建,是免费的开源软件。 我希望通过统一的监控界面与部署流程,减少管理 PostgreSQL 集群所需的手工操作。 监控系统 我需要管理一个大规模 PostgreSQL 集群。在尝试一些开源与商业监控产品后,没有找到满足需求的方案,于是开始 …
-
PG Exporter v0.3.1
变更 修复默认配置错误,主要影响 PostgreSQL 13 之前的版本: 将 primary_conninfo 采集限制在支持它的采集器分支。 为 pg_func 增加 funcid 标签,区分同名函数。 将版本输出中的程序名修正为 pg_exporter。 v0.3.1 发布于 2020-12-04 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 修复默认配置错误,主要影响 PostgreSQL 13 之前的版本: 将 primary_conninfo 采集限制在支持它的采集器分支。 为 pg_func 增加 funcid 标签,区分同名函数。 将版本输出中的程序名修正为 pg_exporter。 v0.3.1 发布于 2020-12-04 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
黄金监控指标:错误延迟吞吐饱和
本文写于 2020 年,指标数量与示例对应当时的部署。 前言 玩数据库和玩车有一个共通之处,就是都需要经常看仪表盘。 仪表盘上的指标显示当前运行状态,帮助我们决定何时采取行动。 车有很多指标:车速,胎压,扭矩,刹车片磨损,各种温度,等等等等,各式各样。 但人的注意力有限,仪表盘空间也有限。 所以,指标可以分两类: 你会去看的:黄金指标 / 关键指标 / 核心指标 你不会看的:黑匣子指标 / 冷指标。 黄金指标就是那几个关键性的核心数据,需要时刻保持关注(或者让自动驾驶系统/报警系统替你时刻保持 …
本文写于 2020 年,指标数量与示例对应当时的部署。 前言 玩数据库和玩车有一个共通之处,就是都需要经常看仪表盘。 仪表盘上的指标显示当前运行状态,帮助我们决定何时采取行动。 车有很多指标:车速,胎压,扭矩,刹车片磨损,各种温度,等等等等,各式各样。 但人的注意力有限,仪表盘空间也有限。 所以,指标可以分两类: 你会去看的:黄金指标 / 关键指标 / 核心指标 你不会看的:黑匣子指标 / 冷指标。 黄金指标就是那几个关键性的核心数据,需要时刻保持关注(或者让自动驾驶系统/报警系统替你时刻保持 …
-
PG Exporter v0.3.0
变更 更新默认配置,支持 PostgreSQL 13 指标,包括 pg_slru、pg_shmem、pg_query13 和 pg_backup。 新增健康与恢复状态检查的 HTTP 端点。 在初始化完成前提供 HTTP 服务,并报告 pg_up 0。 连接 URL 未指定 sslmode 时,补充 sslmode=disable。 修复程序与拼写错误。 v0.3.0 发布于 2020-10-29 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 更新默认配置,支持 PostgreSQL 13 指标,包括 pg_slru、pg_shmem、pg_query13 和 pg_backup。 新增健康与恢复状态检查的 HTTP 端点。 在初始化完成前提供 HTTP 服务,并报告 pg_up 0。 连接 URL 未指定 sslmode 时,补充 sslmode=disable。 修复程序与拼写错误。 v0.3.0 发布于 2020-10-29 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
Pigsty PostgreSQL 监控系统介绍
本文介绍 2020 年 5 月的 Pigsty,指标数量与面板名称均对应当时的系统。 我最近开发了一套数据库监控系统,名为 Pigsty。下面介绍它的架构、面板与指标。 Pigsty 使用 Grafana、Prometheus 与 Consul。PIGSTY /pɪɡ staɪ/ 是 “Postgres in Grafana Style” 的缩写。 整体架构 Node、PostgreSQL 与 PgBouncer Exporter 采集指标,Consul 提供服务发现,Prometheus 保存 …
本文介绍 2020 年 5 月的 Pigsty,指标数量与面板名称均对应当时的系统。 我最近开发了一套数据库监控系统,名为 Pigsty。下面介绍它的架构、面板与指标。 Pigsty 使用 Grafana、Prometheus 与 Consul。PIGSTY /pɪɡ staɪ/ 是 “Postgres in Grafana Style” 的缩写。 整体架构 Node、PostgreSQL 与 PgBouncer Exporter 采集指标,Consul 提供服务发现,Prometheus 保存 …
-
PostgreSQL的KPI
本文写于 2020 年,从 PgBouncer 事务耗时推导负载指标。 PG Load(PG 负载) 将每秒累积的事务耗时除以选定的并发数,同时考虑数据库处理的工作量与耗时。我用它观察负载变化,识别需要排查问题或重新评估容量的实例。 现有指标能说明什么 评估数据库负载,通常需要观察几类指标: 流量:每秒查询数(QPS)和每秒事务数(TPS)。 延迟:查询响应时间(Query RT)和事务响应时间(Xact RT)。 资源使用:机器负载、CPU 利用率、磁盘 I/O 和网络 I/O。 故障与争用 …
本文写于 2020 年,从 PgBouncer 事务耗时推导负载指标。 PG Load(PG 负载) 将每秒累积的事务耗时除以选定的并发数,同时考虑数据库处理的工作量与耗时。我用它观察负载变化,识别需要排查问题或重新评估容量的实例。 现有指标能说明什么 评估数据库负载,通常需要观察几类指标: 流量:每秒查询数(QPS)和每秒事务数(TPS)。 延迟:查询响应时间(Query RT)和事务响应时间(Xact RT)。 资源使用:机器负载、CPU 利用率、磁盘 I/O 和网络 I/O。 故障与争用 …
-
PG Exporter v0.2.0
变更 新增供 YUM 安装的 RPM 包及 Linux 服务定义。 为查询配置新增 skip 选项。 修复 pgbouncer_up 指标。 新增配置重载支持。 v0.2.0 发布于 2020-03-21 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 新增供 YUM 安装的 RPM 包及 Linux 服务定义。 为查询配置新增 skip 选项。 修复 pgbouncer_up 指标。 新增配置重载支持。 v0.2.0 发布于 2020-03-21 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG Exporter v0.1.2
变更 修复 pgbouncer_up 指标。 新增动态配置重载。 移除分片相关逻辑。 在默认配置中新增 bulky 模式。 v0.1.2 发布于 2020-02-20 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 修复 pgbouncer_up 指标。 新增动态配置重载。 移除分片相关逻辑。 在默认配置中新增 bulky 模式。 v0.1.2 发布于 2020-02-20 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG Exporter v0.1.1
变更 修复查询失败导致启动挂起的问题。 v0.1.1 发布于 2020-01-10 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 修复查询失败导致启动挂起的问题。 v0.1.1 发布于 2020-01-10 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG Exporter v0.1.0
变更 首个稳定版本。 v0.1.0 发布于 2020-01-08 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 首个稳定版本。 v0.1.0 发布于 2020-01-08 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG Exporter v0.0.5
这是一个只有 Git 标签、没有独立 GitHub Release 对象的早期版本;本文依据标签提交与历史汇总文档归档。 变更 为每个采集器查询增加超时控制 以 fatal 采集器策略替代早期的 skip_error 行为 调整采集器优先级语义 修复内置的 pg_up 指标 为每个内置采集器补充文档 v0.0.5 发布于 2020-01-08 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
这是一个只有 Git 标签、没有独立 GitHub Release 对象的早期版本;本文依据标签提交与历史汇总文档归档。 变更 为每个采集器查询增加超时控制 以 fatal 采集器策略替代早期的 skip_error 行为 调整采集器优先级语义 修复内置的 pg_up 指标 为每个内置采集器补充文档 v0.0.5 发布于 2020-01-08 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG Exporter v0.0.4
变更 在 200 多个生产节点上测试约两周。 v0.0.4 发布于 2019-12-20 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 在 200 多个生产节点上测试约两周。 v0.0.4 发布于 2019-12-20 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG Exporter v0.0.3
变更 通过生产环境测试;项目当时仍处于快速开发阶段。 v0.0.3 发布于 2019-12-14 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 通过生产环境测试;项目当时仍处于快速开发阶段。 v0.0.3 发布于 2019-12-14 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG Exporter v0.0.2
变更 开放试用的早期版本。 v0.0.2 发布于 2019-12-09 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
变更 开放试用的早期版本。 v0.0.2 发布于 2019-12-09 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PG Exporter v0.0.1
此早期版本只有 Git 标签,没有独立 GitHub Release。本文依据标签和历史发布摘要整理。 变更 新增 PgBouncer 模式。 v0.0.1 发布于 2019-12-09 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
此早期版本只有 Git 标签,没有独立 GitHub Release。本文依据标签和历史发布摘要整理。 变更 新增 PgBouncer 模式。 v0.0.1 发布于 2019-12-09 查看发布 源码 · tar.gz 源码 · zip pgsty/pg_exporter
-
PostgreSQL 监控系统概览
本文记录 2018 年 12 月的监控系统,面板与统计收集器机制对应当时版本。 用监控管理 PostgreSQL 管理 PostgreSQL 需要了解数据库的运行状态。监控系统集中展示这些信息,为日常检查、故障诊断与性能优化提供依据。我计划通过一系列文章,介绍这套监控系统的设计、实施与使用。 PostgreSQL 监控面板 下面是我在实际环境中使用的监控面板。最常用的单实例面板分为七个区域:概览、操作系统、数据库活动与会话、复制、检查点与 WAL、数据库冲突、数据库对象统计。 系统架构 这套系统 …
本文记录 2018 年 12 月的监控系统,面板与统计收集器机制对应当时版本。 用监控管理 PostgreSQL 管理 PostgreSQL 需要了解数据库的运行状态。监控系统集中展示这些信息,为日常检查、故障诊断与性能优化提供依据。我计划通过一系列文章,介绍这套监控系统的设计、实施与使用。 PostgreSQL 监控面板 下面是我在实际环境中使用的监控面板。最常用的单实例面板分为七个区域:概览、操作系统、数据库活动与会话、复制、检查点与 WAL、数据库冲突、数据库对象统计。 系统架构 这套系统 …
-
关系膨胀的监控与治理
本文写于 2018 年,介绍当时基于统计信息估算膨胀及安排维护的方法。 PostgreSQL 使用 MVCC,让事务读取不同的行版本。旧版本可能使表和索引占用的空间超过活数据所需。日常清理让空间可以复用,重写关系则能将多余空间归还文件系统。本文介绍如何衡量膨胀,并选择重整时机。 关系膨胀概述 若一个关系占用 100 GB,压实后的副本只需 60 GB,则估算膨胀率为 (100 - 60) / 100 = 40%。 普通 VACUUM 会回收死元组占用的空间,让表内后续写入复用,也可能截断文件末尾 …
本文写于 2018 年,介绍当时基于统计信息估算膨胀及安排维护的方法。 PostgreSQL 使用 MVCC,让事务读取不同的行版本。旧版本可能使表和索引占用的空间超过活数据所需。日常清理让空间可以复用,重写关系则能将多余空间归还文件系统。本文介绍如何衡量膨胀,并选择重整时机。 关系膨胀概述 若一个关系占用 100 GB,压实后的副本只需 60 GB,则估算膨胀率为 (100 - 60) / 100 = 40%。 普通 VACUUM 会回收死元组占用的空间,让表内后续写入复用,也可能截断文件末尾 …
-
监控 PostgreSQL 表大小
本文写于 2018 年,介绍 PostgreSQL 普通表的物理存储。 表的空间布局 普通表包含自身存储,也可能有一张 TOAST 表: 本体表:存储行数据,relkind='r'。 TOAST 表:按需存储行外数据,relkind='t'。部分表没有 TOAST 表。 表本身和它的每个索引都是独立的 关系(Relation): 主体关系:存储元组。 索引关系:存储索引元组。 每个 关系 又可能会有 四种分支: main: 关系的主文件,编号为0 fsm:保存关于main分支中空闲空间的信息,编 …
本文写于 2018 年,介绍 PostgreSQL 普通表的物理存储。 表的空间布局 普通表包含自身存储,也可能有一张 TOAST 表: 本体表:存储行数据,relkind='r'。 TOAST 表:按需存储行外数据,relkind='t'。部分表没有 TOAST 表。 表本身和它的每个索引都是独立的 关系(Relation): 主体关系:存储元组。 索引关系:存储索引元组。 每个 关系 又可能会有 四种分支: main: 关系的主文件,编号为0 fsm:保存关于main分支中空闲空间的信息,编 …
-
PostgreSQL 服务器日志配置
本文写于 2018 年。下方表结构对应 PostgreSQL 10 的 23 列 CSV 格式,Filebeat 示例使用当时的 prospectors 配置。 CSV 日志可以导入 PostgreSQL 表,也可以通过 file_fdw 直接查询。 日志配置 log_destination = 'csvlog' logging_collector = on log_directory = 'log' log_filename = 'postgresql-%a.log' …
本文写于 2018 年。下方表结构对应 PostgreSQL 10 的 23 列 CSV 格式,Filebeat 示例使用当时的 prospectors 配置。 CSV 日志可以导入 PostgreSQL 表,也可以通过 file_fdw 直接查询。 日志配置 log_destination = 'csvlog' logging_collector = on log_directory = 'log' log_filename = 'postgresql-%a.log' …