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 launcher、autovacuum worker、logical replication launcher、logical replication worker、parallel worker、background writer、client backend、checkpointer、startup、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