简而言之使用 OTel PostgreSQL 接收器在 ClickStack 中监控 PostgreSQL 性能指标。包含演示数据集和预置仪表板。
与现有 PostgreSQL 集成
前置条件
- 正在运行的 ClickStack 实例
- 已安装 PostgreSQL (版本 9.6 或更高)
- ClickStack 可通过网络访问 PostgreSQL (默认端口 5432)
- 具有相应权限的 PostgreSQL 监控用户
1
确保监控用户具有所需权限
PostgreSQL 接收器需要一个对统计信息视图具有读取权限的用户。将
pg_monitor 角色授予你的监控用户:2
创建自定义 OTel collector 配置
ClickStack 支持通过挂载自定义配置文件并设置环境变量,扩展基础 OpenTelemetry collector 配置。创建
postgres-metrics.yaml:tls: insecure: true 设置会禁用 SSL 验证,仅适用于开发/测试环境。对于启用了 SSL 的生产环境 PostgreSQL,请删除此行或正确配置证书。3
使用自定义配置部署 ClickStack
挂载你的自定义配置:
4
验证指标采集
配置完成后,登录 HyperDX 并确认指标已开始流入:
- 进入指标浏览器
- 搜索以 postgresql 开头的指标 (例如:postgresql.backends、postgresql.commits)
- 你应该会看到指标数据点按所配置的采集间隔持续出现
演示数据集
仅包含数据库级指标此演示数据集仅包含数据库级指标,以保持样本数据足够轻量。在监控真实的 PostgreSQL 数据库时,表和索引指标会自动采集。
1
下载样本指标数据集
下载预先生成的指标文件 (包含 24 小时的 PostgreSQL 指标和逼真的变化模式):该数据集包含以下逼真的模式:
- 早晨连接高峰 (08:00) - 登录高峰期
- 缓存性能问题 (11:00) -
Blocks_read激增 - 应用程序缺陷 (14:00-14:30) - 回滚率飙升至 15%
- 死锁事件 (14:15、16:30) - 罕见死锁
2
启动 ClickStack
启动一个 ClickStack 实例:等待大约 30 秒,让 ClickStack 完全启动。
3
将指标加载到 ClickStack 中
将指标直接加载到 ClickHouse:
4
在 HyperDX 中验证指标
加载完成后,查看这些指标的最快方式是使用预置仪表盘。继续前往 Dashboards and visualization 部分,导入仪表盘,一次查看多个 PostgreSQL 指标。
时区显示HyperDX 会按浏览器的本地时区显示时间戳。演示数据覆盖 2025-11-10 00:00:00 - 2025-11-11 00:00:00 (UTC)。请将时间范围设置为 2025-11-09 00:00:00 - 2025-11-12 00:00:00,以确保无论你身处何地都能看到演示指标。看到指标后,你可以将范围缩小到 24 小时,以获得更清晰的可视化效果。
仪表盘与可视化
1
下载仪表盘配置
。
2
导入预置仪表盘
- 打开 HyperDX 并进入仪表盘部分
- 点击右上角省略号菜单中的 Import Dashboard
- 上传
postgres-metrics-dashboard.json文件,然后点击 Finish Import
3
查看仪表盘
仪表盘创建后,所有可视化内容都已预先配置好:
对于演示数据集,请将时间范围设置为 2025-11-10 00:00:00 - 2025-11-11 00:00:00 (UTC) (请根据你的本地时区进行调整) 。默认情况下,导入的仪表盘不会预设时间范围。
故障排查
自定义配置未生效
HyperDX 中没有显示任何指标
身份验证错误
后续步骤
- 为关键阈值 (连接数限制、回滚率过高、缓存命中率过低) 配置告警
- 启用
pg_stat_statements扩展,以实现查询级监控 - 复制 receiver 配置,并为其指定不同的端点和服务名称,以监控多个 PostgreSQL 实例