PostgreSQL 集成

编辑

PostgreSQL 集成

编辑

版本

1.25.0 (查看全部)

兼容的 Kibana 版本

8.13.0 或更高版本

支持的无服务器项目类型
这是什么?

安全
可观测性

订阅级别
这是什么?

基本

支持级别
这是什么?

Elastic

此集成定期从 PostgreSQL 服务器获取日志和指标。

兼容性

编辑

log 集成已使用来自 Ubuntu 9.5、Debian 9.6 以及 Arch Linux 9.3 上的 10.11、11.4 和 12.2 版本的日志进行了测试。 CSV 格式已使用 11 和 13 版本进行了测试(此处发行版无关紧要)。

activitybgwriterdatabasestatement 集成已使用 PostgreSQL 9.5.3 进行了测试,预计适用于所有 >= 9 的版本。

日志

编辑

log 集成以纯文本格式或 CSV 格式收集 PostgreSQL 日志。此集成还可以收集 AWS RDS PostgresSQL 标准日志。

使用 CSV 日志
编辑

由于 PostgreSQL CSV 日志文件是一种定义明确的格式,因此在 Fleet 中几乎无需进行任何配置,只需提供文件路径即可。

另一方面,必须配置 PostgreSQL 以发出 .csv 日志。

建议的参数是

logging_collector = 'on';
log_destination = 'csvlog';
log_statement = 'none';
log_checkpoints = on;
log_connections = on;
log_disconnections = on;
log_lock_waits = on;
log_min_duration_statement = 0;

在繁忙的服务器中,log_min_duration_statement 可能会导致争用,因此您可以分配一个大于 0 的值。

如果您没有持久连接,log_connectionslog_disconnections 都可能导致大量事件,因此请谨慎启用。

ECS 字段参考

有关 ECS 字段的详细信息,请参阅以下文档

导出的字段
字段 描述 类型

@timestamp

事件时间戳。

日期

cloud.image.id

云实例的映像 ID。

keyword

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

event.code

事件的标识代码。

keyword

event.dataset

事件数据集

constant_keyword

event.module

事件模块

constant_keyword

event.type

事件的严重性(信息、错误等)。

keyword

host.containerized

主机是否为容器。

boolean

host.os.build

操作系统构建信息。

keyword

host.os.codename

操作系统代号(如果有)。

keyword

input.type

输入类型。

keyword

log.flags

日志文件的标志。

keyword

log.offset

日志偏移量。

long

postgresql.log.application_name

此事件的应用程序名称。由客户端定义。

keyword

postgresql.log.backend_type

此事件的后端类型。可能的类型有 autovacuum launcher、autovacuum worker、logical replication launcher、logical replication worker、parallel worker、background writer、client backend、checkpointer、startup、walreceiver、walsender 和 walwriter。此外,由扩展注册的后台工作进程可能具有其他类型。

keyword

postgresql.log.client_addr

连接的来源主机。

keyword

postgresql.log.client_port

连接的来源端口。

long

postgresql.log.command_tag

会话当前命令的类型。完整列表可以在 src/include/tcop/cmdtaglist.h 中找到

keyword

postgresql.log.context

错误上下文。

keyword

postgresql.log.database

数据库名称。

keyword

postgresql.log.detail

有关消息的更多信息,参数(如果是参数化查询)。例如,角色 "user" 不存在。参数:$1 = 42 等。

keyword

postgresql.log.hint

解决错误的可能解决方案。

keyword

postgresql.log.internal_query

导致错误的内部查询(如果有)。

keyword

postgresql.log.internal_query_pos

内部查询的字符计数(如果有)。

long

postgresql.log.location

PostgreSQL 源代码中错误的位置(如果 log_error_verbosity 设置为 verbose)。

keyword

postgresql.log.query

查询语句。在 CSV 解析的情况下,查看 command_tag 以获取更多上下文。

keyword

postgresql.log.query_name

在使用扩展查询协议时给查询的名称。如果它是 "<unnamed\>" 或不存在,则忽略此字段。

keyword

postgresql.log.query_pos

错误位置的字符计数(如果有)。

long

postgresql.log.query_step

使用扩展查询协议时的语句步骤(statement、parse、bind 或 execute 之一)。

keyword

postgresql.log.sequence_number

序列号避免了最后一条消息重复 N 次的情况。

long

postgresql.log.session_id

