PostgreSQL 字段

从 PostgreSQL 服务器收集的指标。

postgresql

PostgreSQL 指标。

activity

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

postgresql.activity.database.oid

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

type: long

postgresql.activity.database.name

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

type: keyword

postgresql.activity.pid

此后端的进程 ID。

type: long

postgresql.activity.user.id

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

type: 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。

type: 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。扩展程序可以注册具有附加后端类型的 worker。

postgresql.activity.backend_start

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

type: date

postgresql.activity.transaction_start

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

type: date

postgresql.activity.query_start

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

type: date

postgresql.activity.state_change

上次更改状态的时间。

type: date

postgresql.activity.waiting

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

type: 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

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

type: long

postgresql.bgwriter.checkpoints.requested

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

type: long

postgresql.bgwriter.checkpoints.times.write.ms

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

type: float

postgresql.bgwriter.checkpoints.times.sync.ms

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

type: float

postgresql.bgwriter.buffers.checkpoints

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

type: long

postgresql.bgwriter.buffers.clean

后台写入进程写入的缓冲区数量。

type: long

postgresql.bgwriter.buffers.clean_full

后台写入进程因已写入过多缓冲区而停止清理扫描的次数。

type: long

postgresql.bgwriter.buffers.backend

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

type: long

postgresql.bgwriter.buffers.backend_fsync

后端必须执行其自身 fsync 调用(通常由后台写入进程处理,即使后端执行其自身写入也是如此)的次数

type: long

postgresql.bgwriter.buffers.allocated

分配的缓冲区数量。

type: long

postgresql.bgwriter.stats_reset

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

type: date

database

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

postgresql.database.oid

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

type: long

postgresql.database.name

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

type: keyword

postgresql.database.number_of_backends

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

type: long

postgresql.database.transactions.commit

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

type: long

postgresql.database.transactions.rollback

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

type: long

postgresql.database.blocks.read

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

type: long

postgresql.database.blocks.hit

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

type: long

postgresql.database.blocks.time.read.ms

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

type: double

postgresql.database.blocks.time.write.ms

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

type: double

postgresql.database.rows.returned

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

type: long

postgresql.database.rows.fetched

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

type: long

postgresql.database.rows.inserted

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

type: long

postgresql.database.rows.updated

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

type: long

postgresql.database.rows.deleted

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

type: long

postgresql.database.conflicts

在此数据库中因与恢复冲突而取消的查询数。

type: long

postgresql.database.temporary.files

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

type: long

postgresql.database.temporary.bytes

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

type: long

postgresql.database.deadlocks

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

type: long

postgresql.database.stats_reset

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

type: date

statement

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

postgresql.statement.user.id

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

type: long

postgresql.statement.database.oid

查询运行所在的数据库的 OID。

type: long

postgresql.statement.query.id

语句的 ID。

type: long

postgresql.statement.query.text

查询文本

postgresql.statement.query.calls

查询运行的次数。

type: long

postgresql.statement.query.rows

查询返回的总行数。

type: long

postgresql.statement.query.time.total.ms

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

type: float

postgresql.statement.query.time.min.ms

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

type: float

postgresql.statement.query.time.max.ms

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

type: float

postgresql.statement.query.time.mean.ms

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

type: long

postgresql.statement.query.time.stddev.ms

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

type: long

postgresql.statement.query.memory.shared.hit

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

type: long

postgresql.statement.query.memory.shared.read

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

type: long

postgresql.statement.query.memory.shared.dirtied

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

type: long

postgresql.statement.query.memory.shared.written

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

type: long

postgresql.statement.query.memory.local.hit

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

type: long

postgresql.statement.query.memory.local.read

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

type: long

postgresql.statement.query.memory.local.dirtied

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

type: long

postgresql.statement.query.memory.local.written

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

type: long

postgresql.statement.query.memory.temp.read

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

type: long

postgresql.statement.query.memory.temp.written

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

type: long