前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Postgresql 监控你说了不算,谁说了算? (4 PG_TOP and pg_activity)

Postgresql 监控你说了不算,谁说了算? (4 PG_TOP and pg_activity)

作者头像
AustinDatabases
发布2020-04-10 11:36:17
8110
发布2020-04-10 11:36:17
举报
文章被收录于专栏:AustinDatabases

Postgresql 的监控其实有很多即时的软件可以进行监控,今天会介绍PG_TOP 和PG_Activity 即时监控和处理部分操作的工具。

https://centos.pkgs.org/7/epel-x86_64/pg_top-3.7.0-5.el7.x86_64.rpm.html

1 PG_TOP 这个工具本身和LINUX TOP的命令有类似的功效,下载的地址在上面已经给出。安装时请先安装PGDG环境,否则RPM 包安装时会有依赖包找不到的情况。

可以给pg_top 建立一个账号,只赋予 pg_monitor 的权限即可

执行命令后,就能看到上面的图片的样子

pg_top -h ip 地址 -p 5432 -U 用户 -W -C -i

上面的第一行 load avg 中的三个数 分别是1 分钟,5分钟 ,15分钟

第二行 显示 6个进程与数据库有关

第三行 是与CPU 和I/O 有关的参数

第四行 内存的使用

第五行 显示当前的TPS 回滚的事务数 buffer HIT的百分比,多少行正在被读和多少行被写

并且最下方还会显示与数据库有关的process 的情况

另外还有一些常用的命令,例如键入 K ,在输入下面显示的连接进程,这样就会直接将正在的连接切断。

或者输入 o 然后输入 CPU ,或者SIZE , COMMAND 等命令,将正在显示的东西进行排序。

当然如果在扩展一下,可以将其封装成一个定时运行的命令,将当下的内容灌入到自定义的日志,可以在非人工的工作时间的一些东西记录,并可以解决当时例如系统崩溃时的问题解决,提供线索。

pg_top -h 192.168.198.80 -p 5432 -U pgtop -W -b -d 1 -x 10 > /pgdata/history

例如上面的命令可以10秒一次将相关的信息刷入到history文件中

另外PG_TOP 还有可以抓取当前你想看的线程正在执行语句的功能

按Q 键,然后输入你的线程号,就捕捉上图显示 4221 线程当前执行的命令

按L 键,然后输入你的线程号,则可以捕捉你当前执行命令所正在霸占得锁信息

按住i键 可以随时切换当前线程中 idle 和 非idle 的线程,过一段时间则直接还原都显示。

R 与 X 则分别是显示table 的 status 与 index 的状态

pg_top 的确是一个好的即使监控的工具,主要也用于出了问题时的监控与性能和问题分析。

当然PG_TOP 也有自己的不足,就是针对语句的显示上有不足,并且你在实时查看执行的语句时也有问题,虽然可以根据语句并导出,但你没有办法发现当前正在执行的语句中暂停显示,查看你觉得有问题的语句。那如果你对上面的查询分析工具不满意的情况下,可以使用下面的这个小工具

pg_activity 这个工具是通过python方式来针对你查询的问题发现和解决的一个小工具。

我们来看看这个工具能给你什么惊喜。下面这个图是就是pg_activity

执行也比较简单,在本地机安装后,直接在postgres的LINUX账号下,键入 pg_activity 就直接进入上面的界面了

下面是测试的程序,为什么要用测试的程序来,而不是手工去测,主要还是这个产品虽然能详细的输出执行的语句,并且还可以暂停动态显示,或者只查看被blocked语句,或者waiting queries 等,但如果语句执行的太快,他也是没有办法显示的,这个工具定位也是即时问题诊断工具,例如你会知道你当前的TPS 有多少,并且相关的内存,连接数,IO ,read ,write 等情况,对于分析当时故障时有帮助的。同时也可以对你感兴趣的参数进行排序。特别利于查询,某个服务器的性能比较糟糕,你要对语句进行分析的情况下,有什么预计在等待,有什么语句在blocked

这个工具本身安装也是比较简单,支持python3

直接在postgres账户下,pip3 install pg_activity 就可以安装上,当然如果你发现安装不上那可能有以下问题

1 请你安装python-3-devel --yum

2 请你安装pycopg2 --pip3

3 请你安装psycopg2-binary --pip3

等响应的包

如果对python 连 PG 敢兴趣,可以去下面的地方,里面有一些py 连接pg的脚本

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AustinDatabases 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档