PostgreSQL 会话。

keyword

postgresql.log.session_line_number

会话内的行号。(log_line_prefix 中的 %l)。

long

postgresql.log.session_start_time

此会话开始的时间。

日期

postgresql.log.sql_state_code

Postgres 返回的状态代码(如果有)。另请参见 https://postgresql.ac.cn/docs/current/errcodes-appendix.html

keyword

postgresql.log.timestamp

日志行中的时间戳。

keyword

postgresql.log.transaction_id

当前事务的 ID。

long

postgresql.log.virtual_transaction_id

后端本地事务 ID。

keyword

指标访问权限

编辑

为数据库用户分配 pg_monitorpg_read_all_stats 权限可能不足以从 PostgreSQL 服务器获取指标数据。除了 CONNECT 权限之外,还必须授予数据库用户对基础表/视图 pg_stat_bgwriterpg_stat_activitypg_stat_databasepg_stat_statementsSELECT 访问权限。

   grant select on table pg_stat_bgwriter to user;
   grant select on table pg_stat_activity to user;
   grant select on table pg_stat_database to user;
   grant select on table pg_stat_statements to user;

如果 pg_stat_statements 视图不可用,请运行以下命令

CREATE EXTENSION pg_stat_statements;

指标

编辑

activity

编辑

activity 数据集定期从 PostgreSQL 服务器获取指标。

示例

activity 的示例事件如下所示

{
    "@timestamp": "2024-04-30T09:14:50.873Z",
    "agent": {
        "ephemeral_id": "f065ed3c-78fb-41da-9fe6-88ab3ff0f088",
        "id": "69c77328-4412-45c4-8f98-cc7e7b1fc216",
        "name": "docker-fleet-agent",
        "type": "metricbeat",
        "version": "8.13.0"
    },
    "data_stream": {
        "dataset": "postgresql.activity",
        "namespace": "ep",
        "type": "metrics"
    },
    "database": {
        "oid": 12379
    },
    "ecs": {
        "version": "8.11.0"
    },
    "elastic_agent": {
        "id": "69c77328-4412-45c4-8f98-cc7e7b1fc216",
        "snapshot": false,
        "version": "8.13.0"
    },
    "event": {
        "agent_id_status": "verified",
        "dataset": "postgresql.activity",
        "duration": 6165334,
        "ingested": "2024-04-30T09:15:02Z",
        "module": "postgresql"
    },
    "host": {
        "architecture": "x86_64",
        "containerized": true,
        "hostname": "docker-fleet-agent",
        "id": "8259e024976a406e8a54cdbffeb84fec",
        "ip": [
            "192.168.251.4"
        ],
        "mac": [
            "02-42-C0-A8-FB-04"
        ],
        "name": "docker-fleet-agent",
        "os": {
            "codename": "focal",
            "family": "debian",
            "kernel": "3.10.0-1160.99.1.el7.x86_64",
            "name": "Ubuntu",
            "platform": "ubuntu",
            "type": "linux",
            "version": "20.04.6 LTS (Focal Fossa)"
        }
    },
    "metricset": {
        "name": "activity",
        "period": 10000
    },
    "postgresql": {
        "activity": {
            "application_name": "",
            "backend_start": "2024-04-30T09:14:50.875Z",
            "client": {
                "address": "192.168.251.4",
                "hostname": "",
                "port": 49266
            },
            "database": {
                "name": "postgres",
                "oid": 12379
            },
            "pid": 113,
            "query": "SELECT * FROM pg_stat_activity",
            "query_id": "W/d3kCHhA8b/M4YpzDBJHlJM7xU=",
            "query_start": "2024-04-30T09:14:50.877Z",
            "state": "active",
            "state_change": "2024-04-30T09:14:50.877Z",
            "transaction_start": "2024-04-30T09:14:50.877Z",
            "user": {
                "id": 10,
                "name": "postgres"
            },
            "waiting": false
        }
    },
    "service": {
        "address": "postgres://elastic-package-service-postgresql-1:5432?connect_timeout=10&sslmode=disable",
        "type": "postgresql"
    }
}

ECS 字段参考

有关 ECS 字段的详细信息,请参阅以下文档

导出的字段
字段 描述 类型

@timestamp

事件时间戳。

日期

agent.id

keyword

cloud.account.id

