加载中

在 APM 中使用 OpenTelemetry

Elastic Stack Serverless

注意

有关将 OpenTelemetry 与 Elastic 结合使用的完整概述,请参阅 Elastic 发布的 OpenTelemetry

OpenTelemetry 是一组 API、SDK、工具和集成,能够捕获和管理来自您的服务和应用程序的遥测数据。

Elastic 集成了 OpenTelemetry,允许您重用现有的仪器来轻松地将可观察性数据发送到 Elastic Stack。有几种方法可以将 OpenTelemetry 与 Elastic Stack 集成。

Elastic 提供了几种 OpenTelemetry 语言 SDK 的发行版。发行版 是上游 OpenTelemetry 存储库的定制版本。每个 Elastic 发布的 OpenTelemetry 都是 OpenTelemetry 语言 SDK 的定制版本。

apm otel distro

通过 Elastic 发布的 OpenTelemetry 语言 SDK,您可以访问其定制的 OpenTelemetry SDK 的所有功能,此外还有

  • 您可能会获得 Elastic 团队贡献的 SDK 改进和错误修复,这些改进和修复在 OpenTelemetry 存储库中可用之前即可获得。
  • 该发行版预先配置了跟踪和指标信号的收集,并应用了一些主观默认设置,例如默认收集哪些源。

开始使用 Elastic 发布的 OpenTelemetry 语言 SDK

注意

有关 OpenTelemetry 发行版的更一般性细节,请访问 OpenTelemetry 文档

将 OpenTelemetry API/SDK 与 Elastic APM 代理 结合使用,将 OpenTelemetry API 调用转换为 Elastic APM API 调用。

apm otel api sdk elastic agent

这使您可以重用现有的 OpenTelemetry 仪器来创建 Elastic APM 事务和跨度 — 避免供应商锁定并无需重新进行手动仪器。

但是,在使用此方法时,并非所有 OpenTelemetry API 功能都得到支持,并且并非所有 Elastic APM 代理都支持此方法。

在 APM 代理文档中查找更多有关如何将 OpenTelemetry API 或 SDK 与 Elastic APM 代理结合使用以及支持哪些 OpenTelemetry API 功能的详细信息。

Elastic Stack 原生支持 OpenTelemetry 协议 (OTLP)。这意味着由 OpenTelemetry Collector 或 OpenTelemetry 语言 SDK 从您的应用程序和基础设施收集的跟踪数据和指标可以发送到 Elastic Stack。

您可以设置一个 OpenTelemetry Collector,使用将数据发送到 Collector 的 OpenTelemetry 语言 SDK 来仪器化您的应用程序,并使用 Collector 处理和导出数据到 APM Server 或托管的摄入服务。

apm otel api sdk collector
注意

也可以直接从上游 OpenTelemetry SDK 将数据发送到 APM Server 或托管的摄入服务。您可以在开发期间或监控小型应用程序时这样做。在 OpenTelemetry 文档 中阅读更多关于何时使用 Collector 的信息。

当您需要仪器化 Elastic 未提供解决方案的技术时,此方法效果很好。例如,如果您想仪器化 C 或 C++,可以使用 OpenTelemetry C++ 客户端

但是,在使用 OpenTelemetry 构建和维护的 Collector 和语言 SDK 时,存在一些限制,包括:

  • Elastic 无法提供关于如何使用上游 OpenTelemetry 工具的实现支持。
  • 您将无法获得 Elastic 企业 APM 功能。
  • 您可能会遇到性能效率问题。

有关使用上游 OpenTelemetry 工具的限制的更多信息,请参阅 限制

开始使用上游 OpenTelemetry Collector 和语言 SDK →

AWS Lambda 函数可以与 OpenTelemetry 进行仪器化,并由 Elastic Observability 或 Elastic Observability Serverless 进行监控。

要开始,请遵循官方 AWS OpenTelemetry Lambda 发行版文档,并配置 OpenTelemetry Collector 将跟踪和指标输出到您的 Elastic 集群。

开始使用 AWS OpenTelemetry Lambda 发行版

© . This site is unofficial and not affiliated with Elasticsearch BV.