局限性
编辑
OpenTelemetry 追踪编辑
  • 使用 messaging 语义的应用程序的追踪可能会在 Applications UI 中错误地显示为 transactions,而它们应该被视为 spans(请参阅问题 #7001)。
  • 无法在 span 中查看堆栈跟踪。
  • 在 APM 视图中无法查看“按 span 类型花费的时间”(请参阅问题 #5747)。
OpenTelemetry 日志编辑
  • [预览] 此功能为技术预览版,可能会在未来的版本中更改或删除。Elastic 将努力修复任何问题,但技术预览版中的功能不受官方 GA 功能的支持 SLA 的约束。 通过 APM Server 接收 OpenTelemetry 日志的功能为技术预览版。
  • 应用程序日志数据流 (app_logs) 已禁用动态映射。这意味着禁用自动检测和新字段的映射(请参阅问题 #9093)。
OpenTelemetry Line Protocol (OTLP)编辑

APM Server 支持 OTLP/gRPCOTLP/HTTP 协议以及 ProtoBuf 有效负载。APM Server 尚不支持 OTLP/HTTP 的 JSON 编码。

用于 Elastic 的 OpenTelemetry Collector 导出器编辑

用于 Elastic 的 OpenTelemetry Collector 导出器 已被弃用,并被 Elastic 可观察性中对 OpenTelemetry Line Protocol (OTLP) 的原生支持所取代。

OpenTelemetry Collector 的 Elasticsearch 导出器(与上述旧版导出器不同)不应与 Elastic APM 和 Elastic 可观察性一起使用。请改用 上游 OpenTelemetry Collector 和语言 SDK

OpenTelemetry 的基于尾部的采样编辑

基于尾部的采样允许在完成跟踪的所有 span 后做出采样决策。这允许更强大和更明智的采样规则。

将 OpenTelemetry 与 Elastic APM 一起使用时,有两种不同的基于尾部采样的实现可用

在 OpenTelemetry Collector 中使用 tailsamplingprocessor 存在一个重要的限制。Elastic 的 APM 后端根据传入的 span 事件计算 span 和事务指标。这些指标在 100% 采样场景中是准确的。在概率采样场景中,Elastic 的 APM 后端会收到关于 span 采样率的通知,并且可以根据传入的部分数据推断吞吐量指标。然而,由于规则可能更复杂,并且 OpenTelemetry Collector 不向 Elastic 后端提供可用于数据推断的采样概率信息,因此基于尾部的采样没有明确的采样决策概率。因此,Elastic APM 无法正确推断从 OpenTelemetry Collector 中基于尾部采样的 span 事件派生的吞吐量和计数指标。在这些情况下,派生的吞吐量和计数指标很可能不准确。

因此,我们建议在与 OpenTelemetry 集成时使用 Elastic 的原生基于尾部的采样。