PostgreSQL 字段

从 PostgreSQL 服务器收集的指标。

postgresql

PostgreSQL 指标。

activity

每个服务器进程一个文档,显示与该进程当前活动相关的信息,例如状态和当前查询。通过查询 pg_stat_activity 收集。

postgresql.activity.database.oid

此后端连接到的数据库的 OID。

类型:long

postgresql.activity.database.name

此后端连接到的数据库的名称。

类型:keyword

postgresql.activity.pid

此后端的进程 ID。

类型:long

postgresql.activity.user.id

登录到此后端的用户的 OID。

类型:long

postgresql.activity.user.name

登录到此后端的用户的名称。

postgresql.activity.application_name

连接到此后端的应用程序的名称。

postgresql.activity.client.address

连接到此后端的客户端的 IP 地址。

postgresql.activity.client.hostname

已连接客户端的主机名,由 client_addr 的反向 DNS 查询报告。

postgresql.activity.client.port

客户端用于与此后端通信的 TCP 端口号,如果使用 Unix 套接字,则为 -1。

类型:long

postgresql.activity.backend_type

当前后端的类型。可能的类型包括 autovacuum 启动器、autovacuum 工作器、逻辑复制启动器、逻辑复制工作器、并行工作器、后台写入器、客户端后端、检查点、启动、walreceiver、walsender 和 walwriter。扩展程序可以使用其他后端类型注册工作器。

postgresql.activity.backend_start

此进程启动的时间,即客户端连接到服务器的时间。

类型:date

postgresql.activity.transaction_start

此进程当前事务启动的时间。

类型:date

postgresql.activity.query_start

当前活动查询启动的时间,如果状态不是活动状态,则为上次查询启动的时间。

类型:date

postgresql.activity.state_change

上次更改状态的时间。

类型:date

postgresql.activity.waiting

如果此后端当前正在等待锁,则为 True。

类型:boolean

postgresql.activity.state

此后端的当前整体状态。可能的值为

  • active:后端正在执行查询。
  • idle:后端正在等待新的客户端命令。
  • idle in transaction:后端处于事务中,但当前未执行查询。
  • idle in transaction (aborted):此状态类似于 idle in transaction,只是事务中的一个语句导致错误。
  • fastpath function call:后端正在执行快速路径函数。
  • disabled:如果在此后端中禁用 track_activities,则报告此状态。
postgresql.activity.query

此后端最近查询的文本。如果状态为活动状态,则此字段显示当前正在执行的查询。在所有其他状态下,它显示最后执行的查询。

postgresql.activity.wait_event

如果后端当前正在等待,则为等待事件名称。

postgresql.activity.wait_event_type

后端正在等待的事件类型。

bgwriter

关于后台写入器进程活动的相关统计信息。使用 pg_stat_bgwriter 查询收集。

postgresql.bgwriter.checkpoints.scheduled

已执行的已计划检查点的数量。

类型:long

postgresql.bgwriter.checkpoints.requested

已执行的已请求检查点的数量。

类型:long

postgresql.bgwriter.checkpoints.times.write.ms

在检查点处理的部分中(将文件写入磁盘)花费的总时间(以毫秒为单位)。

类型:float

postgresql.bgwriter.checkpoints.times.sync.ms

在检查点处理的部分中(将文件同步到磁盘)花费的总时间(以毫秒为单位)。

类型:float

postgresql.bgwriter.buffers.checkpoints

检查点期间写入的缓冲区数量。

类型:long

postgresql.bgwriter.buffers.clean

后台写入器写入的缓冲区数量。

类型:long

postgresql.bgwriter.buffers.clean_full

后台写入器停止清理扫描的次数,因为它已写入过多的缓冲区。

类型:long

postgresql.bgwriter.buffers.backend

后端直接写入的缓冲区数量。

类型:long

postgresql.bgwriter.buffers.backend_fsync

后端必须执行自己的 fsync 调用的次数(通常即使后端执行自己的写入,后台写入器也会处理这些调用)。

类型:long

postgresql.bgwriter.buffers.allocated

已分配的缓冲区数量。

类型:long

postgresql.bgwriter.stats_reset

上次重置这些统计信息的时间。

类型:date

database

每个数据库一行,显示数据库范围内的统计信息。通过查询 pg_stat_database 收集。

