APM 集成
编辑APM 集成
编辑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 事件被索引到数据流中。数据流名称包含事件类型、服务名称和用户可配置的命名空间。
对于用作命名空间的具体内容,没有明确的建议;它是故意保持灵活的。您可以使用环境,例如 production
、testing
或 development
,或者您可以按业务部门对数据进行命名空间。这取决于您的选择。
有关更多信息,请参阅 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 通常在重新启动时更改,但 |
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 |
该字段可以包含任何有意义的表示数据来源的内容。示例包括 |
constant_keyword |
data_stream.namespace |
用户定义的命名空间。命名空间对于允许数据分组非常有用。许多用户已经以这种方式组织他们的索引,并且数据流命名方案现在提供了这种最佳实践作为默认值。许多用户将使用 |
constant_keyword |
data_stream.type |
数据流的总体类型。当前允许的值为“logs”和“metrics”。我们期望在不久的将来也添加“traces”和“synthetics”。 |
constant_keyword |
destination.address |
某些事件目标地址的定义不明确。事件有时会列出 IP、域或 Unix 套接字。您应该始终将原始地址存储在 |
keyword |
destination.ip |
目标的 IP 地址(IPv4 或 IPv6)。 |
ip |
destination.port |
目标的端口。 |
long |
ecs.version |
此事件符合的 ECS 版本。 |
keyword |
event.outcome |
这是四个 ECS 分类字段之一,指示 ECS 类别层次结构中的最低级别。 |
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。它通常包含主机机器上 |
keyword |
host.ip |
主机 IP 地址。 |
ip |
host.name |
主机的名称。它可以包含 Unix 系统上 |
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 |
自定义键值对。 可用于向事件添加元信息。 不应包含嵌套对象。所有值都存储为关键字。 示例: |
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 |
数据来源的观察者类型。没有预定义的观察者类型列表。一些示例包括 |
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 |
|
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, |
keyword |
service.node.name |
服务节点的名称。这允许区分在同一主机上运行的同一服务的两个节点。因此, |
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.cn、elasticsearch、rabbitmq)已弃用:此字段将在未来的版本中删除 |
keyword |
span.destination.service.resource |
正在操作的目标服务资源的标识符(例如,https://elastic.ac.cn:80、elasticsearch、rabbitmq/queue_name) |
keyword |
span.destination.service.type |
目标服务的类型(例如,db、elasticsearch)。通常应与 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.query、template.erb、cache 等)。 |
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 |
|
text |
transaction.result |
事务的结果。HTTP 相关事务的 HTTP 状态代码。 |
keyword |
transaction.sampled |
采样的事务将包括所有可用信息。未采样的事务将没有跨度或上下文。 |
boolean |
transaction.span_count.dropped |
此事务丢弃的跨度总数。 |
long |
transaction.type |
服务领域中特定相关的关键字(例如,request、backgroundjob 等) |
keyword |
url.domain |
URL 的域,例如“https://elastic.ac.cn[www.elastic.co]”。在某些情况下,URL 可能直接引用 IP 和/或端口,而没有域名。在这种情况下,IP 地址将转到 |
keyword |
url.fragment |
URL 中 |
keyword |
url.full |
如果完整 URL 对您的用例很重要,则应将它们存储在 |
wildcard |
url.full.text |
|
match_only_text |
url.original |
在事件源中看到的未修改的原始 URL。请注意,在网络监控中,观察到的 URL 可能是完整的 URL,而在访问日志中,URL 通常仅表示为路径。此字段旨在表示观察到的 URL,无论是否完整。 |
wildcard |
url.original.text |
|
match_only_text |
url.path |
请求的路径,例如“/search”。 |
wildcard |
url.port |
请求的端口,例如 443。 |
long |
url.query |
query 字段描述请求的查询字符串,例如“q=elasticsearch”。 |
keyword |
url.scheme |
请求的方案,例如“https”。注意: |
keyword |
user.domain |
用户所属目录的名称。例如,LDAP 或 Active Directory 域名。 |
keyword |
user.email |
用户电子邮件地址。 |
keyword |
user.id |
用户的唯一标识符。 |
keyword |
user.name |
用户的简称或登录名。 |
keyword |
user.name.text |
|
match_only_text |
user_agent.device.name |
设备的名称。 |
keyword |
user_agent.name |
用户代理的名称。 |
keyword |
user_agent.original |
未解析的用户代理字符串。 |
keyword |
user_agent.original.text |
|
match_only_text |
user_agent.os.family |
操作系统系列(例如 redhat、debian、freebsd、windows)。 |
keyword |
user_agent.os.full |
操作系统名称,包括版本或代号。 |
keyword |
user_agent.os.full.text |
|
match_only_text |
user_agent.os.kernel |
操作系统内核版本,以原始字符串表示。 |
keyword |
user_agent.os.name |
操作系统名称,不包含版本。 |
keyword |
user_agent.os.name.text |
|
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 通常在重新启动时更改,但 |
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 |
该字段可以包含任何有意义的表示数据来源的内容。示例包括 |
constant_keyword |
data_stream.namespace |
用户定义的命名空间。命名空间对于允许数据分组非常有用。许多用户已经以这种方式组织他们的索引,并且数据流命名方案现在提供了这种最佳实践作为默认值。许多用户将使用 |
constant_keyword |
data_stream.type |
数据流的总体类型。当前允许的值为“logs”和“metrics”。我们期望在不久的将来也添加“traces”和“synthetics”。 |
constant_keyword |
destination.address |
某些事件目标地址的定义不明确。事件有时会列出 IP、域或 Unix 套接字。您应该始终将原始地址存储在 |
keyword |
destination.ip |
目标的 IP 地址(IPv4 或 IPv6)。 |
ip |
destination.port |
目标的端口。 |
long |
ecs.version |
此事件符合的 ECS 版本。 |
keyword |
event.outcome |
这是四个 ECS 分类字段之一,指示 ECS 类别层次结构中的最低级别。 |
keyword |
host.architecture |
操作系统架构。 |
keyword |
host.hostname |
主机的 hostname。它通常包含主机机器上 |
keyword |
host.ip |
主机 IP 地址。 |
ip |
host.name |
主机的名称。它可以包含 Unix 系统上 |
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 |
自定义键值对。 可用于向事件添加元信息。 不应包含嵌套对象。所有值都存储为关键字。 示例: |
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 |
数据来源的观察者类型。没有预定义的观察者类型列表。一些示例包括 |
keyword |
observer.version |
观察者版本。 |
keyword |
process.args |
进程参数数组,从可执行文件的绝对路径开始。 可以过滤以保护敏感信息。 |
keyword |
process.pid |
进程 ID。 |
long |
process.ppid |
父进程的 pid。 |
long |
process.title |
进程标题。proctitle,有时与进程名称相同。也可能不同:例如,浏览器将其标题设置为当前打开的网页。 |
keyword |
process.title.text |
|
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, |
keyword |
service.node.name |
服务节点的名称。这允许区分在同一主机上运行的同一服务的两个节点。因此, |
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 |
|
match_only_text |
user_agent.device.name |
设备的名称。 |
keyword |
user_agent.name |
用户代理的名称。 |
keyword |
user_agent.original |
未解析的用户代理字符串。 |
keyword |
user_agent.original.text |
|
match_only_text |
user_agent.os.family |
操作系统系列(例如 redhat、debian、freebsd、windows)。 |
keyword |
user_agent.os.full |
操作系统名称,包括版本或代号。 |
keyword |
user_agent.os.full.text |
|
match_only_text |
user_agent.os.kernel |
操作系统内核版本,以原始字符串表示。 |
keyword |
user_agent.os.name |
操作系统名称,不包含版本。 |
keyword |
user_agent.os.name.text |
|
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 通常在重新启动时更改,但 |
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 |
该字段可以包含任何有意义的表示数据来源的内容。示例包括 |
constant_keyword |
||
data_stream.namespace |
用户定义的命名空间。命名空间对于允许数据分组非常有用。许多用户已经以这种方式组织他们的索引,并且数据流命名方案现在提供了这种最佳实践作为默认值。许多用户将使用 |
constant_keyword |
||
data_stream.type |
数据流的总体类型。当前允许的值为“logs”和“metrics”。我们期望在不久的将来也添加“traces”和“synthetics”。 |
constant_keyword |
||
destination.address |
某些事件目标地址的定义不明确。事件有时会列出 IP、域或 Unix 套接字。您应该始终将原始地址存储在 |
keyword |
||
destination.ip |
目标的 IP 地址(IPv4 或 IPv6)。 |
ip |
||
destination.port |
目标的端口。 |
long |
||
ecs.version |
此事件符合的 ECS 版本。 |
keyword |
||
event.outcome |
这是四个 ECS 分类字段之一,指示 ECS 类别层次结构中的最低级别。 |
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。它通常包含主机机器上 |
keyword |
||
host.ip |
主机 IP 地址。 |
ip |
||
host.name |
主机的名称。它可以包含 Unix 系统上 |
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 |
自定义键值对。 可用于向事件添加元信息。 不应包含嵌套对象。所有值都存储为关键字。 示例: |
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 |
数据来源的观察者类型。没有预定义的观察者类型列表。一些示例包括 |
keyword |
||
observer.version |
观察者版本。 |
keyword |
||
process.args |
进程参数数组,从可执行文件的绝对路径开始。 可以过滤以保护敏感信息。 |
keyword |
||
process.pid |
进程 ID。 |
long |
||
process.ppid |
父进程的 pid。 |
long |
||
process.title |
进程标题。proctitle,有时与进程名称相同。也可能不同:例如,浏览器将其标题设置为当前打开的网页。 |
keyword |
||
process.title.text |
|
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, |
keyword |
||
service.node.name |
服务节点的名称。这允许区分在同一主机上运行的同一服务的两个节点。因此, |
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:80、elasticsearch、rabbitmq/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.query、template.erb、cache 等)。 |
keyword |
||
system.cpu.total.norm.pct |
自上次事件以来进程花费的 CPU 时间百分比。此值已通过 CPU 核心数进行规范化,范围为 0% 到 100%。 |
scaled_float |
百分比 |
仪表 |
system.memory.actual.free |
以字节为单位的实际可用内存。它是基于操作系统计算的。在 Linux 上,它由可用内存加上缓存和缓冲区组成。在 OSX 上,它是可用内存和非活动内存的总和。在 Windows 上,它等于 |
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 |
服务领域中特定相关的关键字(例如,request、backgroundjob 等) |
keyword |
||
user.domain |
用户所属目录的名称。例如,LDAP 或 Active Directory 域名。 |
keyword |
||
user.email |
用户电子邮件地址。 |
keyword |
||
user.id |
用户的唯一标识符。 |
keyword |
||
user.name |
用户的简称或登录名。 |
keyword |
||
user.name.text |
|
match_only_text |
||
user_agent.device.name |
设备的名称。 |
keyword |
||
user_agent.name |
用户代理的名称。 |
keyword |
||
user_agent.original |
未解析的用户代理字符串。 |
keyword |
||
user_agent.original.text |
|
match_only_text |
||
user_agent.os.family |
操作系统系列(例如 redhat、debian、freebsd、windows)。 |
keyword |
||
user_agent.os.full |
操作系统名称,包括版本或代号。 |
keyword |
||
user_agent.os.full.text |
|
match_only_text |
||
user_agent.os.kernel |
操作系统内核版本,以原始字符串表示。 |
keyword |
||
user_agent.os.name |
操作系统名称,不包含版本。 |
keyword |
||
user_agent.os.name.text |
|
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 通常在重新启动时更改,但 |
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 |
该字段可以包含任何有意义的表示数据来源的内容。示例包括 |
constant_keyword |
data_stream.namespace |
用户定义的命名空间。命名空间对于允许数据分组非常有用。许多用户已经以这种方式组织他们的索引,并且数据流命名方案现在提供了这种最佳实践作为默认值。许多用户将使用 |
constant_keyword |
data_stream.type |
数据流的总体类型。当前允许的值为“logs”和“metrics”。我们期望在不久的将来也添加“traces”和“synthetics”。 |
constant_keyword |
destination.address |
某些事件目标地址的定义不明确。事件有时会列出 IP、域或 Unix 套接字。您应该始终将原始地址存储在 |
keyword |
destination.ip |
目标的 IP 地址(IPv4 或 IPv6)。 |
ip |
destination.port |
目标的端口。 |
long |
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 |
|
match_only_text |
event.outcome |
这是四个 ECS 分类字段之一,指示 ECS 类别层次结构中的最低级别。 |
keyword |
host.architecture |
操作系统架构。 |
keyword |
host.hostname |
主机的 hostname。它通常包含主机机器上 |
keyword |
host.ip |
主机 IP 地址。 |
ip |
host.name |
主机的名称。它可以包含 Unix 系统上 |
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 |
自定义键值对。 可用于向事件添加元信息。 不应包含嵌套对象。所有值都存储为关键字。 示例: |
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 |
数据来源的观察者类型。没有预定义的观察者类型列表。一些示例包括 |
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 |
|
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, |
keyword |
service.node.name |
服务节点的名称。这允许区分在同一主机上运行的同一服务的两个节点。因此, |
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 |
服务领域中特定相关的关键字(例如,request、backgroundjob 等) |
keyword |
url.domain |
URL 的域,例如“https://elastic.ac.cn[www.elastic.co]”。在某些情况下,URL 可能直接引用 IP 和/或端口,而没有域名。在这种情况下,IP 地址将转到 |
keyword |
url.fragment |
URL 中 |
keyword |
url.full |
如果完整 URL 对您的用例很重要,则应将它们存储在 |
wildcard |
url.full.text |
|
match_only_text |
url.original |
在事件源中看到的未修改的原始 URL。请注意,在网络监控中,观察到的 URL 可能是完整的 URL,而在访问日志中,URL 通常仅表示为路径。此字段旨在表示观察到的 URL,无论是否完整。 |
wildcard |
url.original.text |
|
match_only_text |
url.path |
请求的路径,例如“/search”。 |
wildcard |
url.port |
请求的端口,例如 443。 |
long |
url.query |
query 字段描述请求的查询字符串,例如“q=elasticsearch”。 |
keyword |
url.scheme |
请求的方案,例如“https”。注意: |
keyword |
user.domain |
用户所属目录的名称。例如,LDAP 或 Active Directory 域名。 |
keyword |
user.email |
用户电子邮件地址。 |
keyword |
user.id |
用户的唯一标识符。 |
keyword |
user.name |
用户的简称或登录名。 |
keyword |
user.name.text |
|
match_only_text |
user_agent.device.name |
设备的名称。 |
keyword |
user_agent.name |
用户代理的名称。 |
keyword |
user_agent.original |
未解析的用户代理字符串。 |
keyword |
user_agent.original.text |
|
match_only_text |
user_agent.os.family |
操作系统系列(例如 redhat、debian、freebsd、windows)。 |
keyword |
user_agent.os.full |
操作系统名称,包括版本或代号。 |
keyword |
user_agent.os.full.text |
|
match_only_text |
user_agent.os.kernel |
操作系统内核版本,以原始字符串表示。 |
keyword |
user_agent.os.name |
操作系统名称,不包含版本。 |
keyword |
user_agent.os.name.text |
|
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 |
增强功能 (查看拉取请求) 增强功能 (查看拉取请求) 增强功能 (查看拉取请求) |
8.4.0 或更高版本 |
8.3.3 |
Bug 修复 (查看拉取请求) Bug 修复 (查看拉取请求) 增强功能 (查看拉取请求) |
8.3.0 或更高版本 |
8.3.0 |
增强功能 (查看拉取请求) 增强功能 (查看拉取请求) 增强功能 (查看拉取请求) 增强 (查看拉取请求) 错误修复 (查看拉取请求) |
8.3.0 或更高版本 |
8.2.0 |
增强 (查看拉取请求) 增强 (查看拉取请求) 增强 (查看拉取请求) 增强 (查看拉取请求) 增强 (查看拉取请求) 错误修复 (查看拉取请求) 增强 (查看拉取请求) |
8.2.0 或更高版本 |
8.1.0 |
增强 (查看拉取请求) 增强 (查看拉取请求) 错误修复 (查看拉取请求) 增强 (查看拉取请求) |
8.1.0 或更高版本 |
8.0.0 |
增强 (查看拉取请求) 错误修复 (查看拉取请求) 增强 (查看拉取请求) 增强 (查看拉取请求) 增强 (查看拉取请求) 增强 (查看拉取请求) 增强 (查看拉取请求) 错误修复 (查看拉取请求) 增强 (查看拉取请求) 增强 (查看拉取请求) 增强 (查看拉取请求) |
8.0.0 或更高版本 |
7.16.1 |
错误修复 (查看拉取请求) |
7.16.1 或更高版本 |
7.16.0 |
增强 (查看拉取请求) 错误修复 (查看拉取请求) 增强 (查看拉取请求) 增强 (查看拉取请求) 增强 (查看拉取请求) 增强 (查看拉取请求) |
7.16.0 或更高版本 |
0.5.0 |
增强 (查看拉取请求) 增强 (查看拉取请求) 增强 (查看拉取请求) 增强 (查看拉取请求) 增强 (查看拉取请求) |
— |
0.4.0 |
重大更改 (查看拉取请求) 重大更改 (查看拉取请求) |
— |
0.3.0 |
增强 (查看拉取请求) 增强 (查看拉取请求) |
— |
0.2.0 |
增强 (查看拉取请求) 增强 (查看拉取请求) |
— |
0.1.0 |
增强 (查看拉取请求) |
— |