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 TimeCPU运行查询所花费的最长时间(以毫秒为单位)。(可从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执行该过程的用户的登录名。
StatePostgres服务器中进程的状态。(可从Postgres 9.2获得)
Blocked指示该进程是被阻止还是当前正在等待锁定。
Wait Event示当前正在等待的等待事件名称和等待事件类型。(从Postgres 9.6起)
Query该过程中最后执行的SQL查询。
CPU Time在Postgres服务器中运行的进程花费的累计CPU时间(以毫秒为单位)。

同步

参数可用版本描述
同步详情:
WAL files count>=9.2WAL目录中存在的WAL文件数。
Current WAL Location>=9.2提供最后插入的位置。
WAL level>=9.2wal_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.2WAL发送进程的进程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。

配置

参数描述
VersionPosgreSQL服务器的版本。
Config FilePostgres服务器配置文件的位置。
Data DirectoryPostgres服务器使用的数据目录的位置。
External PID File外部PID文件的位置。
hba Filehba文件的位置。
ident Fileident文件的位置。

受到世界各地客户的喜爱

"具有广泛监控功能的Standout工具"

它允许我们跟踪关键指标,如响应时间、资源利用率、错误率和交易性能。实时监控告警会及时通知我们任何问题或异常,使我们能够立即采取行动。

审稿人角色:研究与开发

我喜欢Applications Manager,因为它可以帮助我们检测服务器和SQL数据库中存在的问题。
卡洛斯·里韦罗

Lexmark技术支持经理

受到全球6000多家企业的信任

我们的客户