.NET环境下是否存在适配Azure SDK的OpenTelemetry Instrumentation埋点库?
可用的埋点库说明
微软官方提供了适配OpenTelemetry的Azure SDK埋点instrumentation库,完全支持你期望的调用写法。
- 首先需要安装对应NuGet包:
OpenTelemetry.Instrumentation.Azure,该包由微软官方维护,支持绝大多数常用Azure服务SDK的自动埋点,包括Azure Blob Storage、Azure Cosmos DB、Azure Service Bus、Azure Event Hubs等主流服务的请求/响应数据采集。 - 集成方式和你现有埋点逻辑完全兼容,安装完成后直接在
TracerProviderBuilder的配置链中添加AddAzureInstrumentation()调用即可,示例如下:
tracerProviderBuilder // 你原有其他埋点配置 .AddAzureInstrumentation() // 原有OTLP导出等配置
- 你也可以根据需求自定义配置规则,比如过滤不需要采集的请求、添加自定义标签:
.AddAzureInstrumentation(options => { // 过滤规则:仅采集非健康检查类的Azure请求 options.Filter = request => !request.OperationName.Contains("HealthCheck"); // 埋点增强逻辑:添加自定义环境标签 options.Enrich = (activity, eventName, rawData) => { activity.SetTag("runtime.env", Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")); }; })
默认情况下该埋点库会自动采集Azure请求的服务类型、操作名称、响应状态、耗时、关联资源ID等核心属性,和你已接入的其他组件埋点格式统一,不需要额外做字段对齐。使用时注意保持该包版本和你项目中已引入的OpenTelemetry核心包大版本一致,避免出现依赖冲突。
内容的提问来源于stack exchange,提问作者ofir mamo
相关产品推荐
相关产品推荐

