本文介绍如何Azure Monitor OpenTelemetry 自动收集遥测数据,以及资源检测器如何使用一致的元数据丰富遥测数据。 你了解默认收集哪些信号,以及资源检测器如何填充服务标识和环境详细信息等属性,以便 Application Insights 数据更易于跨.NET、Java、Node.js和Python应用程序进行筛选、关联和故障排除。
若要了解有关 OpenTelemetry 概念的详细信息,请参阅 OpenTelemetry 概述。
注释
有关 Azure 函数应用,请参阅 在 Azure Functions 中使用 OpenTelemetry。
包含的检测库
Azure Monitor发行版通过捆绑 OpenTelemetry 检测库自动收集数据。
请求
依赖
日志记录
ILogger
有关 ILogger 的详细信息,请参阅 C# 和 .NET 中的记录 和 代码示例。
脚注
- ¹:支持未经处理的/未捕获的异常的自动报告
- ²:支持 OpenTelemetry 指标
注释
Azure Monitor OpenTelemetry 发行版包括自定义映射和逻辑,用于自动发出 Application Insights 标准指标。 出于计费目的,所有 OpenTelemetry 指标(无论是从检测库自动收集还是从自定义编码中手动收集)当前都被视为 Application Insights 自定义指标。 了解详细信息。
小窍门
若要减少或增加发送到Azure Monitor的日志数,请配置日志记录以设置适当的日志级别或应用筛选器。 例如,可以选择仅将 WARNING 和 ERROR 日志发送到Azure Monitor。
资源检测器
资源检测器在启动时发现环境元数据,并填充 OpenTelemetry 资源属性 ,例如 service.name, cloud.provider和 cloud.resource_id。 此元数据为 Application Insights 中的体验提供支持,例如应用程序映射和计算链接,并改进了跟踪、指标和日志之间的关联。
小窍门
资源属性描述过程及其环境。 Span 属性描述单个操作。 将资源属性用于应用级属性,例如 service.name。
支持的环境
| 环境 | 检测的工作原理 | 备注 |
|---|---|---|
| Azure App 服务 | 语言 SDK 或 Azure Monitor 分发版读取已知的应用服务环境变量和主机元数据 | 使用本文中的指南时,请与.NET、Java、Node.js和Python配合使用。 |
| Azure Functions | 请参阅 Azure Functions OpenTelemetry 操作说明 | 所有Azure Functions相关的指导都在那里。 |
| Azure 虚拟机 | 语言 SDK 或分发版会查询 Azure 实例元数据服务 | 确保 VM 能够访问实例元数据服务终结点。 |
| Azure Kubernetes Service (AKS) | 使用 OpenTelemetry 收集器 k8sattributes 处理器来添加 Kubernetes 元数据 |
建议用于 AKS 中运行的所有语言。 |
| Azure 容器应用 | 检测器在可用时映射环境变量和资源标识符 | 您还可以设置OTEL_RESOURCE_ATTRIBUTES以填补空白。 |
OTLP 引入注意事项
cloud.resource_id改进了与Azure资源的计算链接。 如果缺少此属性,某些体验可能不会显示生成数据的Azure资源。Application Insights 使用
service.name来派生云角色名称。 选择每个服务的稳定名称以避免应用程序映射中的碎片节点。cloud.resource_id改进了与Azure资源的计算链接。 如果缺少此属性,某些体验可能不会显示生成数据的Azure资源。
故障排除、反馈和支持
小窍门
以下部分适用于所有 OpenTelemetry 发行版文章。
故障排除
有关故障排除的信息,请参阅 Troubleshoot OpenTelemetry issues in .NET 和 Troubleshoot missing application telemetry in Azure Monitor Application Insights。
OpenTelemetry 反馈
若要提供反馈,请查看以下内容:
- 通过加入 OpenTelemetry 早期采用者社区来告诉Microsoft自己。
- 在 Microsoft Tech Community 中与其他Azure Monitor用户互动。
- 在 Azure 反馈论坛发出功能请求。
支持
选择所选语言的选项卡,以发现支持选项。
- 对于 Azure 支持问题,请打开 Azure 支持票证。
- 对于 OpenTelemetry 问题,请直接联系 OpenTelemetry .NET 社区。
- 有关与Azure Monitor导出程序相关的开放问题列表,请参阅 GitHub 问题页。
后续步骤
- 若要查看源代码,请参阅 Azure Monitor ASP.NET Core GitHub 存储库。
- 若要查看示例应用程序,请参阅 Azure Monitor OpenTelemetry for ASP.NET Core。
- 若要安装 NuGet 包、检查更新或查看发行说明,请参阅 Azure Monitor AspNetCore NuGet 包页。
- 若要了解有关 OpenTelemetry 及其社区的详细信息,请参阅 OpenTelemetry .NET GitHub 存储库。
- 若要启用使用体验, 请启用 Web 或浏览器用户监视。