Pigsty is an advanced PostgreSQL monitoring systemd based on open source projects like prometheus & grafana. PIGSTY pɪɡ staɪ/ is the abbreviation of "Postgres in Grafana Style".
整体架构
TLDR: (Node/Pg/Pgbouncer) Exporter Discovered by Consul to Prometheus to Grafana
┏━━━━━━━━━━━┓ ┏━━━━━━━━━━━━━━━━━━━━┓┃ Node ┃ --> ┃ Node Exporter-┃┐┃ Pgbouncer ┃ --> ┃ Pgbouncer Exporter-┃┼--> Prometheus ---> Grafana┃ Postgres ┃ --> ┃ Postgres Exporter-┃┘ ↑┃ ┃ ┗━━━━━━━━━━━━━━━━━━━━┛ (Service Discovery)┃ Consul ┃ -----------------------------> Consul┗━━━━━━━━━━━┛
复制
一言以蔽之:用Exporter取指标数据,通过Consul服务发现赋予身份标签与组织结构,存进Prometheus中进行预处理计算,最后使用Grafana展示
层次组织

集群使用 cls
唯一标识,名称类似于:pg-test-tt
实例使用 ins
唯一标识,名称类似于:pg-test-tt-0
, 以集群为前缀,序号为后缀。后缀为0的实例通常是集群中的主库。节点使用 ip
唯一标识。
功能简介
PG全局监控 PG Shard监控 PG集群监控 PG实例监控 PG实例监控(故障排查专用视图) PG节点监控 PG慢查询平台 Redis全局概览 Redis集群监控 Redis实例监控 PG集群健康度评估系统
首页导航概览

DB监控:指标介绍
指标丰富程度
你可以不看,我不能没有。

指标内容
配置错误:关键功能是否配置正常:校验和,Numa,透明大页,同步提交等。 内存错误,TCP错误,时间漂移错误 服务宕机:机器,数据库,连接池,监控组件 数据库客户端排队,IdleInXact连接,超长事务,死锁,复制中断,大量回滚,监控报错
PG Load, Node Load CPU使用,内存使用,磁盘使用,网卡带宽利用率,缓存命中率,后端连接使用,连接池使用
数据库直接指标:QPS,TPS,查询细分QPS 间接流量指标:连接池进出流量,WAL写入量,增删改查条数,块访问量,缓冲区访问量 节点流量:磁盘IO流量,网络IO流量,内存页面换入换出
事务平均响应时间 Xact RT 查询平均响应时间 Query RT 语句平均响应时间:Statement RT 磁盘平均响应时间:Disk R/W Latency 复制延迟(以秒或字节计算) 监控查询延迟
DB监控:PG实例
实例概览
实例身份信息:集群名,ID,所属节点,软件版本,所属集群其他成员等 实例配置信息:一些关键配置,目录,端口,配置路径等 实例健康信息,实例角色(Primary,Standby)等。 黄金指标:PG Load,复制延迟,活跃后端,排队连接,查询延迟,TPS,数据库年龄 数据库负载:实时(Load0),1分钟,5分钟,15分钟 数据库警报与提醒事件

节点概览
四大基本资源:CPU,内存,磁盘,网卡的配置规格,关键功能,与核心指标 右侧是网卡详情与磁盘详情

单日统计
复制
当前节点的Replication配置 复制延迟:以秒计,以字节计的复制延迟,复制槽堆积量 下游节点对应的Walsender统计 各种LSN进度,综合展示集群的复制状况与持久化状态。 下游节点数量统计,可以看出复制中断的问题

事务
TPS概览信息:TPS,TPS与过去两天的DoD环比。DB事务数与回滚数 回滚事务数量与回滚率 TPS详情:绿色条带为±1σ,黄色条带为±3σ,以过去30分钟作为计算标准,通常超出黄色条带可认为TPS波动过大 Xact RT,事务平均响应时间,从连接池抓取。绿色条带为±1σ,黄色条带为±3σ。 TPS与RT的偏离程度,是一个无量纲的可横向比较的值,越大表示指标抖动越厉害,计算方式为:(μ/σ)^2 按照DB细分的TPS与事务响应时间,通常一个实例只有一个DB,但少量实例有多个DB。 事务数,回滚数(TPS来自连接池,而这两个指标直接来自DB本身) 锁的数量,按模式聚合(8种表锁),按大类聚合(读锁,写锁,排他锁)

查询
QPS 每秒查询数,与Query RT查询平均响应时间,以及这两者的波动程度,QPS的周期环比等 生产环境对查询平均响应时间有要求:1ms为红线,100ms就该约谈了。