用于在多租户环境中标识不同实体的云帐户或组织 ID。示例:AWS 帐户 ID、Google Cloud ORG ID 或其他唯一标识符。

keyword

cloud.availability_zone

此主机运行所在的可用区。

keyword

cloud.image.id

云实例的映像 ID。

keyword

cloud.instance.id

主机机器的实例 ID。

keyword

cloud.provider

云提供商的名称。示例值包括 aws、azure、gcp 或 digitalocean。

keyword

cloud.region

此主机运行所在的区域。

keyword

container.id

唯一容器 ID。

keyword

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

database.oid

与此事件相关的数据库的 OID。

alias

event.dataset

事件数据集

constant_keyword

event.module

事件模块

constant_keyword

host.containerized

主机是否为容器。

boolean

host.name

主机的名称。它可以包含 Unix 系统上 hostname 返回的内容、完全限定的域名或用户指定的名称。发送方决定使用哪个值。

keyword

host.os.build

操作系统构建信息。

keyword

host.os.codename

操作系统代号(如果有)。

keyword

postgresql.activity.application_name

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

keyword

postgresql.activity.backend_start

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

日期

postgresql.activity.backend_type

后端类型

keyword

postgresql.activity.client.address

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

keyword

postgresql.activity.client.hostname

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

keyword

postgresql.activity.client.port

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

long

postgresql.activity.database.name

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

keyword

postgresql.activity.database.oid

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

long

postgresql.activity.pid

此后端的进程 ID。

long

postgresql.activity.query

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

keyword

postgresql.activity.query_id

表示已执行查询的唯一 ID

keyword

postgresql.activity.query_start

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

日期

postgresql.activity.state

此后端当前的总体状态。可能的值包括:* active:后端正在执行查询。* idle:后端正在等待新的客户端命令。* idle in transaction:后端处于事务中,但当前未执行查询。* idle in transaction (aborted):此状态与 idle in transaction 类似,只是事务中的某个语句导致了错误。* fastpath function call:后端正在执行快速路径函数。* disabled:如果在此后端中禁用 track_activities,则会报告此状态。

keyword

postgresql.activity.state_change

上次更改状态的时间。

日期

postgresql.activity.transaction_start

此进程当前事务开始的时间。

日期

postgresql.activity.user.id

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

long

postgresql.activity.user.name

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

keyword

postgresql.activity.wait_event

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

keyword

postgresql.activity.wait_event_type

如果后端正在等待,则为等待的事件类型;否则为 NULL。

keyword

postgresql.activity.waiting

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

boolean

service.address

收集有关此服务的数据的地址。这应为 URI、网络地址 (ipv4:port 或 [ipv6]:port) 或资源路径(套接字)。

keyword

bgwriter

编辑

PostgreSQL bgwriter 数据集通过运行 SELECT * FROM pg_stat_bgwriter; SQL 查询从 PostgreSQL 收集数据。

示例

bgwriter 的示例事件如下所示

{
    "@timestamp": "2022-01-12T03:38:29.389Z",
    "agent": {
        "ephemeral_id": "24686799-f7eb-4c30-b72d-8936c5c0546a",
        "id": "9878d192-22ad-49b6-a6c2-9959b0815d04",
        "name": "docker-fleet-agent",
        "type": "metricbeat",
        "version": "8.0.0-beta1"
    },
    "data_stream": {
        "dataset": "postgresql.bgwriter",
        "namespace": "ep",
        "type": "metrics"
    },
    "ecs": {
        "version": "8.11.0"
    },
    "elastic_agent": {
        "id": "9878d192-22ad-49b6-a6c2-9959b0815d04",
        "snapshot": false,
        "version": "8.0.0-beta1"
    },
    "event": {
        "agent_id_status": "verified",
        "dataset": "postgresql.bgwriter",
        "duration": 16119001,
        "ingested": "2022-01-12T03:38:30Z",
        "module": "postgresql"
    },
    "host": {
        "architecture": "x86_64",
        "containerized": true,
        "hostname": "docker-fleet-agent",
        "id": "4ccba669f0df47fa3f57a9e4169ae7f1",
        "ip": [
            "172.18.0.4"
        ],
        "mac": [
            "02-42-C0-A8-FB-04"
        ],
        "name": "docker-fleet-agent",
        "os": {
            "codename": "Core",
            "family": "redhat",
            "kernel": "5.11.0-44-generic",
            "name": "CentOS Linux",
            "platform": "centos",
            "type": "linux",
            "version": "7 (Core)"
        }
    },
    "metricset": {
        "name": "bgwriter",
        "period": 10000
    },
    "postgresql": {
        "bgwriter": {
            "buffers": {
                "allocated": 187,
                "backend": 0,
                "backend_fsync": 0,
                "checkpoints": 0,
                "clean": 0,
                "clean_full": 0
            },
            "checkpoints": {
                "requested": 0,
                "scheduled": 0,
                "times": {
                    "sync": {
                        "ms": 0
                    },
                    "write": {
                        "ms": 0
                    }
                }
            },
            "stats_reset": "2022-01-12T03:38:06.524Z"
        }
    },
    "service": {
        "address": "postgres://elastic-package-service-postgresql-1:5432?connect_timeout=10&sslmode=disable",
        "type": "postgresql"
    }
}

