本期内容
pgCluu安装使用及实践
PostgreSQL 的监控方法很多,数量越来越多的 PG 的监控再通过手工的方法来操作已经不切实际,所以应允而生的就是各种的工具。本期跟大家分享一个性能监控和审计的实用工具——pgCluu 。
什么是 pgCluu
pgCluu 是一个用于对 PostgreSQL 集群的性能进行全面审计的工具。
它分为两部分,一个用于使用 psql 和 sar 获取 PostgreSQL 服务器上的统计信息的 collector;以及一个 reports builder,用于生成所有 HTML 和图表输出。
它的优点是开源免费,使用灵活,适合定期数据库信息分析,适合二次开发;缺点是非实时监控,不支持慢查询。
pgCluu的安装流程
pgCluu报告生成器基本操作默认输出静态html及图表,动态模式需配合Apache服务器。
静态模式
1、前置依赖
perl环境 perl -v查看当前是否有perl环境。
动态模式
如需启用动态模式,需配置Web服务器官方样例提供 Apache的cgi 模式。
1、前置依赖
2、apache 安装部署过程:
3、修改 etc/httpd/conf/httpd.conf
pgCluu的用法
pgCluu 用法
用法:pgcluu [options] -o report_dir input_dir
input_dir:存放 pgcluu_collect d或 pgstats 和 sar 数据文件的目录。
注:sar 为 Linux 系统性能分析工具
pgstats 为由 pg_statistic 系统表扩展而来的系统视图,记录的是每个表每个字段的统计信息,用于 PostgreSQL 优化器做执行计划选择的时候提供参考。
可选项较多,这边只说明常用项:
更多可选项,可执行 pgcluu --help 查看。
# 使用示范
1. 以存储的数据生成静态报告:
2. 只想要指定数据库的报告,可使用以下方式:
3. 从sar输出文件导出报告,可使用以下方式:
4. 从 pgstats 生成的 sa 二进制文件导出报告:
5. 报告以增量模式运行,可限制报告保留天数:
pgCluu_collectd 用法:
用法:pgcluu_collectd [options] output_dir
output_dir:pgcluu_collectd 存储统计信息的目录的完整路径
可选项较多,这边只说明常用项:
更多可选项,可执行 pgcluu_collectd --help 查看。
# 使用示范
1. 作为 postgres 用户在本地监控完整的 PostgreSQL 集群;
2. 排除指定时间段(22:30到第二天06:30)内的数据收集;
3. 从远程服务器收集数据:
经过以上-D后台监控数据库一段时间后,通过一下方式终止程序:
可以每日或每小时,统计轮换以增量模式运行收集器:
在有大量活动的数据服务上,可使用:
--compress 选项的压缩模式
--rotate-hourly 强制每小时轮换数据文件
如果磁盘空间有限,可使用:
--retention 存储天数限制,来限制统计文件的保留时间
收集完成后的统计数据如下图:
接下来,使用pgCluu根据数据生成报告。
pgCluu的实操分享
实操示例一:
使用 GaussDB 用户监控 10.3.70.206 数据库服务的指定数据库 Postgres,监控200秒,30秒获取一次数据。
效果如下,会生成一系列监控数据 csv 文件 ⬇
效果如下,会根据 pgcluu_collectd 生成的 csv 数据文件,将数据转换为 html 静态文件 ⬇
通过入口文件 index.html 进入,可以查看到一系列监控指标数据。
数据库统计数据 ⬇
上述方法是针对 PostgreSQL 中收集信息,也就是说我们可以建立一个监控服务器,然后收集是所有的PG的信息到一台机器,然后开始分析,做成全面自动化的方案,具体可依据个人的需求来操作。
实操示例二:
动态CGI模式监控 10.11.xxx.xx 机器的PostgreSQL ,5432端口,并开启ssh获取机器系统信息。
最终效果如下 ⬇
# 注意事项
采集远程系统信息,需配置 ssh 认证免密登录,且为 Postgres 用户,参数如下:
注意 ssh-identity 传递的是 id_rsa ,不是 id_rsa.pub 。
最终效果如下 ⬇
以上就是本期的全部内容。我们很详细的跟大家讲解了 pgCluu 的安装过程,使用方法和实际应用,有机会可以尝试操作体验一次。
数据监控的一个新工具
大家可以下载安装体验~
如果你有更好的办法
欢迎加入社群一起讨论哦⬇
本期作者
李冠军
更多精彩内容
了解云基地,就现在!
IT技术哪家强
神州数码最在行
行业新星,后起之秀
历史虽不长,但是实 力 强