0
点赞
收藏
分享

微信扫一扫

PostgreSQL 工具集 之 pgmetrics 详解

pgmetrics 介绍

pgmetrics 是一个开源的、零依赖的、单二进制的工具,它可以轻松收集和报告PostgreSQL指标,用于脚本编写、自动化和故障排除。 pgmetrics 从正在运行的PostgreSQL服务器收集350多个指标,并以易于阅读的文本格式显示,或者将其导出为JSON和CSV用于脚本编写。
pgmetrics 是用Go语言编写的,可以作为零依赖的静态链接命令行工具下载,适用于许多平台。 它是开源的,并在Apache许可证2.0下获得许可。

pgmetrics 安装

由于 pgmetrics 是单独分发,且没有依赖的二进制包,所以安装过程分厂简单,只需下载最新版本即可运行使用。

wget https://github.com/rapidloop/pgmetrics/releases/download/v1.15.0/pgmetrics_1.15.0_linux_amd64.tar.gz
tar xvf pgmetrics_1.15.0_linux_amd64.tar.gz
cd pgmetrics_1.15.0_linux_amd64

打印版本信息:

./pgmetrics -V
pgmetrics 1.15.0

pgmetrics 基本用法

  • 打印帮助信息
pgmetrics --help
  • 连接到指定主机和用户
pgmetrics -h127.0.0.1 -Uyan
  • 以 json 格式输出
pgmetrics -f json

pgmetrics 指标示例

  • 服务器:版本,系统标识符,时间线,事务id环绕,检查点延迟
  • 复制:主端、备用、物理和逻辑复制槽位
  • WAL归档:归档率,WAL和ready文件计数,最后成功和失败时间
  • BG Writer:检查点率,检查点总数(计划+请求),缓冲区
  • Vacuum:正在进行的自动/手动真空进度,最后分析/真空,设置
  • 表空间:文件系统的位置、大小、磁盘和inode使用情况
  • 数据库:大小、膨胀、禁用触发器、安装的扩展、临时文件、事务id封装、死锁、冲突
  • 角色:用户、组、成员
  • Active backends:事务运行时间过长,事务处于空闲状态,等待锁
  • 表:清空、分析、行估计、idx和seq扫描、缓存命中率、HOT更新率、大小、膨胀
  • 索引:缓存命中率、扫描、读取/扫描的行、获取/扫描的行
  • 序列:缓存命中率
  • 系统指标:内核、平均负载、内存和磁盘使用情况
  • Settings:当前值和不同的默认值
  • 慢查询:来自pg_stat_statements(如果可用)
  • 锁:授予锁和等待锁,来自pg_locks
  • 作业进度:分析、备份、集群、复制、创建索引和真空作业的进度
  • Blocked queries:阻塞的查询,以及它们正在等待的查询

除此之外,还支持从其他相关服务收集指标:

  • PgBouncer:收集和报告连接PgBouncer管理数据库时的PgBouncer实例信息。 从v1.11.0开始也支持Odyssey。
  • 日志文件:处理和提取PostgreSQL日志文件中的信息。 (在v1.8.0中添加)
  • AWS RDS、Aurora:从AWS RDS数据库收集RDS指标和增强的监控指标,包括AWS RDS Aurora(在v1.9.0中添加)
  • Citus:收集关于Citus扩展的信息(在v1.10.0中添加)
  • Azure:为PostgreSQL(单服务器,灵活服务器和托管Citus)从Azure数据库收集指标。 (在v1.13.0中添加)
  • Pgpool:从Pgpool v4收集指标和信息。 X实例(在v1.15.0中添加)
举报

相关推荐

0 条评论