限制编辑

OpenTelemetry 追踪编辑
  • 使用 messaging 语义的应用程序的追踪可能在 APM UI 中被错误地显示为 transactions,而它们应该被视为 spans(参见问题 #7001)。
  • 无法在跨度中查看堆栈跟踪。
  • 无法在 APM 视图中查看“按跨度类型划分的时间”(参见问题 #5747)。
OpenTelemetry 指标编辑
  • 使用 OpenTelemetry Collector 主机指标接收器时,无法在 Elastic 指标基础设施视图中查看主机指标(参见问题 #5310)。
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 行协议的原生支持所取代。

用于 OpenTelemetry Collector 的 Elasticsearch 导出器(与上面提到的旧版导出器不同)不打算与 Elastic APM 和 Elastic 可观测性一起使用。请改用 OpenTelemetry 原生支持

OpenTelemetry 的基于尾部的采样编辑

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

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

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

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