postgreSQL集群監(jiān)控方案比選
對(duì)于數(shù)據(jù)庫(kù)的監(jiān)控是一個(gè)老生常談的問(wèn)題,也是數(shù)據(jù)庫(kù)實(shí)施后非常必要的一個(gè)工作,方便運(yùn)維(DBA)自主查看主機(jī),數(shù)據(jù)庫(kù),表,以及錯(cuò)誤信息,極大的方便錯(cuò)誤定位。
在云商部署,一般云廠商有自研的監(jiān)控工具,如果是獨(dú)立部署,則需要自己部署一套監(jiān)控系統(tǒng)。經(jīng)過(guò)調(diào)研,常用的監(jiān)控方案有三種:

下面主要針對(duì)其中兩種進(jìn)行說(shuō)明和比較,pgmonitor安裝過(guò)于復(fù)雜,先不考慮。
1.pgwatch2
部署架構(gòu)圖:

詳細(xì)部署過(guò)程,參考:https://github.com/cybertec-postgresql/pgwatch2
部署后訪問(wèn)3000端口即可查看dashboard,指標(biāo)主要分為三類:
關(guān)于主機(jī)的指標(biāo),關(guān)于數(shù)據(jù)庫(kù)的指標(biāo),關(guān)于查詢的指標(biāo)

使用前需要在8080端口對(duì)數(shù)據(jù)庫(kù)連接進(jìn)行配置:

其中一個(gè)dashboard界面如下:

2.自建監(jiān)控系統(tǒng),自建主要基于
Prometheus + Pgscv + node_Exporter+ Granfana+ Alertmanager 可以實(shí)現(xiàn)監(jiān)控,預(yù)警
部署架構(gòu)圖如下:

node_exporter用于監(jiān)控主機(jī)信息
pgsvc_exporter用于監(jiān)控?cái)?shù)據(jù)庫(kù)信息
關(guān)于Prometheus和Granfana的配置請(qǐng)自行百度(可以基于docker安裝,也可以基于源文件安裝)
最終得到主機(jī)監(jiān)控dashboard:

postgres數(shù)據(jù)庫(kù)監(jiān)控界面:

alertmanagement用于預(yù)警配置和管理,相關(guān)安裝配置參見(jiàn):github指南
最終效果如下,左側(cè)為配置后在prometheus上查看alert的信息(當(dāng)前觸發(fā)的警報(bào)),右側(cè)為預(yù)警的郵件通知內(nèi)容
另外也支持微信,短信的預(yù)警提示

兩種方案對(duì)比:

整體來(lái)說(shuō),兩種方案各有優(yōu)劣,使用時(shí)可以根據(jù)具體需求選擇使用。


浙公網(wǎng)安備 33010602011771號(hào)