使用 OpenTelemetry 与 APM
编辑使用 OpenTelemetry 与 APM
编辑有关使用 OpenTelemetry 与 Elastic 的完整概述,请探索 Elastic OpenTelemetry 发行版.
OpenTelemetry 是一套 API、SDK、工具和集成,可用于捕获和管理来自您的服务和应用程序的遥测数据。
Elastic 集成了 OpenTelemetry,允许您重用现有的检测来轻松地将可观测性数据发送到 Elastic Stack。有多种方法可以将 OpenTelemetry 与 Elastic Stack 集成
Elastic OpenTelemetry 语言 SDK 发行版
编辑某些 Elastic OpenTelemetry 发行版尚不建议用于生产环境。功能可能会在将来的版本中更改或删除。Alpha 版本不受官方 GA 功能的支持 SLA 的约束。
Elastic 提供了多个 OpenTelemetry 语言 SDK 发行版。发行版是上游 OpenTelemetry 存储库的自定义版本。每个 Elastic OpenTelemetry 发行版都是 OpenTelemetry 语言 SDK 的自定义版本。
使用 Elastic OpenTelemetry 语言 SDK 发行版,您可以访问其自定义的 OpenTelemetry SDK 的所有功能,此外还包括
- 您可以在更改在上游 OpenTelemetry 存储库中可用之前获得 Elastic 团队贡献的 SDK 改进和错误修复。
- 发行版预先配置了跟踪和指标信号的收集,并应用了一些有见地的默认值,例如默认情况下收集哪些源。
开始使用 Elastic OpenTelemetry 语言 SDK 发行版
- Elastic OpenTelemetry Java 发行版 →
- [预览] Elastic OpenTelemetry .NET 发行版尚不建议用于生产环境。功能可能会在将来的版本中更改或删除。Alpha 版本不受官方 GA 功能的支持 SLA 的约束。 Elastic OpenTelemetry .NET 发行版 →
- [预览] Elastic OpenTelemetry Node.js 发行版尚不建议用于生产环境。功能可能会在将来的版本中更改或删除。Alpha 版本不受官方 GA 功能的支持 SLA 的约束。 Elastic OpenTelemetry Node.js 发行版 →
- [预览] Elastic OpenTelemetry Python 发行版尚不建议用于生产环境。功能可能会在将来的版本中更改或删除。Alpha 版本不受官方 GA 功能的支持 SLA 的约束。 Elastic OpenTelemetry Python 发行版 →
- [预览] Elastic OpenTelemetry PHP 发行版尚不建议用于生产环境。功能可能会在将来的版本中更改或删除。Alpha 版本不受官方 GA 功能的支持 SLA 的约束。 Elastic OpenTelemetry PHP 发行版 →
有关 OpenTelemetry 发行版的更多详细信息,请访问 OpenTelemetry 文档。
上游 OpenTelemetry API/SDK + Elastic APM 代理
编辑将 OpenTelemetry API/SDK 与 Elastic APM 代理 一起使用,以将 OpenTelemetry API 调用转换为 Elastic APM API 调用。
这使您可以重用现有的 OpenTelemetry 检测来创建 Elastic APM 事务和跨度,从而避免供应商锁定并避免重新进行手动检测。
但是,使用此方法时,并非所有 OpenTelemetry API 功能都受支持,并且并非所有 Elastic APM 代理都支持此方法。
查找有关如何将 OpenTelemetry API 或 SDK 与 Elastic APM 代理一起使用以及 APM 代理文档中支持哪些 OpenTelemetry API 功能的更多详细信息
上游 OpenTelemetry 收集器和语言 SDK
编辑Elastic Stack 原生支持 OpenTelemetry 协议 (OTLP)。这意味着从您的应用程序和基础设施由 OpenTelemetry 收集器或 OpenTelemetry 语言 SDK 收集的跟踪数据和指标可以发送到 Elastic Stack。
您可以设置 OpenTelemetry 收集器,使用将数据发送到收集器的 OpenTelemetry 语言 SDK 检测您的应用程序,并使用收集器处理并将数据导出到 APM Server。
也可以直接从上游 OpenTelemetry SDK 发送数据到 APM Server。您可以在开发过程中或监控小型应用程序时执行此操作。在 OpenTelemetry 文档 中阅读有关何时使用收集器的更多信息。
当您需要检测 Elastic 没有提供解决方案的技术时,此方法非常有效。例如,如果您想检测 C 或 C++,您可以使用 OpenTelemetry C++ 客户端。
但是,使用由 OpenTelemetry 构建和维护的收集器和语言 SDK 时,存在一些限制,包括
- Elastic 无法提供有关如何使用上游 OpenTelemetry 工具的实施支持。
- 您将无法访问 Elastic 企业 APM 功能。
- 您可能会遇到性能效率问题。
有关使用上游 OpenTelemetry 工具相关的更多限制信息,请参阅 限制。
开始使用上游 OpenTelemetry 收集器和语言 SDK →
AWS Lambda 收集器导出器
编辑AWS Lambda 函数可以使用 OpenTelemetry 进行检测,并使用 Elastic 可观测性进行监控。
要开始使用,请遵循 OpenTelemetry Lambda 的官方 AWS 发行版文档,并将 OpenTelemetry 收集器配置为将跟踪和指标输出到您的 Elastic 集群