PostgreSQL性能监控


总览

Applications Manager的 PostgreSQL监控工具通过提供对数据库服务器性能的端到端可见性,在监控PostgreSQL数据库服务器中起着至关重要的作用。它通过监控各种关键指标(例如数据库利用率,响应时间,查询性能,会话详细信息等)来帮助您检查PostgreSQL服务器的健康状况和可用性。

通过使用诸如Applications Manager之类的主动PostgreSQL性能监控工具,您可以确保PostgreSQL环境的性能保持不变。在此帮助文档中,您将学习如何开始使用PostgreSQL性能监控以及通过Applications Manager监控的参数列表。

创建一个新的PostgreSQL性能监视器

支持的版本: 8.1及更高版本

监控PostgreSQL指标的先决条件: 点击此处

Rest API添加新的PostgreSQL性能监视器: 点击此处

要创建PostgreSQL数据库服务器监视器,请遵循以下步骤:

  1. 点击新建监视器链接。
  2. 选择PostgreSQL
  3. 输入数据库服务器的显示名称
  4. 输入主机IP地址主机名
  5. 输入运行PostgreSQL的端口号。
  6. 提供有权访问PostgreSQL数据库的用户的用户名密码
  7. 指定DB名称
  8. 输入轮询间隔时间(以分钟为单位)。
  9. 如果要从Admin Server添加新监视器,请 选择被管服务器
  10. 从组合框(可选)中选择要与PostgreSQL数据库服务器关联的业务组。您可以选择多个组来关联您的监视器。
  11. 点击添加监视器。这将从网络中发现PostgreSQL数据库服务器并开始监控它们。

监控参数

  • 可用性选项卡显示过去24小时或30天网络中PostgreSQL数据库服务器的可用性历史记录。
  • 性能选项卡显示过去24小时或30天的健康状况和事件。
  • 列表视图选项卡显示您监控的所有PostgreSQL服务器以及它们的当前可用性和健康状况。您也可以从此视图执行 批量管理配置

Applications Manager的PostgreSQL监控工具基于以下选项卡中列出的指标提供对数据库环境的完整可见性:

监控信息

参数 描述
Name 表示PostgreSQL数据库服务器监视器的名称。
Type 表示您正在监控的类型
Health 表示PostgreSQL服务器的健康状况(正常,警告,严重)。
Last Polled at 指定执行上次轮询的时间。
Next Poll at 指定计划下一次轮询的时间。
Availability 显示服务器的当前状态-可用或不可用。

概览

参数 描述
连接统计:
Active Connections 当前与数据库的活动连接数
Total Users 收集数据时活动的用户总数
锁统计:
Locks Held 指示的会话持有的锁数
Locks Wait 数据库中等待的锁数
缓冲区统计:
Buffer Hits/min 每分钟总缓冲区命中数(即,通过找到缓冲区高速缓存中已存在的块避免了块读取请求)
Block Reads/Min 每分钟读取的总磁盘块数
Cache Hit Ratio 当前缓冲区高速缓存命中次数与总请求数的比率
磁盘使用情况详细信息:
Disk Usage 数据库中所有表的磁盘上表示形式的大小,以MB为单位
Index usage 数据库中所有索引的磁盘上表示形式的大小,以MB为单位
索引扫描详细信息:
Index scans/min 每分钟启动的索引扫描总数
Index Reads/min 每分钟索引扫描返回的索引条目总数
Index Fetches/min 每分钟通过简单索引扫描获取的活动表行总数
查询统计信息:
Row inserts/min 每分钟每种扫描类型返回的总行数
Row Updates/min 每分钟的行插入和更新总数
Row Deletes/min 每分钟删除的总行数
事务明细:
Total Commits 事务总数
Total Rollbacks 总事务回滚
Commits/Min 每分钟提交的总事务数
Rollbacks/Min 每分钟总事务回滚
表级扫描详细信息:
Sequential Scans/min 每分钟顺序扫描总数
Table Index Scans/min 每分钟索引扫描总数
Sequential Scan Rows Read/min 每分钟顺序扫描返回的总行数
Table Index Scan Rows Read/min 每分钟索引扫描返回的总行数
主数据库对象统计信息:
Total Tables 数据库服务器中的表总数
Total Triggers 数据库服务器中的触发器总数
Total Procedures 数据库服务器中的进程总数
Size of the Largest Table 数据库服务器中最大表的大小
Largest Table(s) 数据库服务器中最大的表

性能

参数 描述
CPU最多查询:
Database Name 执行查询所使用的数据库名称。
Total CPU Time 运行查询所花费的CPU总时间(以毫秒为单位)。
Average CPU Time 执行查询所用的平均CPU时间(毫秒)。
Max CPU Time CPU运行查询所花费的最长时间(以毫秒为单位)。(可从Postgres 9.4获得)
Query 占用最大CPU时间的SQL查询。
长时间运行的查询详细信息:
Process ID 由查询引起的进程的标识符。
Runtime 查询已运行的时间(以毫秒为单位)。
User Name 执行查询的用户名。
Query 正在运行的SQL查询。
Database Name 运行查询所依据的数据库名称。
排名前50个表格行详细信息:
Table Name 表名。
No. of Rows 表中可用的行数。
Table Size 表的大小(以MB为单位)。

