PostgreSQL中的sysstat

前言

之前分享了一些好用的监控工具,今天分享另外一个监控工具,pg_systat,和Linux中的sysstat类似,sysstat提供了sar、sadf、mpstat、iostat、pidstat等好用的监控命令。

pg_systat除了提供了库级、表级等基础监控信息,还提供了vacuum、命中率、锁和冲突等的监视。

实操

https://github.com/pg-systat/pg_systat此处下载最新的安装包

因为代码里面用到了bsd/stdlib.h以及mergesort等函数,本地环境是CentOS,所以还需另外安装bsd的lib库

然后即可编译安装

装完之后默认在/usr/local/bin目录下,使用很简便

直接输入pg_systat看到的是库级的事务情况以及死锁

键入“h”可以看到支持的监控项,包括:[dbxact] dbblk dbconfl dbfs dbtup index indexio tableanalyze tableioheap tableioidx tableiotidx tableiotoast tablescan tabletup tablevac vacuum

键盘左右即可观察不同的监控项,第二项是比较关心的命中率hit ratio等

第三项是采集的pg_stat_database_conflicts里的库级冲突,主要常见的是流复制中的snapshot conflict

第四项是OS级的file system usage,Tablespace

第五项是采集的pg_stat_user_tables

观察索引的扫描次数(Tips:键入“c”进行排序)

vacuum相关的信息

另外也支持非交互模式,-b,更多功能就不一一介绍了,使用十分简易。

小结

pgsystat相较于pg_top和pgcenter实现得较为简陋,主要得益于完备的pg_stat*开头的视图,数据基本上都源于这些视图。对于懒人来说,也算是一个不错的监控工具,只要左右键??按一按就可以看到大概的运行情况。

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