postgresql.database.oid

此后端连接到的数据库的 OID,或共享资源的 0。

类型:long

postgresql.database.name

此后端连接到的数据库的名称,共享资源为空。

类型:keyword

postgresql.database.number_of_backends

当前连接到此数据库的后端数量。

类型:long

postgresql.database.transactions.commit

在此数据库中已提交的事务数量。

类型:long

postgresql.database.transactions.rollback

在此数据库中已回滚的事务数量。

类型:long

postgresql.database.blocks.read

在此数据库中读取的磁盘块数。

类型:long

postgresql.database.blocks.hit

在缓冲区缓存中已找到磁盘块的次数,因此不需要读取(这仅包括 PostgreSQL 缓冲区缓存中的命中,不包括操作系统的文件系统缓存)。

类型:long

postgresql.database.blocks.time.read.ms

在此数据库中后端读取数据文件块所花费的时间(以毫秒为单位)。

类型:double

postgresql.database.blocks.time.write.ms

在此数据库中后端写入数据文件块所花费的时间(以毫秒为单位)。

类型:double

postgresql.database.rows.returned

在此数据库中查询返回的行数。

类型:long

postgresql.database.rows.fetched

在此数据库中查询提取的行数。

类型:long

postgresql.database.rows.inserted

在此数据库中查询插入的行数。

类型:long

postgresql.database.rows.updated

在此数据库中查询更新的行数。

类型:long

postgresql.database.rows.deleted

在此数据库中查询删除的行数。

类型:long

postgresql.database.conflicts

由于与此数据库中的恢复冲突而取消的查询数量。

类型:long

postgresql.database.temporary.files

在此数据库中查询创建的临时文件数量。所有临时文件都将被计数,无论创建临时文件的原因是什么(例如,排序或哈希),以及与 log_temp_files 设置无关。

类型:long

postgresql.database.temporary.bytes

在此数据库中查询写入临时文件的数据总量。所有临时文件都将被计数,无论创建临时文件的原因是什么,以及与 log_temp_files 设置无关。

类型:long

postgresql.database.deadlocks

在此数据库中检测到的死锁数量。

类型:long

postgresql.database.stats_reset

上次重置这些统计信息的时间。

类型:date

statement

每个用户每个数据库每个查询一个文档,显示与该查询调用相关的信息,例如 CPU 使用率和总时间。通过查询 pg_stat_statements 收集。

postgresql.statement.user.id

运行查询的后端中登录用户的 OID。

类型:long

postgresql.statement.database.oid

运行查询的数据库的 OID。

类型:long

postgresql.statement.query.id

语句的 ID。

类型:long

postgresql.statement.query.text

查询文本

postgresql.statement.query.calls

查询运行的次数。

类型:long

postgresql.statement.query.rows

查询返回的总行数。

类型:long

postgresql.statement.query.time.total.ms

运行查询所花费的总毫秒数。

类型:float

postgresql.statement.query.time.min.ms

运行查询所花费的最小毫秒数。

类型:float

postgresql.statement.query.time.max.ms

运行查询所花费的最大毫秒数。

类型:float

postgresql.statement.query.time.mean.ms

运行查询所花费的平均毫秒数。

类型:long

postgresql.statement.query.time.stddev.ms

运行查询所花费时间的总体标准差(以毫秒为单位)。

类型:long

postgresql.statement.query.memory.shared.hit

查询共享块缓存命中的总数。

类型:long

postgresql.statement.query.memory.shared.read

查询共享块缓存读取的总数。

类型:long

postgresql.statement.query.memory.shared.dirtied

查询弄脏共享块缓存的总数。

类型:long

postgresql.statement.query.memory.shared.written

查询写入共享块缓存的总数。

类型:long

postgresql.statement.query.memory.local.hit

查询本地块缓存命中的总数。

类型:long

postgresql.statement.query.memory.local.read

查询本地块缓存读取的总数。

类型:long

postgresql.statement.query.memory.local.dirtied

查询弄脏本地块缓存的总数。

类型:long

postgresql.statement.query.memory.local.written

查询写入本地块缓存的总数。

类型:long

postgresql.statement.query.memory.temp.read

查询读取临时块缓存的总数。

类型:long

postgresql.statement.query.memory.temp.written

查询写入临时块缓存的总数。

类型:long