暂无图片
暂无图片
7
暂无图片
暂无图片
暂无图片

5 秒上手,小而美的巡检工具

xiongcc 2024-04-14
772

前言

DTC 大会昨日已经圆满结束,原本打算在 DTC 上分享《深入浅出 vacuum 内核原理》,可惜由于加班,未能赴约,不过 PostgreSQL 大会也已在骑马赶来的路上 (具体请留意中文社区官微),那就在 PostgreSQL 大会上再分享吧!

图片

这两天在冲浪的时候,发现几个好用的小工具,其中 pg_collector 值得说道说道,5 秒快速上手,生成一份小而精悍的巡检报告。之前曾分享过另一款类似的巡检工具 pg_gather,详情戳 👉🏻 一款不错的巡检工具

pg_collector

pg-collector collects database information and presents it in a consolidated HTML file

pg_collector 是纯 SQL 脚本,也就意味着你可以按需加工,并且十分简单,照猫画虎,添加自己的巡检项。目前 pg_collector 支持到了 14,不过都大差不差,安装指定版本即可

[postgres@mypg pg-collector-pg-collector-V1-for-PostgreSQL-14]$ ll
total 136
-rw-rw-r-- 1 postgres postgres    226 Jun 23  2022 CHANGELOG.md
-rw-rw-r-- 1 postgres postgres    309 Jun 23  2022 CODE_OF_CONDUCT.md
-rw-rw-r-- 1 postgres postgres   3160 Jun 23  2022 CONTRIBUTING.md
drwxrwxr-x 2 postgres postgres   4096 Jun 23  2022 img
-rw-rw-r-- 1 postgres postgres    927 Jun 23  2022 LICENSE
-rw-rw-r-- 1 postgres postgres 105756 Jun 23  2022 pg_collector.sql
-rw-rw-r-- 1 postgres postgres   4536 Jun 23  2022 README.md
drwxrwxr-x 2 postgres postgres   4096 Jun 23  2022 sample_reports

安装之后会有一个 pg_collector.sql (此处基于 16 版本进行演示),为什么我会说 5 秒呢?没错,只需要简单运行一下 pg_collector.sql 即可

[postgres@mypg pg-collector-pg-collector-V1-for-PostgreSQL-14]$ psql
psql (16.1)
Type "help" for help.

postgres=# \i pg_collector.sql 
Output format is html.
Report name and location: /tmp/pg_collector_postgres-2024-04-14_181706.html
psql:pg_collector.sql:104: ERROR:  column "datlastsysoid" does not exist
LINE 1: ...ions, datconnlimit as database_connection_limit , datlastsys...
                                                             ^
psql:pg_collector.sql:906: error: Did not find any settings.

此处有点不兼容,自己改造一下即可,执行完成之后,在 /tmp 目录下会生成一份 html 报告。由于巡检项较多,报告中大致包含如下内容:

  1. 数据库大小,使用情况
  2. 年龄使用
  3. 表、索引、序列使用情况:包含常规统计数据,以及膨胀,重复索引等
  4. 数据库负载
  5. vacuum/analyze,还很贴心的进行了可视化,展示清理和分析进度
  6. 流复制,复制槽
  7. 2pc
  8. 锁等待
  9. Toast Tables Mapping,这一点很方便
  10. 等待事件,等待事件将以往的"NULL"给改成了CPU,便于理解

图片

各位可以自行体验,此处就不再赘述。

图片

小结

pg_collector 和 pg_gather 类似,都是纯 SQL 巡检工具,包括了大多数的日常运维关心项,并且可以很容易基于其进行二次开发,pg_collector 相较于 pg_gather  的巡检项更多,pg_gather 会多一项"重要事件发现",即告诉你巡检过程中发现的一些值得你关注的点,十分 nice 的一个小特性。

另外,公众号开放留言啦!不容易,终于可以在文后进行交流了。


 

推荐阅读


📙 一款不错的巡检工具

Feel free to contact me 

  • 微信公众号:PostgreSQL学徒
  • Github:https://github.com/xiongcccc
  • 微信:_xiongcc
  • 知乎:xiongcc
  • 墨天轮:https://www.modb.pro/u/3958
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论