数据库

参数 描述
数据库详情:
Database Name 数据库实例的名称。
DB Size 数据库实例的大小(以MB为单位)。
Connections 数据库实例的连接数。

会话

参数 描述
会话详情:
Process ID 显示在Postgres服务器中运行的会话的进程ID。
Client Address 接到服务器的客户端的IP地址。
Application Name 建立会话的应用程序的名称。(可从Postgres 9.0获得)
Database Name 显示该进程当前正在使用的数据库的名称。
User 执行该过程的用户的登录名。
State Postgres服务器中进程的状态。(可从Postgres 9.2获得)
Blocked 指示该进程是被阻止还是当前正在等待锁定。
Wait Event 示当前正在等待的等待事件名称和等待事件类型。(从Postgres 9.6起)
Query 该过程中最后执行的SQL查询。
CPU Time 在Postgres服务器中运行的进程花费的累计CPU时间(以毫秒为单位)。

同步

参数 可用版本 描述
同步详情:
WAL files count >=9.2 WAL目录中存在的WAL文件数。
Current WAL Location >=9.2 提供最后插入的位置。
WAL level >=9.2 wal_level确定将多少信息写入WAL。
  • 默认值=最小(版本<10)最小→仅写入从崩溃或立即关闭中恢复所需的信息。
  • 默认值=副本(版本> 10)副本→写入足够的数据以支持WAL归档和复制,包括在备用服务器上运行只读查询。
  • 其他状态:hot_standby→最小状态/副本状态信息+添加在备用服务器上运行只读查询所需的信息。
WAL sync method >=9.2 强制将WAL更新输出到磁盘的方法。如果fsync关闭,则此设置无关紧要,因为根本不会强行退出WAL文件更新。可能的值为:open_datasync(使用open()选项O_DSYNC写入WAL文件),fdatasync(在每次提交时调用fdatasync()),fsync(在每次提交时调用fsync()),fsync_writethrough(在每次提交时调用fsync()),强制任何磁盘写缓存的直写)
checkpoints_timed >=9.2 已执行的计划检查点的数量。
checkpoints_req >=9.2 已执行的请求检查点的数量。
buffers_checkpoint >=9.2 在检查点期间写入的缓冲区数。
buffers_clean >=9.2 后台编写器写入的缓冲区数。
buffers_backend >=9.2 直接从后端写入的缓冲区数。
Client Address >=9.2 客户端/备用服务器地址。
Client Port >=9.2 客户端用于与此WAL发送者进行通信的TCP端口号。
PID >=9.2 WAL发送进程的进程ID。
application name >=9.2 连接到该WAL发送的应用程序的名称。
Sender State >=9.2 当前的WAL发送者状态。可能的值为:
  • startup:此WAL发送者正在启动。
  • catchup:此WAL发送者的已连接备用服务器正在同步为主服务器。
  • streaming:此WAL发送者在其连接的备用服务器同步主服务器后,正在streaming更改。
  • backup:此WAL发送者正在发送备份。停止:此WAL发送者正在停止。
Sync State >=9.2 该备用服务器的同步状态。可能的值为:
  • 异步:此备用服务器是异步的。
  • 潜在的:此备用服务器现在是异步的,但是如果当前同步服务器之一发生故障,则有可能变为同步服务器。
  • sync:此备用服务器是同步的。
  • 仲裁:此备用服务器被视为仲裁备用的候选服务器。
Sending lag >=9.2 延迟将事务发送到备用状态
Last replay location >=9.2 提供最后重播的位置
Write lag >=9.2 延迟将事务写入备用磁盘中。
Flush lag >=9.2 将事务刷新到备用磁盘中。
Replay lag >=9.2 延迟重播备用事务
Total lag >=9.2 从主服务器发送到备用服务器上的重放事务的总延迟。
Replication Delay >=9.2 复制延迟(以字节为单位)。
Master Host >=9.6 主节点的主机详细信息。
Master Port >=9.6 主节点端口。
Master User >=9.6 主节点的用户详细信息。
Replication Delay >=9.1 上次接收事务和上次重播事务的b/w。
Replication Slots:
slot_name >=9.6 复制插槽的唯一集群范围的标识符。
slot_type >=9.6 插槽类型-物理或逻辑。
active >=9.6 如果当前正在使用此插槽,则为True。
restart_lsn >=9.6 此插槽的使用者可能仍需要最旧的WAL的地址(LSN),因此不会在检查点期间自动删除。
confirmed_flush_lsn >=9.6 逻辑插槽的使用者已确认接收到的地址(LSN)。早于该时间的数据不再可用。物理插槽为NULL。

配置

参数 描述
Version PosgreSQL服务器的版本。
Config File Postgres服务器配置文件的位置。
Data Directory Postgres服务器使用的数据目录的位置。
External PID File 外部PID文件的位置。
hba File hba文件的位置。
ident File ident文件的位置。