限制
编辑
OpenTelemetry 追踪编辑
  • 使用 messaging 语义的应用程序的追踪可能在应用程序 UI 中错误地显示为 transactions,而它们应被视为 spans(请参阅问题 #7001)。
  • 无法在跨度中查看堆栈跟踪。
  • 无法在 APM 视图中查看“跨度类型花费的时间”(请参阅问题 #5747)。
OpenTelemetry 日志编辑
  • [预览] 此功能处于技术预览阶段,可能会在将来的版本中更改或删除。Elastic 将致力于解决任何问题,但技术预览中的功能不受正式 GA 功能的支持 SLA 的约束。 通过 APM Server 获取 OpenTelemetry 日志处于技术预览阶段。
  • 应用程序日志数据流 (app_logs) 已禁用动态映射。这意味着已禁用新字段的自动检测和映射(请参阅问题 #9093)。
OpenTelemetry 行协议 (OTLP)编辑

APM Server 支持 OTLP/gRPCOTLP/HTTP 协议(使用 ProtoBuf 负载)。APM Server 尚未支持 OTLP/HTTP 的 JSON 编码。

用于 Elastic 的 OpenTelemetry Collector 导出器编辑

用于 Elastic 的 OpenTelemetry Collector 导出器 已弃用,并由 Elastic 可观测性中对 OpenTelemetry 行协议的本机支持 (OTLP) 取代。

用于 OpenTelemetry Collector 的 Elasticsearch 导出器(与上面提到的旧版导出器不同)不建议与 Elastic APM 和 Elastic 可观测性一起使用。请改用 上游 OpenTelemetry Collector 和语言 SDK

OpenTelemetry 的基于尾部的采样编辑

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

将 OpenTelemetry 与 Elastic APM 结合使用时,可以使用两种不同的基于尾部的采样实现

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

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