APM 集成

编辑

版本

8.4.2 (查看全部)

兼容的 Kibana 版本

8.4.0 或更高版本

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

安全性
可观测性

订阅级别
这是什么?

基本

APM 集成安装用于 APM 数据的 Elasticsearch 模板和摄取节点管道。

要了解有关 APM 集成架构的更多信息,请参阅 APM 组件

快速入门

编辑

准备好开始了吗?请阅读 APM 快速入门

如何使用此集成

编辑

将 APM 集成添加到 Elastic Agent 策略以创建一个 apm 输入。使用此策略设置的任何 Elastic Agent 都将在本地运行 APM Server 二进制文件。不要忘记配置 APM Server 的 host,尤其是在需要从外部访问时,例如在 Docker 中运行时。然后,配置您的 APM 代理以与 APM Server 通信。

如果启用了真实用户监控 (RUM),则必须集中运行 Elastic Agent。否则,可以通过在您的检测服务运行的同一台机器上下载和安装 Elastic Agent,在边缘机器上运行它。

数据流
编辑

使用 APM 集成时,apm 事件被索引到数据流中。数据流名称包含事件类型、服务名称和用户可配置的命名空间。

对于用作命名空间的具体内容,没有明确的建议;它是故意保持灵活的。您可以使用环境,例如 productiontestingdevelopment,或者您可以按业务部门对数据进行命名空间。这取决于您的选择。

有关更多信息,请参阅 APM 数据流

兼容性

编辑

APM 集成需要 Kibana 和 Elasticsearch 7.12.x+ 以及至少基本许可证。APM 集成版本应与 Elastic Stack Major.Minor 版本匹配。例如,APM 集成版本 7.16.2 应与 Elastic Stack 7.16.x 一起运行。

如果以独立模式手动使用 Elastic Agent 运行 APM Server,则必须安装 APM 集成,否则 APM Server 将不会摄取任何事件。

跟踪

编辑

跟踪由跨度和事务组成。

跟踪被写入 traces-apm-* 数据流,RUM 跟踪除外,它被写入 traces-apm.rum-*

导出的字段
字段 描述 类型

@timestamp

事件产生的日期/时间。这是从事件中提取的日期/时间,通常表示事件由源生成的时间。如果事件源没有原始时间戳,则此值通常由管道首次接收到事件的时间填充。所有事件的必填字段。

date

agent.ephemeral_id

此代理的临时标识符(如果存在)。此 ID 通常在重新启动时更改,但 agent.id 不会更改。

keyword

agent.name

代理的自定义名称。这是一个可以给代理的名称。例如,如果两个 Filebeat 实例在同一主机上运行,但需要以人工可读的方式分离数据来自哪个 Filebeat 实例,这会很有帮助。如果未给定名称,则名称通常为空。

keyword

agent.version

代理的版本。

keyword

child.id

子事件的 ID。

keyword

client.domain

客户端域。

keyword

client.geo.city_name

城市名称。

keyword

client.geo.continent_name

大洲名称。

keyword

client.geo.country_iso_code

国家/地区 ISO 代码。

keyword

client.geo.country_name

国家/地区名称。

keyword

client.geo.location

经度和纬度。

geo_point

client.geo.region_iso_code

区域 ISO 代码。

keyword

client.geo.region_name

区域名称。

keyword

client.ip

客户端的 IP 地址(IPv4 或 IPv6)。

ip

client.port

客户端的端口。

long

cloud.account.id

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

keyword

cloud.account.name

用于标识多租户环境中不同实体的云帐户名称或别名。示例:AWS 帐户名称、Google Cloud ORG 显示名称。

keyword

cloud.availability_zone

此主机、资源或服务所在的可用区。

keyword

cloud.instance.id

主机机器的实例 ID。

keyword

cloud.instance.name

主机机器的实例名称。

keyword

cloud.machine.type

主机机器的机器类型。

keyword

cloud.origin.account.id

用于标识多租户环境中不同实体的云帐户或组织 ID。

keyword

cloud.origin.provider

云提供商的名称。

keyword

cloud.origin.region

此主机、资源或服务所在的区域。

keyword

cloud.origin.service.name

云服务名称旨在区分在提供商内的不同平台上运行的服务。

keyword

cloud.project.id

云项目标识符。示例:Google Cloud 项目 ID、Azure 项目 ID。

keyword

cloud.project.name

云项目名称。示例:Google Cloud 项目名称、Azure 项目名称。

keyword

cloud.provider

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

keyword

cloud.region

此主机、资源或服务所在的区域。

keyword

cloud.service.name

云服务名称旨在区分在提供商内的不同平台上运行的服务,例如 AWS EC2 与 Lambda、GCP GCE 与 App Engine、Azure VM 与 App Server。示例:app engine、app service、cloud run、fargate、lambda。

keyword

container.id

唯一的容器 ID。

keyword

data_stream.dataset

该字段可以包含任何有意义的表示数据来源的内容。示例包括 nginx.accessprometheusendpoint 等。对于其他方面都符合,但未设置数据集的数据流,我们使用值“generic”作为数据集值。event.dataset 应具有与 data_stream.dataset 相同的值。除了上面提到的 Elasticsearch 数据流命名标准外,dataset 值还有其他限制:* 不能包含 - * 长度不得超过 100 个字符

constant_keyword

data_stream.namespace

用户定义的命名空间。命名空间对于允许数据分组非常有用。许多用户已经以这种方式组织他们的索引,并且数据流命名方案现在提供了这种最佳实践作为默认值。许多用户将使用 default 填充此字段。如果未使用值,则会回退到 default。除了上面提到的 Elasticsearch 索引命名标准外,namespace 值还有其他限制:* 不能包含 - * 长度不得超过 100 个字符

constant_keyword

data_stream.type

数据流的总体类型。当前允许的值为“logs”和“metrics”。我们期望在不久的将来也添加“traces”和“synthetics”。

constant_keyword

destination.address

某些事件目标地址的定义不明确。事件有时会列出 IP、域或 Unix 套接字。您应该始终将原始地址存储在 .address 字段中。然后,应将其复制到 .ip.domain,具体取决于它是哪一个。

keyword

destination.ip

目标的 IP 地址(IPv4 或 IPv6)。

ip

destination.port

目标的端口。

long

ecs.version

此事件符合的 ECS 版本。ecs.version 是一个必填字段,必须存在于所有事件中。在跨多个索引(可能符合略有不同的 ECS 版本)进行查询时,此字段使集成能够调整为事件的架构版本。

keyword

event.outcome

这是四个 ECS 分类字段之一,指示 ECS 类别层次结构中的最低级别。event.outcome 仅表示从生成事件的实体的角度来看,事件是表示成功还是失败。请注意,当在多个事件中描述单个事务时,每个事件可能会根据其角度填充不同的 event.outcome 值。另请注意,在复合事件(包含多个逻辑事件的单个事件)的情况下,应使用最能从事件生成者的角度捕获整体成功或失败的值来填充此字段。此外,请注意并非所有事件都有关联的结果。例如,通常不会为指标事件、event.type:info 的事件或任何结果不符合逻辑意义的事件填充此字段。

keyword

faas.coldstart

布尔值,指示函数调用是否为冷启动。

boolean

faas.execution

函数调用的请求 ID。

keyword

faas.id

调用的无服务器函数的唯一标识符。

keyword

faas.name

lambda 函数名称。

keyword

faas.trigger.request_id

原始触发请求的 ID。

keyword

faas.trigger.type

触发类型。

keyword

faas.version

lambda 函数版本。

keyword

host.architecture

操作系统架构。

keyword

host.hostname

主机的 hostname。它通常包含主机机器上 hostname 命令返回的内容。

keyword

host.ip

主机 IP 地址。

ip

host.name

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

keyword

host.os.platform

操作系统平台(例如 centos、ubuntu、windows)。

keyword

http.request.headers

受监控的 HTTP 请求的规范标头。

object

http.request.method

HTTP 请求方法。在 ECS 1.6.0 之前,提供了以下指导:“字段值必须规范化为小写,以便查询。” 从 ECS 1.6.0 开始,该指导已弃用,因为方法的原始大小写在异常检测中可能有用。原始大小写将在 ECS 2.0.0 中强制执行

keyword

http.request.referrer

此 HTTP 请求的引用者。

keyword

http.response.finished

由 Node 代理用于指示响应生命周期中发生错误的时间。

boolean

http.response.headers

受监控的 HTTP 响应的规范标头。

object

http.response.status_code

HTTP 响应状态代码。

long

http.version

HTTP 版本。