ECS 字段参考

有关 ECS 字段的详细信息,请参阅以下文档

导出的字段
字段 描述 类型 指标类型

@timestamp

事件时间戳。

日期

agent.id

keyword

cloud.account.id

用于在多租户环境中标识不同实体的云帐户或组织 ID。示例:AWS 帐户 ID、Google Cloud ORG ID 或其他唯一标识符。

keyword

cloud.availability_zone

此主机运行所在的可用区。

keyword

cloud.image.id

云实例的映像 ID。

keyword

cloud.instance.id

主机机器的实例 ID。

keyword

cloud.provider

云提供商的名称。示例值包括 aws、azure、gcp 或 digitalocean。

keyword

cloud.region

此主机运行所在的区域。

keyword

container.id

唯一容器 ID。

keyword

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

event.dataset

事件数据集

constant_keyword

event.module

事件模块

constant_keyword

host.containerized

主机是否为容器。

boolean

host.name

主机的名称。它可以包含 Unix 系统上 hostname 返回的内容、完全限定的域名或用户指定的名称。发送方决定使用哪个值。

keyword

host.os.build

操作系统构建信息。

keyword

host.os.codename

操作系统代号(如果有)。

keyword

postgresql.bgwriter.buffers.allocated

分配的缓冲区数。

long

counter

postgresql.bgwriter.buffers.backend

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

long

counter

postgresql.bgwriter.buffers.backend_fsync

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

long

counter

postgresql.bgwriter.buffers.checkpoints

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

long

counter

postgresql.bgwriter.buffers.clean

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

long

counter

postgresql.bgwriter.buffers.clean_full

后台写入器因写入的缓冲区太多而停止清理扫描的次数。

long

counter

postgresql.bgwriter.checkpoints.requested

已执行的请求检查点数。

long

counter

postgresql.bgwriter.checkpoints.scheduled

已执行的计划检查点数。

long

counter

postgresql.bgwriter.checkpoints.times.sync.ms

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

浮点数

counter

postgresql.bgwriter.checkpoints.times.write.ms

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

浮点数

counter

postgresql.bgwriter.stats_reset

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

日期

service.address

收集有关此服务的数据的地址。这应为 URI、网络地址 (ipv4:port 或 [ipv6]:port) 或资源路径(套接字)。

keyword

数据库

编辑

database 数据集定期从 PostgreSQL 服务器获取指标。

示例

database 的示例事件如下所示

