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_ENDPOINT 和 OTLP_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 上找到。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。