keyword

kubernetes.namespace

Kubernetes 命名空间

keyword

kubernetes.node.name

Kubernetes 节点名称

keyword

kubernetes.pod.name

Kubernetes Pod 名称

keyword

kubernetes.pod.uid

Kubernetes Pod UID

keyword

labels

自定义键值对。 可用于向事件添加元信息。 不应包含嵌套对象。所有值都存储为关键字。 示例: dockerk8s 标签。

object

network.carrier.icc

ISO 国家代码,例如 US

keyword

network.carrier.mcc

移动国家代码

keyword

network.carrier.mnc

移动网络代码

keyword

network.carrier.name

运营商名称,例如 Vodafone、T-Mobile 等。

keyword

network.connection.subtype

详细的网络连接子类型,例如“LTE”、“CDMA”

keyword

network.connection.type

网络连接类型,例如“wifi”、“cell”

keyword

numeric_labels

自定义键值对。 可用于向事件添加元信息。 不应包含嵌套对象。所有值都存储为 scaled_float。

object

observer.ephemeral_id

APM Server 的临时标识符。

keyword

observer.hostname

观察者的主机名。

keyword

observer.id

APM Server 的唯一标识符。

keyword

observer.name

观察者的自定义名称。这是一个可以分配给观察者的名称。例如,如果组织中使用多个相同型号的防火墙,这将很有帮助。如果不需要自定义名称,则该字段可以留空。

keyword

observer.type

数据来源的观察者类型。没有预定义的观察者类型列表。一些示例包括 forwarderfirewallidsipsproxypollersensorAPM server

keyword

observer.version

观察者版本。

keyword

parent.id

父事件的 ID。

keyword

process.args

进程参数数组,从可执行文件的绝对路径开始。 可以过滤以保护敏感信息。

keyword

process.pid

进程 ID。

long

process.ppid

父进程的 pid。

long

process.title

进程标题。proctitle,有时与进程名称相同。也可能不同:例如,浏览器将其标题设置为当前打开的网页。

keyword

process.title.text

process.title 的多字段。

match_only_text

processor.event

处理器事件。

keyword

processor.name

处理器名称。

constant_keyword

service.environment

标识服务运行的环境。如果同一服务在不同环境(生产、暂存、QA、开发等)中运行,则环境可以标识同一服务的其他实例。还可以将来自同一环境的服务和应用程序分组。

keyword

service.framework.name

所用框架的名称。

keyword

service.framework.version

所用框架的版本。

keyword

service.language.name

所用编程语言的名称。

keyword

service.language.version

所用编程语言的版本。

keyword

service.name

从中收集数据的服务的名称。服务名称通常由用户指定。这允许运行在多个主机上的分布式服务基于名称关联相关实例。对于 Elasticsearch,service.name 可能包含集群名称。对于 Beats,如果没有指定名称,则 service.name 默认是 service.type 字段的副本。

keyword

service.node.name

服务节点的名称。这允许区分在同一主机上运行的同一服务的两个节点。因此,service.node.name 通常在给定服务的节点之间应该是唯一的。对于 Elasticsearch,service.node.name 可能包含 Elasticsearch 集群中的唯一节点名称。如果服务没有节点名称的概念,则可以使用主机名或容器名称来区分构成此服务的运行实例。如果这些不能提供唯一性(例如,同一服务的多个实例在同一主机上运行),则可以手动设置节点名称。

keyword

service.origin.id

发出此事件的服务的不可变 ID。

keyword

service.origin.name

发出此事件的服务的不可变名称。

keyword

service.origin.version

从中收集数据的服务的版本。

keyword

service.runtime.name

所用运行时的名称。

keyword

service.runtime.version

所用运行时的版本。

keyword

service.target.name

从中收集数据的目标服务。

keyword

service.target.type

从中收集数据的目标服务的类型

keyword

service.version

从中收集数据的服务的版本。这允许仅查看特定服务版本的数据集。

keyword

session.id

事件所属会话的 ID。

keyword

session.sequence

事件所属会话中的事件序列号。

long

source.domain

源域。

keyword

source.ip

源的 IP 地址(IPv4 或 IPv6)。

ip

source.nat.ip

基于源 NAT 会话的源的转换 IP(例如,内部客户端到 Internet)。通常是遍历负载均衡器、防火墙或路由器的连接。

ip

source.nat.port

基于源 NAT 会话的源的转换端口。(例如,内部客户端到 Internet)通常与负载均衡器、防火墙或路由器一起使用。

long

source.port

源的端口。

long

span.action

跨度所代表的子类型中的特定事件类型(例如,查询、连接)

keyword

span.composite.compression_strategy

使用的压缩策略。

keyword

span.composite.count

复合跨度表示的压缩跨度的数量。

long

span.composite.sum.us

压缩跨度的持续时间总和,以微秒为单位。

long

span.db.link

数据库链接。

keyword

span.db.rows_affected

数据库语句影响的行数。

long

span.destination.service.name