{
    "@timestamp": "2024-05-01T09:58:10.541Z",
    "agent": {
        "ephemeral_id": "f01bc762-745d-4991-8e9e-72d8b06d0460",
        "id": "de455097-cace-48cd-b1db-e2dda1bf1ecd",
        "name": "docker-fleet-agent",
        "type": "metricbeat",
        "version": "8.13.0"
    },
    "data_stream": {
        "dataset": "postgresql.database",
        "namespace": "ep",
        "type": "metrics"
    },
    "database": {
        "oid": 12379
    },
    "ecs": {
        "version": "8.11.0"
    },
    "elastic_agent": {
        "id": "de455097-cace-48cd-b1db-e2dda1bf1ecd",
        "snapshot": false,
        "version": "8.13.0"
    },
    "event": {
        "agent_id_status": "verified",
        "dataset": "postgresql.database",
        "duration": 17453448,
        "ingested": "2024-05-01T09:58:22Z",
        "module": "postgresql"
    },
    "host": {
        "architecture": "x86_64",
        "containerized": true,
        "hostname": "docker-fleet-agent",
        "id": "8259e024976a406e8a54cdbffeb84fec",
        "ip": [
            "192.168.241.7"
        ],
        "mac": [
            "02-42-C0-A8-F1-07"
        ],
        "name": "docker-fleet-agent",
        "os": {
            "codename": "focal",
            "family": "debian",
            "kernel": "3.10.0-1160.99.1.el7.x86_64",
            "name": "Ubuntu",
            "platform": "ubuntu",
            "type": "linux",
            "version": "20.04.6 LTS (Focal Fossa)"
        }
    },
    "metricset": {
        "name": "database",
        "period": 10000
    },
    "postgresql": {
        "database": {
            "blocks": {
                "hit": 2604,
                "read": 256,
                "time": {
                    "read": {
                        "ms": 0
                    },
                    "write": {
                        "ms": 0
                    }
                }
            },
            "conflicts": 0,
            "deadlocks": 0,
            "name": "postgres",
            "number_of_backends": 1,
            "oid": 12379,
            "rows": {
                "deleted": 0,
                "fetched": 1514,
                "inserted": 43,
                "returned": 1719,
                "updated": 3
            },
            "stats_reset": "2024-05-01T09:57:46.179Z",
            "temporary": {
                "bytes": 0,
                "files": 0
            },
            "transactions": {
                "commit": 10,
                "rollback": 0
            }
        }
    },
    "service": {
        "address": "postgres://elastic-package-service-postgresql-1:5432?connect_timeout=10&sslmode=disable",
        "type": "postgresql"
    }
}

ECS 字段参考

有关 ECS 字段的详细信息,请参阅以下文档

导出的字段
字段 描述 类型 指标类型

@timestamp

事件时间戳。

日期

agent.id

keyword

cloud.account.id

用于在多租户环境中标识不同实体的云帐户或组织 ID。示例:AWS 帐户 ID、Google Cloud ORG ID 或其他唯一标识符。

keyword

cloud.availability_zone

此主机运行所在的可用区。

keyword

cloud.image.id

云实例的映像 ID。

keyword

cloud.instance.id

主机机器的实例 ID。

keyword

cloud.provider

云提供商的名称。示例值包括 aws、azure、gcp 或 digitalocean。

keyword

cloud.region

此主机运行所在的区域。

keyword

container.id

唯一容器 ID。

keyword

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

database.oid

与此事件相关的数据库的 OID。

alias

event.dataset

事件数据集

constant_keyword

event.module

事件模块

constant_keyword

host.containerized

主机是否为容器。

boolean

host.name

主机的名称。它可以包含 Unix 系统上 hostname 返回的内容、完全限定的域名或用户指定的名称。发送方决定使用哪个值。

keyword

host.os.build

操作系统构建信息。

keyword

host.os.codename

操作系统代号(如果有)。

keyword

postgresql.database.blocks.hit

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

long

计量器

postgresql.database.blocks.read

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

long

计量器

postgresql.database.blocks.time.read.ms

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

long

counter

postgresql.database.blocks.time.write.ms

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

long

counter

postgresql.database.conflicts

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

long

counter

postgresql.database.deadlocks

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

long

计量器

postgresql.database.name

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

keyword

postgresql.database.number_of_backends

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

long

计量器

postgresql.database.oid

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

long

postgresql.database.rows.deleted

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

long

计量器

postgresql.database.rows.fetched

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

long

计量器

postgresql.database.rows.inserted

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

long

计量器

postgresql.database.rows.returned

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

long

计量器

postgresql.database.rows.updated

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

long

计量器

postgresql.database.stats_reset

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

日期

postgresql.database.temporary.bytes

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

long

计量器

postgresql.database.temporary.files

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

long

计量器

postgresql.database.transactions.commit

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

long

计量器

postgresql.database.transactions.rollback

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

long

计量器

service.address

收集有关此服务的数据的地址。这应为 URI、网络地址 (ipv4:port 或 [ipv6]:port) 或资源路径(套接字)。

keyword

语句

编辑

statement 数据集定期从 PostgreSQL 服务器获取指标。

示例

statement 的示例事件如下所示

