使用摄取管道解析数据
编辑使用摄取管道解析数据编辑
摄取管道在将 APM 文档编入索引之前对其进行预处理和丰富。例如,管道可能定义一个处理器来删除字段,一个处理器来转换字段,以及另一个处理器来重命名字段。
默认的 APM 管道定义在 Fleet 加载到 Elasticsearch 的索引模板中。然后,Elasticsearch 使用这些索引模板中的索引模式将管道与 APM 数据流匹配。
自定义摄取管道编辑
Elastic APM 集成支持自定义摄取管道。自定义管道允许您转换数据以更好地匹配您的特定用例。例如,这对于通过删除或混淆敏感信息来确保数据安全非常有用。
每个数据流都附带一个默认管道。此默认管道调用一个最初不存在且未版本化的 "@custom
" 摄取管道。如果未创建,此管道对您的数据没有影响。但是,如果使用,此管道可用于自定义数据处理、添加字段、清理数据等等。
此外,摄取管道还可用于将应用程序指标 (metrics-apm.app.*
) 指向具有不同数据集的数据流,例如,将两个应用程序的指标合并。目前不支持将其他 APM 数据发送到备用数据流,例如跟踪 (traces-apm.*
)、日志 (logs-apm.*
) 和内部指标 (metrics-apm.internal*
)。
@custom
摄取管道命名约定编辑
@custom
管道特定于每个数据流,并遵循类似的命名约定:<type>-<dataset>@custom
。提醒一下,默认的 APM 数据流是
- 应用程序跟踪:
traces-apm-<namespace>
- RUM 和 iOS 代理应用程序跟踪:
traces-apm.rum-<namespace>
- APM 内部指标:
metrics-apm.internal-<namespace>
- APM 事务指标:
metrics-apm.transaction.<metricset.interval>-<namespace>
- APM 服务目标指标:
metrics-apm.service_destination.<metricset.interval>-<namespace>
- APM 服务事务指标:
metrics-apm.service_transaction.<metricset.interval>-<namespace>
- APM 服务摘要指标:
metrics-apm.service_summary.<metricset.interval>-<namespace>
- 应用程序指标:
metrics-apm.app.<service.name>-<namespace>
- APM 错误/异常日志记录:
logs-apm.error-<namespace>
- APM 应用程序日志记录:
logs-apm.app.<service.name>-<namespace>
要将自定义摄取管道与数据流匹配,请遵循 <type>-<dataset>@custom
模板,或将上表中的 -namespace
替换为 @custom
。例如,要定位应用程序跟踪,您需要创建一个名为 traces-apm@custom
的管道。
@custom
管道可以直接包含处理器,或者您可以使用管道处理器来调用可以在多个数据流或集成之间共享的其他管道。 @custom
管道将在所有版本升级中保留。
创建 @custom
摄取管道编辑
创建自定义摄取管道的过程如下
- 使用特定于您的用例的处理器创建管道
- 将新创建的管道添加到与 APM 数据流匹配的
@custom
管道中
如果您需要更多指导,请参阅以下教程之一
-
创建摄取管道过滤器 — 了解如何混淆存储在
http.request.body.original
字段中的密码。 - APM 数据流重路由 — 了解如何将 APM 数据重路由到用户定义的 APM 数据流。
- 使用自定义摄取管道转换数据 — 一个基本的 Elastic 集成教程,您将学习如何向传入数据添加自定义字段。