miketwais

work up

postgreSQL集群监控方案比选

对于数据库的监控是一个老生常谈的问题,也是数据库实施后非常必要的一个工作,方便运维(DBA)自主查看主机,数据库,表,以及错误信息,极大的方便错误定位。

在云商部署,一般云厂商有自研的监控工具,如果是独立部署,则需要自己部署一套监控系统。经过调研,常用的监控方案有三种:

 下面主要针对其中两种进行说明和比较,pgmonitor安装过于复杂,先不考虑。

1.pgwatch2

部署架构图:

 详细部署过程,参考:https://github.com/cybertec-postgresql/pgwatch2

部署后访问3000端口即可查看dashboard,指标主要分为三类:

关于主机的指标,关于数据库的指标,关于查询的指标

 使用前需要在8080端口对数据库连接进行配置:

其中一个dashboard界面如下:

 

2.自建监控系统,自建主要基于

Prometheus + Pgscv + node_Exporter+ Granfana+ Alertmanager 可以实现监控,预警

部署架构图如下:

 node_exporter用于监控主机信息

pgsvc_exporter用于监控数据库信息

关于Prometheus和Granfana的配置请自行百度(可以基于docker安装,也可以基于源文件安装)

最终得到主机监控dashboard:

 postgres数据库监控界面:

 alertmanagement用于预警配置和管理,相关安装配置参见:github指南

最终效果如下,左侧为配置后在prometheus上查看alert的信息(当前触发的警报),右侧为预警的邮件通知内容

另外也支持微信,短信的预警提示

 两种方案对比:

整体来说,两种方案各有优劣,使用时可以根据具体需求选择使用。

 

posted @ 2023-08-16 15:38  MasonZhang  阅读(380)  评论(0编辑  收藏  举报