{
    "@timestamp": "2024-04-30T09:17:42.181Z",
    "agent": {
        "ephemeral_id": "0bad7d4e-66f6-408c-9ae4-f6f4daddb7ab",
        "id": "69c77328-4412-45c4-8f98-cc7e7b1fc216",
        "name": "docker-fleet-agent",
        "type": "metricbeat",
        "version": "8.13.0"
    },
    "data_stream": {
        "dataset": "postgresql.statement",
        "namespace": "ep",
        "type": "metrics"
    },
    "database": {
        "oid": 12379
    },
    "ecs": {
        "version": "8.11.0"
    },
    "elastic_agent": {
        "id": "69c77328-4412-45c4-8f98-cc7e7b1fc216",
        "snapshot": false,
        "version": "8.13.0"
    },
    "event": {
        "agent_id_status": "verified",
        "dataset": "postgresql.statement",
        "duration": 5544043,
        "ingested": "2024-04-30T09:17:54Z",
        "module": "postgresql"
    },
    "host": {
        "architecture": "x86_64",
        "containerized": true,
        "hostname": "docker-fleet-agent",
        "id": "8259e024976a406e8a54cdbffeb84fec",
        "ip": [
            "192.168.251.4"
        ],
        "mac": [
            "02-42-C0-A8-FB-04"
        ],
        "name": "docker-fleet-agent",
        "os": {
            "codename": "focal",
            "family": "debian",
            "kernel": "3.10.0-1160.99.1.el7.x86_64",
            "name": "Ubuntu",
            "platform": "ubuntu",
            "type": "linux",
            "version": "20.04.6 LTS (Focal Fossa)"
        }
    },
    "metricset": {
        "name": "statement",
        "period": 10000
    },
    "postgresql": {
        "statement": {
            "database": {
                "oid": 12379
            },
            "query": {
                "calls": 2,
                "id": 1691311383,
                "memory": {
                    "local": {
                        "dirtied": 0,
                        "hit": 0,
                        "read": 0,
                        "written": 0
                    },
                    "shared": {
                        "dirtied": 0,
                        "hit": 12,
                        "read": 0,
                        "written": 0
                    },
                    "temp": {
                        "read": 0,
                        "written": 0
                    }
                },
                "rows": 6,
                "text": "SELECT d.datname as \"Name\",\n       pg_catalog.pg_get_userbyid(d.datdba) as \"Owner\",\n       pg_catalog.pg_encoding_to_char(d.encoding) as \"Encoding\",\n       d.datcollate as \"Collate\",\n       d.datctype as \"Ctype\",\n       pg_catalog.array_to_string(d.datacl, ?) AS \"Access privileges\"\nFROM pg_catalog.pg_database d\nORDER BY 1;",
                "time": {
                    "max": {
                        "ms": 0.107
                    },
                    "mean": {
                        "ms": 0
                    },
                    "min": {
                        "ms": 0.096
                    },
                    "stddev": {
                        "ms": 0
                    },
                    "total": {
                        "ms": 0.203
                    }
                }
            },
            "user": {
                "id": 10
            }
        }
    },
    "service": {
        "address": "postgres://elastic-package-service-postgresql-1:5432?connect_timeout=10&sslmode=disable",
        "type": "postgresql"
    }
}

ECS 字段参考

有关 ECS 字段的详细信息,请参阅以下文档

导出的字段
字段 描述 类型 指标类型

@timestamp

事件时间戳。

日期

agent.id

keyword

cloud.account.id

用于在多租户环境中标识不同实体的云帐户或组织 ID。示例:AWS 帐户 ID、Google Cloud ORG ID 或其他唯一标识符。

keyword

cloud.availability_zone

此主机运行所在的可用区。

keyword

cloud.image.id

云实例的映像 ID。

keyword

cloud.instance.id

主机机器的实例 ID。

keyword

cloud.provider

云提供商的名称。示例值包括 aws、azure、gcp 或 digitalocean。

keyword

cloud.region

此主机运行所在的区域。

keyword

container.id

唯一容器 ID。

keyword

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

database.oid

与此事件相关的数据库的 OID。

alias

event.dataset

事件数据集

constant_keyword

event.module

事件模块

constant_keyword

host.containerized

主机是否为容器。

boolean

host.name

主机的名称。它可以包含 Unix 系统上 hostname 返回的内容、完全限定的域名或用户指定的名称。发送方决定使用哪个值。

keyword

host.os.build

操作系统构建信息。

keyword

