PostgreSQL中的简易巡检工具

1.前言

之前分享了几个在日常运维PostgreSQL中的得力助手,今天分享的是另外一个神器Toolkit,用“个”这个量词不太确切,因为Toolkit是一些命令行工具的集合。不仅仅支持PostgreSQL,还支持MySQL、MongoDB等等。

2.实操

2.1.数据库级

安装很快捷,演示环境是CentOS
yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum install percona-toolkit
小酌一杯后安装完毕,pt-pg-summary是针对PostgreSQL的命令行工具,同理,还有pt-mysql-summary、pt-mongodb-summary等等。

pt-pg-summary可以采集到如下信息,包括流复制、索引和表的命中率、等待事件等等。

开一个会话使用pgbench进行压测,然后使用pt-pg-summary进行采集。

稍等片刻,即可看到采集信息。前面是实例的基础信息以及流复制情况:

后面是数据库相关命中率等:

下面是比较关心的等待事件,和数据库性能直接挂钩,可以看到,这里的瓶颈主要在IO上了,Waiting for a read from a relation data file:

数据库的整体使用情况,事务提交/回滚、锁和冲突等

下面就是采集过程中,使用到的表,i表示insert、r表示read

最后是无关紧要的参数设置和实例命令。
2.2.操作系统级

pt-summary则是针对当前数据库所在OS的

也能看到网卡流量、错误的数据包、TCP情况等。

查看磁盘,pt-diskstats,和iostat有点类似:

3.小结

Toolkit是一个不错的巡检工具,遗憾的是,虽然命令行集很多,但80%以上都是针对MySQL的。不过基于PostgreSQL的pt-pg-summary也够用,关心的指标基本上都囊括了,不乏为一个好的贫民版巡检方案。


请使用浏览器的分享功能分享到微信等