正在加载

数据流

Elastic Stack

注意

Elastic Agent 使用数据流跨多个索引存储仅追加的时间序列数据。 数据流非常适合日志、指标、跟踪和其他持续生成的数据,并且比其他索引策略具有许多优势

  • 每个索引的字段数量减少
  • 更精细的数据控制
  • 灵活的命名方案
  • 所需的摄取权限更少

请参阅Fleet 和 Elastic Agent 指南以了解更多信息。

APM 数据遵循 <type>-<dataset>-<namespace> 命名方案。 typedataset 由 Elasticsearch apm-data 插件预定义,但 namespace 让您有机会自定义不同类型的数据在 Elasticsearch 中的存储方式。 对于用作命名空间的内容没有建议——它有意地具有灵活性。 例如,您可以为每个环境创建命名空间,例如 devprodproduction 等。或者,您可以创建与组织内战略业务部门相对应的命名空间。

按类型划分,APM 数据流为

跟踪

跟踪由 span 和事务组成。 跟踪存储在以下数据流中

  • 应用程序跟踪: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 代理的配置中定义。 因此,服务名称必须遵循某些索引命名规则。

重要提示

拥有适当许可的用户可以使用Synthetic _source提供的额外存储效率。

日志

日志包括应用程序错误事件和应用程序日志。 日志存储在以下数据流中

  • APM 错误/异常日志记录:logs-apm.error-<namespace>
  • 应用程序 UI 日志记录:logs-apm.app.<service.name>-<namespace>

APM 支持将 APM 数据重定向到用户定义的 APM 数据流名称,而不是默认名称。 这可以通过在摄取管道中使用reroute处理器来设置数据流数据集或命名空间来实现。 分离 APM 数据流的好处是可以使用自定义保留和安全策略。

例如,考虑最初索引到 traces-apm-default 的跟踪。 要从跟踪的 service.environment 设置数据流命名空间,并回退到静态字符串 "default",请创建一个名为 traces-apm@custom 的摄取管道,它将自动使用

[
  {
    "reroute": {
      "namespace": [
        "{{service.environment}}",
        "default"
      ]
    }
  }
]

要查找默认调用的 Elasticsearch apm-data 插件中的其他摄取管道,请转到 Stack managementIngest pipelines 在 Kibana 中并搜索 apm。 默认 APM 摄取管道将遵循 *-apm*@default-pipeline 模式。

有关更多自定义 APM 摄取管道指南,请参阅使用摄取管道解析数据

  • 数据流不仅定义了数据在 Elasticsearch 中的存储方式,还定义了数据随时间的保留方式。 请参阅索引生命周期管理以了解如何创建自己的数据保留策略。
  • 有关 APM 存储和处理成本、处理和性能以及其他索引管理功能的信息,请参阅管理存储
© . All rights reserved.