host.os.codename

操作系统代号(如果有)。

keyword

postgresql.statement.database.oid

运行查询的数据库的 OID。

long

postgresql.statement.query.calls

查询已运行的次数。

long

counter

postgresql.statement.query.id

语句的 ID。

long

postgresql.statement.query.memory.local.dirtied

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

long

counter

postgresql.statement.query.memory.local.hit

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

long

counter

postgresql.statement.query.memory.local.read

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

long

counter

postgresql.statement.query.memory.local.written

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

long

counter

postgresql.statement.query.memory.shared.dirtied

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

long

counter

postgresql.statement.query.memory.shared.hit

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

long

counter

postgresql.statement.query.memory.shared.read

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

long

counter

postgresql.statement.query.memory.shared.written

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

long

counter

postgresql.statement.query.memory.temp.read

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

long

counter

postgresql.statement.query.memory.temp.written

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

long

counter

postgresql.statement.query.rows

查询返回的总行数。

long

counter

postgresql.statement.query.text

查询文本

keyword

postgresql.statement.query.time.max.ms

运行查询所花费的最大时间,以毫秒为单位。

浮点数

计量器

postgresql.statement.query.time.mean.ms

运行查询所花费的平均时间,以毫秒为单位。

long

计量器

postgresql.statement.query.time.min.ms

运行查询所花费的最小时间,以毫秒为单位。

浮点数

计量器

postgresql.statement.query.time.stddev.ms

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

long

计量器

postgresql.statement.query.time.total.ms

运行查询所花费的总时间,以毫秒为单位。

浮点数

计量器

postgresql.statement.user.id

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

long

service.address

收集有关此服务的数据的地址。这应为 URI、网络地址 (ipv4:port 或 [ipv6]:port) 或资源路径(套接字)。

keyword

更新日志

编辑
更新日志
版本 详细信息 Kibana 版本

1.25.0

增强功能 (查看拉取请求)
添加为日志和指标设置条件的功能。

8.13.0 或更高版本

1.24.0

错误修复 (查看拉取请求)
修复日志数据流 grok 模式以支持标准日志。

8.13.0 或更高版本

1.23.0

增强功能 (查看拉取请求)
添加对活动、后台写入器、数据库和语句数据流的处理器支持。

8.13.0 或更高版本

1.22.0

增强功能 (查看拉取请求)
ECS 版本已更新至 8.11.0。将 kibana 约束更新为 ^8.13.0。修改了字段定义,以删除 ecs@mappings 组件模板中变得冗余的 ECS 字段。

8.13.0 或更高版本

1.21.0

增强功能 (查看拉取请求)
在 data_stream.dataset 上添加全局过滤器以提高性能。

8.12.0 或更高版本

1.20.0

增强功能 (查看拉取请求)
为数据库 oid 字段添加别名字段。

8.12.0 或更高版本

1.19.0

增强功能 (查看拉取请求)
为敏感字段启用密钥。有关更多详细信息,请参阅 https://elastic.ac.cn/guide/en/fleet/current/agent-policy.html#agent-policy-secret-values

8.12.0 或更高版本

1.18.1

错误修复 (查看拉取请求)
由于错误,对较旧的堆栈版本禁用密钥。

8.8.0 或更高版本

1.18.0

增强功能 (查看拉取请求)
为敏感字段启用 *secret*,从 8.12 开始支持。

8.8.0 或更高版本

1.17.2

增强功能 (查看拉取请求)
改进了毫秒数的措辞。

8.8.0 或更高版本

1.17.1

错误修复 (查看拉取请求)
postgresql.activity.query 替换为 postgresql.activity.query_id 作为 TSDS 维度字段,以支持长度大于 1024 的查询。

8.8.0 或更高版本

1.17.0

增强功能 (查看拉取请求)
将包 format_version 更新为 3.0.0。

8.8.0 或更高版本

1.16.1

错误修复 (查看拉取请求)
向重命名处理器添加 null 检查和 ignore_missing 检查

8.8.0 或更高版本

1.16.0

增强功能 (查看拉取请求)
为指标数据集启用时间序列数据流。这大大减少了指标的存储,并有望逐步提高查询性能。有关更多详细信息,请参阅 https://elastic.ac.cn/guide/en/elasticsearch/reference/current/tsds.html

8.8.0 或更高版本

1.15.2

