开源的Elastic .NET OpenTelemetry SDK

Elastic 发布 .NET OpenTelemetry SDK 的 Alpha 版本

Elastic 宣布了其基于 OpenTelemetry SDK for .NET 的 Elastic 发行版的 Alpha 版本。该发行版预配置了追踪(tracing)、指标(metrics)和日志(logs)的收集功能,并默认启用了 OTLP 导出器。该项目以开源形式发布。

如何开始使用 Elastic OpenTelemetry 发行版

要开始使用 Elastic OpenTelemetry 发行版,开发者需要在项目中添加对 Elastic OpenTelemetry NuGet 包的引用。可以通过在项目文件中添加以下包引用来实现:

<PackageReference Include="Elastic.OpenTelemetry" Version="1.0.0-alpha.1" />

添加包引用后,开发者可以在应用中使用 Elastic OpenTelemetry 发行版。该发行版包含了 OpenTelemetry SDK 的传递依赖,因此无需在项目中单独添加 OpenTelemetry SDK。

支持 ASP.NET Core 的 OpenTelemetry SDK 工具

为了更好地利用 OpenTelemetry SDK 对 ASP.NET Core 的仪表化(instrumentation)功能,开发者还应添加 OpenTelemetry.Instrumentation.AspNetCore NuGet 包。该包支持收集由 ASP.NET Core 端点处理的请求的仪表化数据(追踪和指标)。OpenTelemetry SDK 提供了扩展方法,允许在 IServiceCollection 上启用和配置追踪、指标和日志提供程序。Elastic 发行版覆盖了默认的 SDK 注册。

环境变量配置

至少需要配置两个环境变量:OTEL_EXPORTER_OTLP_ENDPOINTOTLP_EXPORTER_OTLP_HEADERS。Elastic 发行版会自动启用 OTLP 导出器的遥测信号导出功能。OTLP 导出器要求至少配置一个端点,通常通过环境变量来配置。

Alpha 版本的限制

当前的 Alpha 版本功能有限。Elastic 表示,他们的目标是评估 API 设计的适用性和易用性。然而,他们强调该版本并不适合所有应用场景,因此不建议在生产环境中使用。

Elastic 公司背景与愿景

Elastic 的首席软件工程师 Martijn Laarman 向 InfoQ 分享了一些关于该解决方案的见解:

该 SDK 与 Elastic 公司范围内的努力一致,旨在使 OpenTelemetry 成为堆栈的原生部分。我们的 APM 解决方案已经支持通过 OpenTelemetry SDK 进行原生 OLTP 接收已有三年。我们的专有开源代理也长期支持 OpenTelemetry Bridge,允许用户使用 OpenTelemetry SDK/Activity 来仪表化他们的代码。

Laarman 强调,他们的 OpenTelemetry .NET 发行版是这一旅程的下一步,允许他们为用户提供一个供应商中立的解决方案,并在将新功能贡献给更广泛的 OpenTelemetry 社区之前进行评估。

开源代码

该项目的代码完全开源,可以在 GitHub 上找到。

阅读 28
0 条评论