数据流编辑

数据流命名方案编辑

APM 数据遵循 <类型>-<数据集>-<命名空间> 命名方案。类型数据集 由 APM 集成预定义,但 命名空间 是您可以自定义不同类型数据在 Elasticsearch 中存储方式的机会。没有关于使用什么作为命名空间的建议 - 它有意设计为灵活的。例如,您可以为每个环境创建命名空间,例如 devprodproduction 等。或者,您可以创建与组织内战略业务部门相对应的命名空间。

APM 数据流编辑

按类型,APM 数据流为

跟踪

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

  • 应用程序跟踪:traces-apm-<命名空间>
  • RUM 和 iOS 代理应用程序跟踪:traces-apm.rum-<命名空间>
指标

指标包括基于应用程序的指标、聚合指标和基本系统指标。指标存储在以下数据流中

  • APM 内部指标:metrics-apm.internal-<命名空间>
  • APM 事务指标:metrics-apm.transaction.<指标集.间隔>-<命名空间>
  • APM 服务目标指标:metrics-apm.service_destination.<指标集.间隔>-<命名空间>
  • APM 服务事务指标:metrics-apm.service_transaction.<指标集.间隔>-<命名空间>
  • APM 服务摘要指标:metrics-apm.service_summary.<指标集.间隔>-<命名空间>
  • 应用程序指标:metrics-apm.app.<服务.名称>-<命名空间>

    应用程序指标在数据流名称中包含已检测服务的名称(在每个 APM 代理的配置中定义)。因此,服务名称必须遵循某些索引命名规则。

    服务名称规则
    • 服务名称不区分大小写,并且必须唯一。例如,您不能有一个名为 Foo 的服务和另一个名为 foo 的服务。
    • 特殊字符将从服务名称中删除,并替换为下划线 (_)。特殊字符包括

      '\\', '/', '*', '?', '"', '<', '>', '|', ' ', ',', '#', ':', '-'
日志

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

  • APM 错误/异常日志记录:logs-apm.error-<命名空间>
  • APM 应用程序日志记录:logs-apm.app.<服务.名称>-<命名空间>

APM 数据流重新路由编辑

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

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

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

有关默认调用的其他摄取管道的更多信息,例如 traces-apm@custom,请参阅集成数据流摄取管道

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

下一步是什么?编辑

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