增强功能 (查看拉取请求)
添加了对活动数据流的 TSDB 启用支持的更改。

8.4.0 或更高版本

1.15.1

增强功能 (查看拉取请求)
databasebgwriter 数据流添加新的维度字段。

8.4.0 或更高版本

1.15.0

增强功能 (查看拉取请求)
为 TSDB 启用添加语句数据流的维度映射。

8.4.0 或更高版本

1.14.0

增强功能 (查看拉取请求)
将所有权从 obs-service-integrations 重命名为 obs-infraobs-integrations

8.4.0 或更高版本

1.13.0

增强功能 (查看拉取请求)
Query Duration Overview 仪表板可视化迁移到 lens。

8.4.0 或更高版本

1.12.0

增强功能 (查看拉取请求)
Database Overview 仪表板可视化迁移到 lens。

8.4.0 或更高版本

1.11.0

增强功能 (查看拉取请求)
Overview 仪表板可视化迁移到 lens。

8.4.0 或更高版本

1.10.0

增强功能 (查看拉取请求)
添加了对后台写入器数据流的 TSDB 启用支持的更改。

7.14.0 或更高版本
8.0.0 或更高版本

1.9.0

增强功能 (查看拉取请求)
为 TSDB 启用添加数据库数据流的维度映射。

7.14.0 或更高版本
8.0.0 或更高版本

1.8.0

增强功能 (查看拉取请求)
为数据库数据流添加指标类型映射。

7.14.0 或更高版本
8.0.0 或更高版本

1.7.0

增强功能 (查看拉取请求)
为语句数据流添加指标类型映射。

7.14.0 或更高版本
8.0.0 或更高版本

1.6.1

增强功能 (查看拉取请求)
添加了类别和/或子类别。

7.14.0 或更高版本
8.0.0 或更高版本

1.6.0

增强 (查看拉取请求)
将 ECS 版本更新至 8.5.1

7.14.0 或更高版本
8.0.0 或更高版本

1.5.0

增强 (查看拉取请求)
添加基础设施类别。

7.14.0 或更高版本
8.0.0 或更高版本

1.4.2

增强 (查看拉取请求)
删除未使用的可视化

7.14.0 或更高版本
8.0.0 或更高版本

1.4.1

错误修复 (查看拉取请求)
修复当 user.name 和 postgresql.log.database 带有括号时的管道问题

7.14.0 或更高版本
8.0.0 或更高版本

1.4.0

增强 (查看拉取请求)
添加对 AWS postgresql 标准日志格式的支持

7.14.0 或更高版本
8.0.0 或更高版本

1.3.1

增强 (查看拉取请求)
添加多字段文档

7.14.0 或更高版本
8.0.0 或更高版本

1.3.0

增强 (查看拉取请求)
更新至 ECS 8.0

1.2.0

增强 (查看拉取请求)
发布 v8.0.0 版本的 postgresql 包

7.14.0 或更高版本
8.0.0 或更高版本

1.1.2

增强 (查看拉取请求)
与指南保持一致

1.1.1

错误修复 (查看拉取请求)
修复检查 forwarded 标签的逻辑

1.1.0

增强 (查看拉取请求)
更新至 ECS 1.12.0

7.14.0 或更高版本

1.0.0

增强 (查看拉取请求)
发布 PostreSQL 作为 GA 版本

0.7.3

增强 (查看拉取请求)
转换为生成的 ECS 字段

0.7.2

增强 (查看拉取请求)
更新至 ECS 1.11.0

0.7.1

增强 (查看拉取请求)
转义文档中的特殊字符

0.7.0

增强 (查看拉取请求)
更新文档以符合 mdx 规范

0.6.0

增强 (查看拉取请求)
更新集成描述

0.5.0

增强 (查看拉取请求)
设置 "event.module" 和 "event.dataset"

增强 (查看拉取请求)
启用 ECS 依赖

0.4.0

增强 (查看拉取请求)
更新至 ECS 1.10.0 并添加 event.original 选项

0.3.1

增强 (查看拉取请求)
更新至 ECS 1.9.0

0.3.0

增强 (查看拉取请求)
添加对 CSV 格式日志的支持

0.2.7

增强 (查看拉取请求)
更新包所有者

0.2.6

错误修复 (查看拉取请求)
更正示例事件文件。

0.1.0

增强 (查看拉取请求)
初始发布