目标服务的标识符(例如,https://elastic.ac.cnelasticsearchrabbitmq)已弃用:此字段将在未来的版本中删除

keyword

span.destination.service.resource

正在操作的目标服务资源的标识符(例如,https://elastic.ac.cn:80elasticsearchrabbitmq/queue_name

keyword

span.destination.service.type

目标服务的类型(例如,dbelasticsearch)。通常应与 span.type 相同。已弃用:此字段将在未来的版本中删除

keyword

span.duration.us

跨度的持续时间,以微秒为单位。

long

span.id

跨度在其跟踪范围内的唯一标识符。跨度表示事务中的一个操作,例如对另一个服务的请求或数据库查询。

keyword

span.kind

“跨度的种类:CLIENT、SERVER、PRODUCER、CONSUMER 或 INTERNAL。”

keyword

span.links.span.id

链接跨度的唯一标识符。

keyword

span.links.trace.id

链接跟踪的唯一标识符。

keyword

span.message.age.ms

消息的年龄(以毫秒为单位)。

long

span.message.queue.name

发布或接收消息的消息队列或主题的名称。

keyword

span.name

事务范围内的跨度的通用名称。

keyword

span.subtype

类型的进一步细分(例如 postgresql、elasticsearch)

keyword

span.sync

指示跨度是同步执行还是异步执行。

boolean

span.type

服务领域中特定相关的关键字(例如:db.postgresql.querytemplate.erbcache 等)。

keyword

timestamp.us

自 Unix 纪元以来的事件时间戳,以微秒为单位。

long

trace.id

跟踪的唯一标识符。跟踪将多个事件(如属于一起的事务)分组。例如,由多个互连服务处理的用户请求。

keyword

transaction.duration.us

此事务的总持续时间,以微秒为单位。

long

transaction.experience.cls

累积布局偏移指标

scaled_float

transaction.experience.fid

首次输入延迟指标

scaled_float

transaction.experience.longtask.count

长任务的总数

long

transaction.experience.longtask.max

最大长任务持续时间

scaled_float

transaction.experience.longtask.sum

长任务持续时间总和

scaled_float

transaction.experience.tbt

总阻塞时间指标

scaled_float

transaction.id

事务在其跟踪范围内的唯一标识符。事务是服务中衡量的最高级别的工作,例如对服务器的请求。

keyword

transaction.marks

用户定义的毫秒级标记组的映射。

object

transaction.message.age.ms

消息的年龄(以毫秒为单位)。

long

transaction.message.queue.name

发布或接收消息的消息队列或主题的名称。

keyword

transaction.name

单个服务范围内的事务的通用名称(例如,GET /users/:id)。

keyword

transaction.name.text

transaction.name 的多字段。

text

transaction.result

事务的结果。HTTP 相关事务的 HTTP 状态代码。

keyword

transaction.sampled

采样的事务将包括所有可用信息。未采样的事务将没有跨度或上下文。

boolean

transaction.span_count.dropped

此事务丢弃的跨度总数。

long

transaction.type

服务领域中特定相关的关键字(例如,requestbackgroundjob 等)

keyword

url.domain

URL 的域,例如“https://elastic.ac.cn[www.elastic.co]”。在某些情况下,URL 可能直接引用 IP 和/或端口,而没有域名。在这种情况下,IP 地址将转到 domain 字段。如果 URL 包含用 [] 括起来的文字 IPv6 地址(IETF RFC 2732),则 [] 字符也应捕获到 domain 字段中。

keyword

url.fragment

URL 中 # 之后的部分,例如“top”。# 不是片段的一部分。

keyword

url.full

如果完整 URL 对您的用例很重要,则应将它们存储在 url.full 中,无论此字段是重建的还是存在于事件源中。

wildcard

url.full.text

url.full 的多字段。

match_only_text

url.original

在事件源中看到的未修改的原始 URL。请注意,在网络监控中,观察到的 URL 可能是完整的 URL,而在访问日志中,URL 通常仅表示为路径。此字段旨在表示观察到的 URL,无论是否完整。

wildcard

url.original.text

url.original 的多字段。

match_only_text

url.path

请求的路径,例如“/search”。

wildcard

url.port

请求的端口,例如 443。

long

url.query

query 字段描述请求的查询字符串,例如“q=elasticsearch”。? 从查询字符串中排除。如果 URL 不包含 ?,则没有查询字段。如果存在 ? 但没有查询,则查询字段存在空字符串。exists 查询可用于区分这两种情况。

keyword

url.scheme

请求的方案,例如“https”。注意:: 不是方案的一部分。

keyword

user.domain

用户所属目录的名称。例如,LDAP 或 Active Directory 域名。

keyword

user.email

用户电子邮件地址。

keyword

user.id

用户的唯一标识符。

keyword

user.name

用户的简称或登录名。

keyword

user.name.text

user.name 的多字段。

match_only_text

user_agent.device.name

设备的名称。

keyword

user_agent.name

用户代理的名称。

keyword

user_agent.original

未解析的用户代理字符串。

keyword

user_agent.original.text

user_agent.original 的多字段。

match_only_text

user_agent.os.family

操作系统系列(例如 redhat、debian、freebsd、windows)。

keyword

user_agent.os.full

操作系统名称,包括版本或代号。

keyword

user_agent.os.full.text

user_agent.os.full 的多字段。

match_only_text

user_agent.os.kernel

操作系统内核版本,以原始字符串表示。

keyword

user_agent.os.name

操作系统名称,不包含版本。

keyword

user_agent.os.name.text

user_agent.os.name 的多字段。

match_only_text

user_agent.os.platform

操作系统平台(例如 centos、ubuntu、windows)。

keyword

user_agent.os.version

操作系统版本,以原始字符串表示。

keyword

user_agent.version

用户代理的版本。

keyword

应用指标

编辑

应用指标包括自定义的、特定于应用的指标、基本的系统指标(如 CPU 和内存使用率)以及运行时指标(如 JVM 垃圾回收统计信息)。

应用指标被写入特定于服务的 metrics-apm.app.*-* 数据流。

导出的字段
字段 描述 类型

@timestamp

事件产生的日期/时间。这是从事件中提取的日期/时间,通常表示事件由源生成的时间。如果事件源没有原始时间戳,则此值通常由管道首次接收到事件的时间填充。所有事件的必填字段。

date

agent.ephemeral_id

此代理的临时标识符(如果存在)。此 ID 通常在重新启动时更改,但 agent.id 不会更改。

keyword

agent.name

代理的自定义名称。这是一个可以给代理的名称。例如,如果两个 Filebeat 实例在同一主机上运行,但需要以人工可读的方式分离数据来自哪个 Filebeat 实例,这会很有帮助。如果未给定名称,则名称通常为空。

keyword

agent.version

代理的版本。

keyword

client.domain

客户端域。

keyword

client.geo.city_name

城市名称。

keyword

client.geo.continent_name

大洲名称。

keyword

client.geo.country_iso_code

国家/地区 ISO 代码。

keyword

client.geo.country_name

国家/地区名称。

keyword

client.geo.location

经度和纬度。

geo_point

client.geo.region_iso_code

区域 ISO 代码。

keyword

client.geo.region_name

区域名称。

keyword

client.ip

客户端的 IP 地址(IPv4 或 IPv6)。

ip

client.port

客户端的端口。

long

cloud.account.id

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

keyword

cloud.account.name

用于标识多租户环境中不同实体的云帐户名称或别名。示例:AWS 帐户名称、Google Cloud ORG 显示名称。

keyword

cloud.availability_zone

此主机、资源或服务所在的可用区。

keyword

cloud.instance.id

主机机器的实例 ID。

keyword

cloud.instance.name

主机机器的实例名称。

keyword

cloud.machine.type

主机机器的机器类型。

keyword

cloud.project.id

云项目标识符。示例:Google Cloud 项目 ID、Azure 项目 ID。

keyword

cloud.project.name

云项目名称。示例:Google Cloud 项目名称、Azure 项目名称。

keyword

cloud.provider

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

keyword

cloud.region

此主机、资源或服务所在的区域。

keyword

cloud.service.name

云服务名称旨在区分在提供商内的不同平台上运行的服务,例如 AWS EC2 与 Lambda、GCP GCE 与 App Engine、Azure VM 与 App Server。示例:app engine、app service、cloud run、fargate、lambda。

keyword

container.id

唯一的容器 ID。

keyword

data_stream.dataset

该字段可以包含任何有意义的表示数据来源的内容。示例包括 nginx.accessprometheusendpoint 等。对于其他方面都符合,但未设置数据集的数据流,我们使用值“generic”作为数据集值。event.dataset 应具有与 data_stream.dataset 相同的值。除了上面提到的 Elasticsearch 数据流命名标准外,dataset 值还有其他限制:* 不能包含 - * 长度不得超过 100 个字符

constant_keyword

data_stream.namespace

用户定义的命名空间。命名空间对于允许数据分组非常有用。许多用户已经以这种方式组织他们的索引,并且数据流命名方案现在提供了这种最佳实践作为默认值。许多用户将使用 default 填充此字段。如果未使用值,则会回退到 default。除了上面提到的 Elasticsearch 索引命名标准外,namespace 值还有其他限制:* 不能包含 - * 长度不得超过 100 个字符

constant_keyword

data_stream.type

数据流的总体类型。当前允许的值为“logs”和“metrics”。我们期望在不久的将来也添加“traces”和“synthetics”。

constant_keyword

destination.address

某些事件目标地址的定义不明确。事件有时会列出 IP、域或 Unix 套接字。您应该始终将原始地址存储在 .address 字段中。然后,应将其复制到 .ip.domain,具体取决于它是哪一个。

keyword

destination.ip

目标的 IP 地址(IPv4 或 IPv6)。

ip

destination.port

目标的端口。

long

ecs.version

此事件符合的 ECS 版本。ecs.version 是一个必填字段,必须存在于所有事件中。在跨多个索引(可能符合略有不同的 ECS 版本)进行查询时,此字段使集成能够调整为事件的架构版本。

keyword

event.outcome

这是四个 ECS 分类字段之一,指示 ECS 类别层次结构中的最低级别。event.outcome 仅表示从生成事件的实体的角度来看,事件是表示成功还是失败。请注意,当在多个事件中描述单个事务时,每个事件可能会根据其角度填充不同的 event.outcome 值。另请注意,在复合事件(包含多个逻辑事件的单个事件)的情况下,应使用最能从事件生成者的角度捕获整体成功或失败的值来填充此字段。此外,请注意并非所有事件都有关联的结果。例如,通常不会为指标事件、event.type:info 的事件或任何结果不符合逻辑意义的事件填充此字段。

keyword

host.architecture

操作系统架构。

keyword

host.hostname

主机的 hostname。它通常包含主机机器上 hostname 命令返回的内容。

keyword

host.ip

主机 IP 地址。

ip

host.name

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

keyword

host.os.platform

操作系统平台(例如 centos、ubuntu、windows)。

keyword

kubernetes.namespace

Kubernetes 命名空间

keyword

kubernetes.node.name

Kubernetes 节点名称

keyword

kubernetes.pod.name

Kubernetes Pod 名称

keyword

kubernetes.pod.uid

Kubernetes Pod UID

keyword

labels

自定义键值对。 可用于向事件添加元信息。 不应包含嵌套对象。所有值都存储为关键字。 示例: dockerk8s 标签。

object

metricset.name

指标集的名称。

keyword

network.connection.type

网络连接类型,例如“wifi”、“cell”

keyword

numeric_labels

自定义键值对。 可用于向事件添加元信息。 不应包含嵌套对象。所有值都存储为 scaled_float。

object

observer.ephemeral_id

APM Server 的临时标识符。

keyword

observer.hostname

观察者的主机名。

keyword

observer.id

APM Server 的唯一标识符。

keyword

observer.name

观察者的自定义名称。这是一个可以分配给观察者的名称。例如,如果组织中使用多个相同型号的防火墙,这将很有帮助。如果不需要自定义名称,则该字段可以留空。

keyword

observer.type

数据来源的观察者类型。没有预定义的观察者类型列表。一些示例包括 forwarderfirewallidsipsproxypollersensorAPM server

keyword

observer.version

观察者版本。

keyword

process.args

进程参数数组,从可执行文件的绝对路径开始。 可以过滤以保护敏感信息。

keyword

process.pid

进程 ID。

long

process.ppid

父进程的 pid。

long

process.title

进程标题。proctitle,有时与进程名称相同。也可能不同:例如,浏览器将其标题设置为当前打开的网页。

keyword

process.title.text

process.title 的多字段。

match_only_text

processor.event

处理器事件。

constant_keyword

processor.name

处理器名称。

constant_keyword

service.environment

标识服务运行的环境。如果同一服务在不同环境(生产、暂存、QA、开发等)中运行,则环境可以标识同一服务的其他实例。还可以将来自同一环境的服务和应用程序分组。

keyword

service.framework.name

所用框架的名称。

keyword

service.framework.version

所用框架的版本。

keyword

service.language.name

所用编程语言的名称。

keyword

service.language.version

所用编程语言的版本。

keyword

service.name

从中收集数据的服务的名称。服务名称通常由用户指定。这允许运行在多个主机上的分布式服务基于名称关联相关实例。对于 Elasticsearch,service.name 可能包含集群名称。对于 Beats,如果没有指定名称,则 service.name 默认是 service.type 字段的副本。

keyword

service.node.name

服务节点的名称。这允许区分在同一主机上运行的同一服务的两个节点。因此,service.node.name 通常在给定服务的节点之间应该是唯一的。对于 Elasticsearch,service.node.name 可能包含 Elasticsearch 集群中的唯一节点名称。如果服务没有节点名称的概念,则可以使用主机名或容器名称来区分构成此服务的运行实例。如果这些不能提供唯一性(例如,同一服务的多个实例在同一主机上运行),则可以手动设置节点名称。

keyword

service.runtime.name

所用运行时的名称。

keyword

service.runtime.version

所用运行时的版本。

keyword

service.version

从中收集数据的服务的版本。这允许仅查看特定服务版本的数据集。

keyword

source.domain

源域。

keyword

source.ip

源的 IP 地址(IPv4 或 IPv6)。

ip

source.nat.ip

基于源 NAT 会话的源的转换 IP(例如,内部客户端到 Internet)。通常是遍历负载均衡器、防火墙或路由器的连接。

ip

source.nat.port

基于源 NAT 会话的源的转换端口。(例如,内部客户端到 Internet)通常与负载均衡器、防火墙或路由器一起使用。

long

source.port

源的端口。

long

user.domain

用户所属目录的名称。例如,LDAP 或 Active Directory 域名。

keyword

user.email

用户电子邮件地址。

keyword

user.id

用户的唯一标识符。

keyword

user.name

用户的简称或登录名。

keyword

user.name.text

user.name 的多字段。

match_only_text

user_agent.device.name

设备的名称。

keyword

user_agent.name

用户代理的名称。

keyword

user_agent.original

未解析的用户代理字符串。

keyword

user_agent.original.text

user_agent.original 的多字段。

match_only_text

user_agent.os.family

操作系统系列(例如 redhat、debian、freebsd、windows)。

keyword

user_agent.os.full

操作系统名称,包括版本或代号。

keyword

user_agent.os.full.text

user_agent.os.full 的多字段。

match_only_text

user_agent.os.kernel

操作系统内核版本,以原始字符串表示。

keyword

user_agent.os.name

操作系统名称,不包含版本。

keyword

user_agent.os.name.text

user_agent.os.name 的多字段。

match_only_text

user_agent.os.platform

操作系统平台(例如 centos、ubuntu、windows)。

keyword

user_agent.os.version

操作系统版本,以原始字符串表示。

keyword

user_agent.version

用户代理的版本。

keyword

内部指标

编辑

内部指标包括 Elastic APM 代理和 Elastic APM 服务器生成的指标,用于为 APM 应用中的各种 Kibana 图表提供支持,例如“按 Span 类型花费的时间”。

内部指标被写入 metrics-apm.internal-* 数据流。

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

@timestamp

事件产生的日期/时间。这是从事件中提取的日期/时间,通常表示事件由源生成的时间。如果事件源没有原始时间戳,则此值通常由管道首次接收到事件的时间填充。所有事件的必填字段。

date

agent.ephemeral_id

此代理的临时标识符(如果存在)。此 ID 通常在重新启动时更改,但 agent.id 不会更改。

keyword

agent.name

代理的自定义名称。这是一个可以给代理的名称。例如,如果两个 Filebeat 实例在同一主机上运行,但需要以人工可读的方式分离数据来自哪个 Filebeat 实例,这会很有帮助。如果未给定名称,则名称通常为空。

keyword

agent.version

代理的版本。

keyword

agent_config_applied

agent_config_applied 的值

long

client.domain

客户端域。

keyword

client.geo.city_name

城市名称。

keyword

client.geo.continent_name

大洲名称。

keyword

client.geo.country_iso_code

国家/地区 ISO 代码。

keyword

client.geo.country_name

国家/地区名称。

keyword

client.geo.location

经度和纬度。

geo_point

client.geo.region_iso_code

区域 ISO 代码。

keyword

client.geo.region_name

区域名称。

keyword

client.ip

客户端的 IP 地址(IPv4 或 IPv6)。

ip

client.port

客户端的端口。

long

cloud.account.id

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

keyword

cloud.account.name

用于标识多租户环境中不同实体的云帐户名称或别名。示例:AWS 帐户名称、Google Cloud ORG 显示名称。

keyword

cloud.availability_zone

此主机、资源或服务所在的可用区。

keyword

cloud.instance.id

主机机器的实例 ID。

keyword

cloud.instance.name

主机机器的实例名称。

keyword

cloud.machine.type

主机机器的机器类型。

keyword

cloud.project.id

云项目标识符。示例:Google Cloud 项目 ID、Azure 项目 ID。

keyword

cloud.project.name

云项目名称。示例:Google Cloud 项目名称、Azure 项目名称。

keyword

cloud.provider

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

keyword

cloud.region

此主机、资源或服务所在的区域。

keyword

cloud.service.name

云服务名称旨在区分在提供商内的不同平台上运行的服务,例如 AWS EC2 与 Lambda、GCP GCE 与 App Engine、Azure VM 与 App Server。示例:app engine、app service、cloud run、fargate、lambda。

keyword

clr.gc.count

已发生的 GC 收集总次数。

long

计数器

clr.gc.gen0size

第 0 代堆的大小。

long

字节

仪表

clr.gc.gen1size

第 1 代堆的大小。

long

字节

仪表

clr.gc.gen2size

第 2 代堆的大小。

long

字节

仪表

clr.gc.gen3size

第 3 代堆(也称为大对象堆 (LOH))的大小。

long

字节

仪表

clr.gc.time

以毫秒为单位的近似累积收集经过时间。

long

毫秒

计数器

container.id

唯一的容器 ID。

keyword

data_stream.dataset

该字段可以包含任何有意义的表示数据来源的内容。示例包括 nginx.accessprometheusendpoint 等。对于其他方面都符合,但未设置数据集的数据流,我们使用值“generic”作为数据集值。event.dataset 应具有与 data_stream.dataset 相同的值。除了上面提到的 Elasticsearch 数据流命名标准外,dataset 值还有其他限制:* 不能包含 - * 长度不得超过 100 个字符

constant_keyword

data_stream.namespace

用户定义的命名空间。命名空间对于允许数据分组非常有用。许多用户已经以这种方式组织他们的索引,并且数据流命名方案现在提供了这种最佳实践作为默认值。许多用户将使用 default 填充此字段。如果未使用值,则会回退到 default。除了上面提到的 Elasticsearch 索引命名标准外,namespace 值还有其他限制:* 不能包含 - * 长度不得超过 100 个字符

constant_keyword

data_stream.type

数据流的总体类型。当前允许的值为“logs”和“metrics”。我们期望在不久的将来也添加“traces”和“synthetics”。

constant_keyword

destination.address

某些事件目标地址的定义不明确。事件有时会列出 IP、域或 Unix 套接字。您应该始终将原始地址存储在 .address 字段中。然后,应将其复制到 .ip.domain,具体取决于它是哪一个。

keyword

destination.ip

目标的 IP 地址(IPv4 或 IPv6)。

ip

destination.port

目标的端口。

long

ecs.version

此事件符合的 ECS 版本。ecs.version 是一个必填字段,必须存在于所有事件中。在跨多个索引(可能符合略有不同的 ECS 版本)进行查询时,此字段使集成能够调整为事件的架构版本。

keyword

event.outcome

这是四个 ECS 分类字段之一,指示 ECS 类别层次结构中的最低级别。event.outcome 仅表示从生成事件的实体的角度来看,事件是表示成功还是失败。请注意,当在多个事件中描述单个事务时,每个事件可能会根据其角度填充不同的 event.outcome 值。另请注意,在复合事件(包含多个逻辑事件的单个事件)的情况下,应使用最能从事件生成者的角度捕获整体成功或失败的值来填充此字段。此外,请注意并非所有事件都有关联的结果。例如,通常不会为指标事件、event.type:info 的事件或任何结果不符合逻辑意义的事件填充此字段。

keyword

faas.billed_duration

FaaS 最终用户计费的毫秒数。

long

毫秒

计数器

faas.coldstart

布尔值,指示函数调用是否为冷启动。

boolean

faas.coldstart_duration

冷启动期间经过的毫秒数。

浮点数

毫秒

计数器

faas.duration

FaaS 调用执行期间经过的总毫秒数。

浮点数

毫秒

计数器

faas.execution

函数调用的请求 ID。

keyword

faas.id

调用的无服务器函数的唯一标识符。

keyword

faas.name

lambda 函数名称。

keyword

faas.timeout

以毫秒为单位表示的 FaaS 调用超时。

long

毫秒

计数器

faas.trigger.request_id

原始触发请求的 ID。

keyword

faas.trigger.type

触发类型。

keyword

faas.version

lambda 函数版本。

keyword

golang.goroutines

当前存在的 goroutine 数。

long

计数器

golang.heap.allocations.active

非空闲跨度中的字节数。

long

字节

仪表

golang.heap.allocations.allocated

已分配但尚未释放的字节数(与 runtime.MemStats 中的 Alloc 相同)。

long

字节

仪表

golang.heap.allocations.frees

释放次数。

long

计数器

golang.heap.allocations.idle

空闲跨度中的字节数。

long

字节

仪表

golang.heap.allocations.mallocs

malloc 的次数。

long

计数器

golang.heap.allocations.objects

已分配对象的总数。

long

计数器

golang.heap.allocations.total

在整个生命周期中分配的字节数(即使已释放)。

long

字节

计数器

golang.heap.gc.cpu_fraction

垃圾回收使用的 CPU 时间百分比。

scaled_float

百分比

仪表

golang.heap.gc.next_gc_limit

下一个垃圾回收周期的目标堆大小。

long

字节

仪表

golang.heap.gc.total_count

垃圾回收总次数。

long

计数器

golang.heap.gc.total_pause.ns

以纳秒为单位的垃圾回收总持续时间。

long

纳秒

计数器

golang.heap.system.obtained

通过 runtime.MemStats 中的 HeapSys 获取,从系统获得的字节数。heap_sys = heap_idle + heap_inuse。

long

字节

仪表

golang.heap.system.released

释放到操作系统的字节数。

long

字节

仪表

golang.heap.system.stack

从操作系统获取的堆栈内存字节数。

long

字节

仪表

golang.heap.system.total

从系统获得的总字节数(runtime.MemStats 中 XxxSys 的总和)。

long

字节

仪表

host.architecture

操作系统架构。

keyword

host.hostname

主机的 hostname。它通常包含主机机器上 hostname 命令返回的内容。

keyword

host.ip

主机 IP 地址。

ip

host.name

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

keyword

host.os.platform

操作系统平台(例如 centos、ubuntu、windows)。

keyword

jvm.gc.alloc

long

字节

仪表

jvm.gc.count

long

仪表

jvm.gc.time

long

毫秒

仪表

jvm.memory.heap.committed

long

字节

仪表

jvm.memory.heap.max

long

字节

仪表

jvm.memory.heap.pool.committed

long

字节

仪表

jvm.memory.heap.pool.max

long

字节

仪表

jvm.memory.heap.pool.used

long

字节

仪表

jvm.memory.heap.used

long

字节

仪表

jvm.memory.non_heap.committed

long

字节

仪表

jvm.memory.non_heap.max

long

字节

仪表

jvm.memory.non_heap.used

long

字节

仪表

jvm.thread.count

long

仪表

kubernetes.namespace

Kubernetes 命名空间

keyword

kubernetes.node.name

Kubernetes 节点名称

keyword

kubernetes.pod.name

Kubernetes Pod 名称

keyword

kubernetes.pod.uid

Kubernetes Pod UID

keyword

labels

自定义键值对。 可用于向事件添加元信息。 不应包含嵌套对象。所有值都存储为关键字。 示例: dockerk8s 标签。

object

metricset.name

指标集的名称。

keyword

network.connection.type

网络连接类型,例如“wifi”、“cell”

keyword

nodejs.eventloop.delay.avg.ms

scaled_float

毫秒

仪表

nodejs.handles.active

long

仪表

nodejs.memory.arrayBuffers.bytes

long

字节

仪表

nodejs.memory.external.bytes

long

字节

仪表

nodejs.memory.heap.allocated.bytes

long

字节

仪表

nodejs.memory.heap.used.bytes

long

字节

仪表

nodejs.requests.active

long

仪表

numeric_labels

自定义键值对。 可用于向事件添加元信息。 不应包含嵌套对象。所有值都存储为 scaled_float。

object

observer.ephemeral_id

APM Server 的临时标识符。

keyword

observer.hostname

观察者的主机名。

keyword

observer.id

APM Server 的唯一标识符。

keyword

observer.name

观察者的自定义名称。这是一个可以分配给观察者的名称。例如,如果组织中使用多个相同型号的防火墙,这将很有帮助。如果不需要自定义名称,则该字段可以留空。

keyword

observer.type

数据来源的观察者类型。没有预定义的观察者类型列表。一些示例包括 forwarderfirewallidsipsproxypollersensorAPM server

keyword

observer.version

观察者版本。

keyword

process.args

进程参数数组,从可执行文件的绝对路径开始。 可以过滤以保护敏感信息。

keyword

process.pid

进程 ID。

long

process.ppid

父进程的 pid。

long

process.title

进程标题。proctitle,有时与进程名称相同。也可能不同:例如,浏览器将其标题设置为当前打开的网页。

keyword

process.title.text

process.title 的多字段。

match_only_text

processor.event

处理器事件。

constant_keyword

processor.name

处理器名称。

constant_keyword

ruby.gc.count

long

计数器

ruby.gc.time

scaled_float

计数器

ruby.heap.allocations.total

long

仪表

ruby.heap.slots.free

long

仪表

ruby.heap.slots.live

long

仪表

ruby.threads

long

仪表

service.environment

标识服务运行的环境。如果同一服务在不同环境(生产、暂存、QA、开发等)中运行,则环境可以标识同一服务的其他实例。还可以将来自同一环境的服务和应用程序分组。

keyword

service.framework.name

所用框架的名称。

keyword

service.framework.version

所用框架的版本。

keyword

service.language.name

所用编程语言的名称。

keyword

service.language.version

所用编程语言的版本。

keyword

service.name

从中收集数据的服务的名称。服务名称通常由用户指定。这允许运行在多个主机上的分布式服务基于名称关联相关实例。对于 Elasticsearch,service.name 可能包含集群名称。对于 Beats,如果没有指定名称,则 service.name 默认是 service.type 字段的副本。

keyword

service.node.name

服务节点的名称。这允许区分在同一主机上运行的同一服务的两个节点。因此,service.node.name 通常在给定服务的节点之间应该是唯一的。对于 Elasticsearch,service.node.name 可能包含 Elasticsearch 集群中的唯一节点名称。如果服务没有节点名称的概念,则可以使用主机名或容器名称来区分构成此服务的运行实例。如果这些不能提供唯一性(例如,同一服务的多个实例在同一主机上运行),则可以手动设置节点名称。

keyword

service.runtime.name

所用运行时的名称。

keyword

service.runtime.version

所用运行时的版本。

keyword

service.target.name

从中收集数据的目标服务。

keyword

service.target.type

从中收集数据的目标服务的类型

keyword

service.version

从中收集数据的服务的版本。这允许仅查看特定服务版本的数据集。

keyword

source.domain

源域。

keyword

source.ip

源的 IP 地址(IPv4 或 IPv6)。

ip

source.nat.ip

基于源 NAT 会话的源的转换 IP(例如,内部客户端到 Internet)。通常是遍历负载均衡器、防火墙或路由器的连接。

ip

source.nat.port

基于源 NAT 会话的源的转换端口。(例如,内部客户端到 Internet)通常与负载均衡器、防火墙或路由器一起使用。

long

source.port

源的端口。

long

span.destination.service.resource

正在操作的目标服务资源的标识符(例如,https://elastic.ac.cn:80elasticsearchrabbitmq/queue_name

keyword

span.destination.service.response_time.count

聚合的出站请求数。

long

span.destination.service.response_time.sum.us

以微秒为单位的出站请求的聚合持续时间。

long

微秒

span.name

事务范围内的跨度的通用名称。

keyword

span.self_time.count

聚合的 span 数。

long

span.self_time.sum.us

聚合的 span 持续时间,不包括直接子级正在运行的时间段,以微秒为单位。

long

微秒

span.subtype

类型的进一步细分(例如 postgresql、elasticsearch)

keyword

span.type

服务领域中特定相关的关键字(例如:db.postgresql.querytemplate.erbcache 等)。

keyword

system.cpu.total.norm.pct

自上次事件以来进程花费的 CPU 时间百分比。此值已通过 CPU 核心数进行规范化,范围为 0% 到 100%。

scaled_float

百分比

仪表

system.memory.actual.free

以字节为单位的实际可用内存。它是基于操作系统计算的。在 Linux 上,它由可用内存加上缓存和缓冲区组成。在 OSX 上,它是可用内存和非活动内存的总和。在 Windows 上,它等于 system.memory.free

long

字节

仪表

system.memory.total

总内存。

long

字节

仪表

system.process.cgroup.cpu.cfs.period.us

以微秒为单位的 CFS 周期。

long

微秒

计数器

system.process.cgroup.cpu.cfs.quota.us

以微秒为单位的 CFS 配额。

long

微秒

计数器

system.process.cgroup.cpu.stats.periods

CPU 看到的周期数。

long

计数器

system.process.cgroup.cpu.stats.throttled.ns

CPU 看到的节流花费的纳秒数。

long

纳秒

计数器

system.process.cgroup.cpu.stats.throttled.periods

CPU 看到的节流周期数。

long

计数器

system.process.cgroup.cpuacct.total.ns

当前 cgroup CPU 的总 CPU 时间,以纳秒为单位。

long

纳秒

计数器

system.process.cgroup.memory.mem.limit.bytes

当前 cgroup 切片的内存限制。

long

字节

仪表

system.process.cgroup.memory.mem.usage.bytes

当前 cgroup 切片的内存使用量。

long

字节

仪表

system.process.cgroup.memory.stats.inactive_file.bytes

在非活动 LRU 列表上的文件支持的内存,以字节为单位。

long

字节

仪表

system.process.cpu.system.norm.pct

自上次事件以来进程执行内核代码所花费的 CPU 时间百分比。此值已通过 CPU 核心数进行规范化,范围为 0% 到 100%。

scaled_float

百分比

仪表

system.process.cpu.total.norm.pct

自上次事件以来进程花费的 CPU 时间百分比。此值已通过 CPU 核心数进行规范化,范围为 0% 到 100%。

scaled_float

百分比

仪表

system.process.cpu.user.norm.pct

自上次事件以来进程执行应用程序代码所花费的 CPU 时间百分比。此值已通过 CPU 核心数进行规范化,范围为 0% 到 100%。

scaled_float

百分比

仪表

system.process.memory.rss.bytes

常驻集大小。进程在主内存 (RAM) 中占用的内存量。

long

字节

仪表

system.process.memory.size

进程拥有的总虚拟内存。

long

字节

仪表

tags

用于标记每个事件的关键字列表。

keyword

timeseries.instance

时间序列实例 ID

keyword

transaction.duration.histogram

事务持续时间的预聚合直方图。

直方图

transaction.name

单个服务范围内的事务的通用名称(例如,GET /users/:id)。

keyword

transaction.result

事务的结果。HTTP 相关事务的 HTTP 状态代码。

keyword

transaction.root

标识根事务的指标。这可用于计算跟踪的指标。

boolean

transaction.sampled

采样的事务将包括所有可用信息。未采样的事务将没有跨度或上下文。

boolean

transaction.self_time.count

聚合的事务数。

long

transaction.self_time.sum.us

聚合的事务持续时间,不包括直接子级正在运行的时间段,以微秒为单位。

long

微秒

transaction.type

服务领域中特定相关的关键字(例如,requestbackgroundjob 等)

keyword

user.domain

用户所属目录的名称。例如,LDAP 或 Active Directory 域名。

keyword

user.email

用户电子邮件地址。

keyword

user.id

用户的唯一标识符。

keyword

user.name

用户的简称或登录名。

keyword

user.name.text

user.name 的多字段。

match_only_text

user_agent.device.name

设备的名称。

keyword

user_agent.name

用户代理的名称。

keyword

user_agent.original

未解析的用户代理字符串。

keyword

user_agent.original.text

user_agent.original 的多字段。

match_only_text

user_agent.os.family

操作系统系列(例如 redhat、debian、freebsd、windows)。

keyword

user_agent.os.full

操作系统名称,包括版本或代号。

keyword

user_agent.os.full.text

user_agent.os.full 的多字段。

match_only_text

user_agent.os.kernel

操作系统内核版本,以原始字符串表示。

keyword

user_agent.os.name

操作系统名称,不包含版本。

keyword

user_agent.os.name.text

user_agent.os.name 的多字段。

match_only_text

user_agent.os.platform

操作系统平台(例如 centos、ubuntu、windows)。

keyword

user_agent.os.version

操作系统版本,以原始字符串表示。

keyword

user_agent.version

用户代理的版本。

keyword

应用错误

编辑

应用错误包括应用程序中发生的错误/异常事件。

应用错误被写入 logs-apm.error.* 数据流。

导出的字段
字段 描述 类型

@timestamp

事件产生的日期/时间。这是从事件中提取的日期/时间,通常表示事件由源生成的时间。如果事件源没有原始时间戳,则此值通常由管道首次接收到事件的时间填充。所有事件的必填字段。

date

agent.ephemeral_id

此代理的临时标识符(如果存在)。此 ID 通常在重新启动时更改,但 agent.id 不会更改。

keyword

agent.name

代理的自定义名称。这是一个可以给代理的名称。例如,如果两个 Filebeat 实例在同一主机上运行,但需要以人工可读的方式分离数据来自哪个 Filebeat 实例,这会很有帮助。如果未给定名称,则名称通常为空。

keyword

agent.version

代理的版本。

keyword

client.domain

客户端域。

keyword

client.geo.city_name

城市名称。

keyword

client.geo.continent_name

大洲名称。

keyword

client.geo.country_iso_code

国家/地区 ISO 代码。

keyword

client.geo.country_name

国家/地区名称。

keyword

client.geo.location

经度和纬度。

geo_point

client.geo.region_iso_code

区域 ISO 代码。

keyword

client.geo.region_name

区域名称。

keyword

client.ip

客户端的 IP 地址(IPv4 或 IPv6)。

ip

client.port

客户端的端口。

long

cloud.account.id

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

keyword

cloud.account.name

用于标识多租户环境中不同实体的云帐户名称或别名。示例:AWS 帐户名称、Google Cloud ORG 显示名称。

keyword

cloud.availability_zone

此主机、资源或服务所在的可用区。

keyword

cloud.instance.id

主机机器的实例 ID。

keyword

cloud.instance.name

主机机器的实例名称。

keyword

cloud.machine.type

主机机器的机器类型。

keyword

cloud.project.id

云项目标识符。示例:Google Cloud 项目 ID、Azure 项目 ID。

keyword

cloud.project.name

云项目名称。示例:Google Cloud 项目名称、Azure 项目名称。

keyword

cloud.provider

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

keyword

cloud.region

此主机、资源或服务所在的区域。

keyword

cloud.service.name

云服务名称旨在区分在提供商内的不同平台上运行的服务,例如 AWS EC2 与 Lambda、GCP GCE 与 App Engine、Azure VM 与 App Server。示例:app engine、app service、cloud run、fargate、lambda。

keyword

container.id

唯一的容器 ID。

keyword

data_stream.dataset

该字段可以包含任何有意义的表示数据来源的内容。示例包括 nginx.accessprometheusendpoint 等。对于其他方面都符合,但未设置数据集的数据流,我们使用值“generic”作为数据集值。event.dataset 应具有与 data_stream.dataset 相同的值。除了上面提到的 Elasticsearch 数据流命名标准外,dataset 值还有其他限制:* 不能包含 - * 长度不得超过 100 个字符

constant_keyword

data_stream.namespace

用户定义的命名空间。命名空间对于允许数据分组非常有用。许多用户已经以这种方式组织他们的索引,并且数据流命名方案现在提供了这种最佳实践作为默认值。许多用户将使用 default 填充此字段。如果未使用值,则会回退到 default。除了上面提到的 Elasticsearch 索引命名标准外,namespace 值还有其他限制:* 不能包含 - * 长度不得超过 100 个字符

constant_keyword

data_stream.type

数据流的总体类型。当前允许的值为“logs”和“metrics”。我们期望在不久的将来也添加“traces”和“synthetics”。

constant_keyword

destination.address

某些事件目标地址的定义不明确。事件有时会列出 IP、域或 Unix 套接字。您应该始终将原始地址存储在 .address 字段中。然后,应将其复制到 .ip.domain,具体取决于它是哪一个。

keyword

destination.ip

目标的 IP 地址(IPv4 或 IPv6)。

ip

destination.port

目标的端口。

long

ecs.version

此事件符合的 ECS 版本。ecs.version 是一个必填字段,必须存在于所有事件中。在跨多个索引(可能符合略有不同的 ECS 版本)进行查询时,此字段使集成能够调整为事件的架构版本。

keyword

error.culprit

导致此事件的主要函数调用。

keyword

error.exception.code

发生错误时设置的错误代码,例如,数据库错误代码。

keyword

error.exception.handled

指示错误是否在代码中的某个地方被捕获。

boolean

error.exception.message

原始错误消息。

text

error.exception.module

原始错误的模块命名空间。

keyword

error.exception.type

原始错误的类型,例如,Java 异常类名称。

keyword

error.grouping_key

为分组目的记录的错误的选择属性的哈希值。

keyword

error.grouping_name

与错误组关联的名称。属于同一组(相同的 grouping_key)的错误可能具有不同的 grouping_name 值。使用者可以任意选择一个。

keyword

error.id

错误的唯一标识符。

keyword

error.log.level

记录的严重性。

keyword

error.log.logger_name

所用记录器实例的名称。

keyword

error.log.message

额外记录的错误消息。

text

error.log.param_message

一个参数化消息。例如,无法连接到 %s。属性 message 仍然是必需的,并且应与 param_message 相等,但占位符已替换。在某些情况下,param_message 用于将错误分组在一起。

keyword

error.stack_trace

此错误的堆栈跟踪,以纯文本形式表示。

wildcard

error.stack_trace.text

error.stack_trace 的多字段。

match_only_text

event.outcome

这是四个 ECS 分类字段之一,指示 ECS 类别层次结构中的最低级别。event.outcome 仅表示从生成事件的实体的角度来看,事件是表示成功还是失败。请注意,当在多个事件中描述单个事务时,每个事件可能会根据其角度填充不同的 event.outcome 值。另请注意,在复合事件(包含多个逻辑事件的单个事件)的情况下,应使用最能从事件生成者的角度捕获整体成功或失败的值来填充此字段。此外,请注意并非所有事件都有关联的结果。例如,通常不会为指标事件、event.type:info 的事件或任何结果不符合逻辑意义的事件填充此字段。

keyword

host.architecture

操作系统架构。

keyword

host.hostname

主机的 hostname。它通常包含主机机器上 hostname 命令返回的内容。

keyword

host.ip

主机 IP 地址。

ip

host.name

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

keyword

host.os.platform

操作系统平台(例如 centos、ubuntu、windows)。

keyword

http.request.headers

受监控的 HTTP 请求的规范标头。

object

http.request.method

HTTP 请求方法。在 ECS 1.6.0 之前,提供了以下指导:“字段值必须规范化为小写,以便查询。” 从 ECS 1.6.0 开始,该指导已弃用,因为方法的原始大小写在异常检测中可能有用。原始大小写将在 ECS 2.0.0 中强制执行

keyword

http.request.referrer

此 HTTP 请求的引用者。

keyword

http.response.finished

由 Node 代理用于指示响应生命周期中发生错误的时间。

boolean

http.response.headers

受监控的 HTTP 响应的规范标头。

object

http.response.status_code

HTTP 响应状态代码。

long

http.version

HTTP 版本。

keyword

kubernetes.namespace

Kubernetes 命名空间

keyword

kubernetes.node.name

Kubernetes 节点名称

keyword

kubernetes.pod.name

Kubernetes Pod 名称

keyword

kubernetes.pod.uid

Kubernetes Pod UID

keyword

labels

自定义键值对。 可用于向事件添加元信息。 不应包含嵌套对象。所有值都存储为关键字。 示例: dockerk8s 标签。

object

message

对于日志事件,message 字段包含日志消息,针对在日志查看器中查看进行了优化。对于没有原始 message 字段的结构化日志,可以将其他字段连接起来,以形成事件的人类可读摘要。如果存在多条消息,则可以将它们组合成一条消息。

match_only_text

network.carrier.icc

ISO 国家代码,例如 US

keyword

network.carrier.mcc

移动国家代码

keyword

network.carrier.mnc

移动网络代码

keyword

network.carrier.name

运营商名称,例如 Vodafone、T-Mobile 等。

keyword

network.connection.subtype

详细的网络连接子类型,例如“LTE”、“CDMA”

keyword

network.connection.type

网络连接类型,例如“wifi”、“cell”

keyword

numeric_labels

自定义键值对。 可用于向事件添加元信息。 不应包含嵌套对象。所有值都存储为 scaled_float。

object

observer.ephemeral_id

APM Server 的临时标识符。

keyword

observer.hostname

观察者的主机名。

keyword

observer.id

APM Server 的唯一标识符。

keyword

observer.name

观察者的自定义名称。这是一个可以分配给观察者的名称。例如,如果组织中使用多个相同型号的防火墙,这将很有帮助。如果不需要自定义名称,则该字段可以留空。

keyword

observer.type

数据来源的观察者类型。没有预定义的观察者类型列表。一些示例包括 forwarderfirewallidsipsproxypollersensorAPM server

keyword

observer.version

观察者版本。

keyword

parent.id

父事件的 ID。

keyword

process.args

进程参数数组,从可执行文件的绝对路径开始。 可以过滤以保护敏感信息。

keyword

process.pid

进程 ID。

long

process.ppid

父进程的 pid。

long

process.title

进程标题。proctitle,有时与进程名称相同。也可能不同:例如,浏览器将其标题设置为当前打开的网页。

keyword

process.title.text

process.title 的多字段。

match_only_text

processor.event

处理器事件。

constant_keyword

processor.name

处理器名称。

constant_keyword

service.environment

标识服务运行的环境。如果同一服务在不同环境(生产、暂存、QA、开发等)中运行,则环境可以标识同一服务的其他实例。还可以将来自同一环境的服务和应用程序分组。

keyword

service.framework.name

所用框架的名称。

keyword

service.framework.version

所用框架的版本。

keyword

service.language.name

所用编程语言的名称。

keyword

service.language.version

所用编程语言的版本。

keyword

service.name

从中收集数据的服务的名称。服务名称通常由用户指定。这允许运行在多个主机上的分布式服务基于名称关联相关实例。对于 Elasticsearch,service.name 可能包含集群名称。对于 Beats,如果没有指定名称,则 service.name 默认是 service.type 字段的副本。

keyword

service.node.name

服务节点的名称。这允许区分在同一主机上运行的同一服务的两个节点。因此,service.node.name 通常在给定服务的节点之间应该是唯一的。对于 Elasticsearch,service.node.name 可能包含 Elasticsearch 集群中的唯一节点名称。如果服务没有节点名称的概念,则可以使用主机名或容器名称来区分构成此服务的运行实例。如果这些不能提供唯一性(例如,同一服务的多个实例在同一主机上运行),则可以手动设置节点名称。

keyword

service.runtime.name

所用运行时的名称。

keyword

service.runtime.version

所用运行时的版本。

keyword

service.version

从中收集数据的服务的版本。这允许仅查看特定服务版本的数据集。

keyword

source.domain

源域。

keyword

source.ip

源的 IP 地址(IPv4 或 IPv6)。

ip

source.nat.ip

基于源 NAT 会话的源的转换 IP(例如,内部客户端到 Internet)。通常是遍历负载均衡器、防火墙或路由器的连接。

ip

source.nat.port

基于源 NAT 会话的源的转换端口。(例如,内部客户端到 Internet)通常与负载均衡器、防火墙或路由器一起使用。

long

source.port

源的端口。

long

span.id

跨度在其跟踪范围内的唯一标识符。跨度表示事务中的一个操作,例如对另一个服务的请求或数据库查询。

keyword

timestamp.us

自 Unix 纪元以来的事件时间戳,以微秒为单位。

long

trace.id

跟踪的唯一标识符。跟踪将多个事件(如属于一起的事务)分组。例如,由多个互连服务处理的用户请求。

keyword

transaction.id

事务在其跟踪范围内的唯一标识符。事务是服务中衡量的最高级别的工作,例如对服务器的请求。

keyword

transaction.name

单个服务范围内事务的指定关键字,例如:GET /users/:id

keyword

transaction.sampled

采样的事务将包括所有可用信息。未采样的事务将没有跨度或上下文。

boolean

transaction.type

服务领域中特定相关的关键字(例如,requestbackgroundjob 等)

keyword

url.domain

URL 的域,例如“https://elastic.ac.cn[www.elastic.co]”。在某些情况下,URL 可能直接引用 IP 和/或端口,而没有域名。在这种情况下,IP 地址将转到 domain 字段。如果 URL 包含用 [] 括起来的文字 IPv6 地址(IETF RFC 2732),则 [] 字符也应捕获到 domain 字段中。

keyword

url.fragment

URL 中 # 之后的部分,例如“top”。# 不是片段的一部分。

keyword

url.full

如果完整 URL 对您的用例很重要,则应将它们存储在 url.full 中,无论此字段是重建的还是存在于事件源中。

wildcard

url.full.text

url.full 的多字段。

match_only_text

url.original

在事件源中看到的未修改的原始 URL。请注意,在网络监控中,观察到的 URL 可能是完整的 URL,而在访问日志中,URL 通常仅表示为路径。此字段旨在表示观察到的 URL,无论是否完整。

wildcard

url.original.text

url.original 的多字段。

match_only_text

url.path

请求的路径,例如“/search”。

wildcard

url.port

请求的端口,例如 443。

long

url.query

query 字段描述请求的查询字符串,例如“q=elasticsearch”。? 从查询字符串中排除。如果 URL 不包含 ?,则没有查询字段。如果存在 ? 但没有查询,则查询字段存在空字符串。exists 查询可用于区分这两种情况。

keyword

url.scheme

请求的方案,例如“https”。注意:: 不是方案的一部分。

keyword

user.domain

用户所属目录的名称。例如,LDAP 或 Active Directory 域名。

keyword

user.email

用户电子邮件地址。

keyword

user.id

用户的唯一标识符。

keyword

user.name

用户的简称或登录名。

keyword

user.name.text

user.name 的多字段。

match_only_text

user_agent.device.name

设备的名称。

keyword

user_agent.name

用户代理的名称。

keyword

user_agent.original

未解析的用户代理字符串。

keyword

user_agent.original.text

user_agent.original 的多字段。

match_only_text

user_agent.os.family

操作系统系列(例如 redhat、debian、freebsd、windows)。

keyword

user_agent.os.full

操作系统名称,包括版本或代号。

keyword

user_agent.os.full.text

user_agent.os.full 的多字段。

match_only_text

user_agent.os.kernel

操作系统内核版本,以原始字符串表示。

keyword

user_agent.os.name

操作系统名称,不包含版本。

keyword

user_agent.os.name.text

user_agent.os.name 的多字段。

match_only_text

user_agent.os.platform

操作系统平台(例如 centos、ubuntu、windows)。

keyword

user_agent.os.version

操作系统版本,以原始字符串表示。

keyword

user_agent.version

用户代理的版本。

keyword

变更日志

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

8.4.2

Bug 修复 (查看拉取请求)
将观察者转换添加到数据流迁移管道

8.4.0 或更高版本

8.4.0

增强功能 (查看拉取请求)
添加了对动态映射摘要指标的支持

增强功能 (查看拉取请求)
span.name 添加到 internal_metrics 数据流,用于 service_destination 指标

增强功能 (查看拉取请求)
向内部指标数据流添加了 Lambda 指标的字段映射

8.4.0 或更高版本

8.3.3

Bug 修复 (查看拉取请求)
支持 TLSv1.3 并删除默认 TLS 支持协议中的 TLSv1.0

Bug 修复 (查看拉取请求)
更新 APM 集成说明

增强功能 (查看拉取请求)
更新 APM 集成屏幕截图

8.3.0 或更高版本

8.3.0

增强功能 (查看拉取请求)
target.nametarget.type 的字段映射添加到跟踪数据流

增强功能 (查看拉取请求)
删除发行标签

增强功能 (查看拉取请求)
添加了 pprof_enabled 的配置选项

增强 (查看拉取请求)
将系统、进程和运行时指标的字段映射添加到内部指标数据流

错误修复 (查看拉取请求)
将标签字段映射添加到 internal_metrics 数据流

8.3.0 或更高版本

8.2.0

增强 (查看拉取请求)
source.nat.ipsource.nat.port 的字段映射添加到数据流

增强 (查看拉取请求)
更新了 traces 和 rum_traces 摄取管道,将 event.duration 转换为 <event>.duration.us

增强 (查看拉取请求)
span.links 字段添加到 traces 和 rum_traces 数据流

增强 (查看拉取请求)
faas.namefaas.version 的字段映射添加到 internal_metrics 数据流

增强 (查看拉取请求)
移除了 observer.version_major 字段

错误修复 (查看拉取请求)
url.original 的字段映射添加到 traces、rum_traces、app_logs 和 error_logs

增强 (查看拉取请求)
error.stack_trace 的字段映射添加到 error_logs

8.2.0 或更高版本

8.1.0

增强 (查看拉取请求)
添加了 faas.coldstartfaas.trigger.type 的字段映射

增强 (查看拉取请求)
添加了字段 tail_sampling_enabled

错误修复 (查看拉取请求)
error.id 字段添加到 error_logs 数据流

增强 (查看拉取请求)
faas.id 的字段映射添加到 internal_metrics 数据流

8.1.0 或更高版本

8.0.0

增强 (查看拉取请求)
支持设置 download-agent-version

错误修复 (查看拉取请求)
java attacher 配置使用 discovery-rules,而不是 discovery_rules

增强 (查看拉取请求)
添加 java_attacher 支持

增强 (查看拉取请求)
auth.anonymous.rate_limit.{event_limit,ip_limit} 的默认值现在与默认的 rate_limit 结构中的相同。

增强 (查看拉取请求)
更新了字段 @timestampdata_stream.*labels 以引用 ecs

增强 (查看拉取请求)
摄取的标签现在存储为 event.{labels,numeric_labels}

增强 (查看拉取请求)
为每个数据流添加了新的 traces-apm.rum 和单独的 ILM 策略

错误修复 (查看拉取请求)
修复了 sampled_traces 数据流的 ILM 策略名称

增强 (查看拉取请求)
添加了 app_logs 数据流

增强 (查看拉取请求)
更新了摄取管道,以拒绝来自比已安装集成更新的 apm-server 的事件

增强 (查看拉取请求)
event.{outcome,severity}log.level 添加到 app_logs 数据流

8.0.0 或更高版本

7.16.1

错误修复 (查看拉取请求)
agent_config_applied 映射添加到 metrics-apm.internal 数据流。

7.16.1 或更高版本

7.16.0

增强 (查看拉取请求)
更新了包版本以与堆栈版本对齐

错误修复 (查看拉取请求)
client.geo 字段添加到 internal_metrics

增强 (查看拉取请求)
移除了未使用的字段

增强 (查看拉取请求)
processor.{name,event} 尽可能更改为 constant_keyword

增强 (查看拉取请求)
更改为特定于数据流的摄取管道

增强 (查看拉取请求)
为堆栈监控添加了集群特权到包

7.16.0 或更高版本

0.5.0

增强 (查看拉取请求)
为内部指标添加了索引排序

增强 (查看拉取请求)
将直方图 dynamic_template 添加到 app metrics 数据流

增强 (查看拉取请求)
从 ILM 策略中移除了 warm 阶段

增强 (查看拉取请求)
为尾部采样的 traces 数据流添加了权限

增强 (查看拉取请求)
添加了尾部采样配置变量

0.4.0

重大更改 (查看拉取请求)
添加了匿名身份验证配置,替换了一些 RUM 配置

重大更改 (查看拉取请求)
更新为使用新的 apm-server.auth 配置

0.3.0

增强 (查看拉取请求)
添加了 apm-server.url 配置

增强 (查看拉取请求)
移除了 apm-server.kibana.api_key 配置

0.2.0

增强 (查看拉取请求)
添加了对 apm-server.rum.allow_service_names 的支持

增强 (查看拉取请求)
添加了对可配置的默认服务环境的支持

0.1.0

增强 (查看拉取请求)
初始版本