语句
左侧慢查询列表是按 pg_stat_statments
中的平均响应时间从大到小排序的,点击查询ID会自动跳转到慢查询平台这里列出的查询,是累计查询耗时最长的32个查询,但排除只有零星调用的长耗时单次查询与监控查询。 右侧包括了每个查询的实时QPS,平均响应时间。按照RT与总耗时的排名。
后端进程
后端进程数按种类聚合,后端进程按状态聚合,后端进程按DB聚合,后端进程按等待事件类型聚合。 活跃状态的进程/连接,在事务中空闲的连接,长事务。

连接池
连接池后端连接的状态:活跃,刚用过,空闲,测试过,登录状态。 分别按照User,按照DB,按照Pool(User:DB)聚合的前端连接,用于排查异常连接问题。 等待客户端数(重要),以及队首客户端等待的时长,用于定位连接堆积问题。 连接池可用连接使用比例。
数据库概览
pg_stat_database
与
pg_database
,包含数据库相关的指标:
WAL Rate,标识数据库的写入负载,每秒产生的WAL字节数量。 Buffer Hit Rate,数据库 ShareBuffer 命中率,未命中的页面将从操作系统PageCache和磁盘获取。 每秒增删改查的记录条数 临时文件数量与临时文件大小,可以定位大型查询问题。

持久化
重要的持久化参数,比如是否出现数据校验和验证失败(如果启用可以检测到数据腐坏) 数据库文件(DB,WAL,Log)的大小与增速。 检查点的数量与检查点耗时。 每秒分配的块,与每秒刷盘的块。每秒访问的块,以及每秒从磁盘中读取的块。(以字节计,注意一个Buffer Page是8192,一个Disk Block是4096)
监控Exporter
Exporter是否存活,Uptime,Exporter每分钟被抓取的次数 每个监控查询的耗时,产生的指标数量与错误数量。

DB监控:PG集群
集群概览
时间线与领导权,当数据库发生Failover或Switchover时,时间线会步进,领导权会发生变化。 集群拓扑,集群拓扑展现了集群中的复制拓扑,以及采用的复制方式(同步/异步)。 集群负载,包括整个集群实时、1分钟、5分钟、15分钟的负载情况。以及集群中每个节点的Load1 集群报警与事件。

集群复制
集群中的主库与级联桥接库。集群是否启用同步提交,同步从库名称。桥接库与级联库数量,最大从库配置 成对出现的Walsender与Walreceiver列表,体现一对主从关系的复制状态 以秒和字节衡量的复制延迟(通常1秒的复制延迟对应10M~100M不等的字节延迟),复制槽堆积量。 从库视角的复制延迟 集群中从库的数量,备份或拉取从库时可以从这里看到异常。 集群的LSN进度,用于整体展示集群的复制状态与持久化状态。

节点指标

事务与查询
primary
与
standby
两种Service)。

DB监控:PG慢查询平台
左侧是格式化后的查询语句,右侧是查询的主要指标,包括 每秒查询数量:QPS 实时的平均响应时间(RT Realtime) 每次查询平均返回的行数 每次查询平均用于BlockIO的时长 响应时间的均值,标准差,最小值,最大值(自从上一次统计周期以来) 查询最近一天的调用次数,返回行数,总耗时。以及自重置以来的总调用次数。 下方是指定时间段的查询指标图表,是概览指标的细化。


扫描钉钉直播群二维码 关注我们免费看直播
最后修改时间:2020-06-02 09:29:13
文章转载自PostgreSQL中文社区,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
外国CTO也感兴趣的开源数据库项目——openHalo
小满未满、
1833次阅读
2025-04-21 16:58:09
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
381次阅读
2025-04-15 14:48:05
转发有奖 | PostgreSQL 16 PGCM高级认证课程直播班招生中!
墨天轮小教习
194次阅读
2025-04-14 15:58:34
中国PostgreSQL培训认证体系新增PGAI应用工程师方向
开源软件联盟PostgreSQL分会
188次阅读
2025-05-06 10:21:13
华象新闻 | PostgreSQL 18 Beta 1、17.5、16.9、15.13、14.18、13.21 发布
严少安
162次阅读
2025-05-09 11:34:10
PG生态赢得资本市场青睐:Databricks收购Neon,Supabase融资两亿美元,微软财报点名PG
老冯云数
148次阅读
2025-05-07 10:06:22
SQL 优化之 OR 子句改写
xiongcc
143次阅读
2025-04-21 00:08:06
告别老旧mysql_fdw,升级正当时
NickYoung
126次阅读
2025-04-29 11:15:18
PostgreSQL中文社区亮相于第八届数字中国峰会
PostgreSQL中文社区
114次阅读
2025-05-07 10:06:20
PostgreSQL的dblink扩展模块使用方法
szrsu
109次阅读
2025-04-24 17:39:30