活动
你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Monitor Application Insights 的数据收集基本信息
在监视应用程序之前,需要先对其进行检测。
以下部分将介绍 Azure Monitor Application Insights 的一些数据收集基本信息。
就基础级别而言,“检测”只是使应用程序能够捕获遥测数据。
有两种检测应用程序的方法:
- 自动检测
- 手动检测
自动检测通过配置启用遥测数据收集,而不会触及应用程序的代码。 虽然非常方便,但其可配置性较低。 并且只提供部分语言版本。 请参阅自动检测支持的环境和语言。 当自动检测可用时,这是启用 Azure Monitor Application Insights 的最简单方法。
手动检测对 Application Insights 或 OpenTelemetry API 进行编码。 在用户的上下文中,它通常是指在应用程序中安装语言特定的 SDK。 这意味着必须自行管理更新到最新包版本的工作。 如果需要进行自定义依赖项调用或 API 调用,而自动检测默认情况下不会捕获这些调用,则可以使用此选项。 手动检测有两种选择:
虽然我们认为 OpenTelemetry 是发展的方向,但没有停止从旧 SDK 收集数据的计划。 还有一段距离才能让 Azure OpenTelemetry 发行版与 Application Insights SDK 实现功能奇偶一致性。 在许多情况下,客户会在相当长的一段时间内继续选择使用 Application Insights SDK。
重要
“手动”并不意味着需要编写复杂的代码来定义分布式跟踪的范围(尽管这仍不失为一种选择)。 发行版中打包的检测可供轻松地在通用框架和库中捕获遥测信号。 我们正在积极使用 OpenTelemetry 来检测最热门的 Azure服务 SDK,以便使用 Azure Monitor OpenTelemetry 发行版的客户可以使用这些信号。
遥测数据(为观察应用程序而进行收集的数据)可以分为三种类型或包含三种构成要素:
- 分布式跟踪
- 指标
- 日志
完整的可观测性故事包括所有三个支柱,Application Insights 根据我们的数据模型将这些支柱进一步分解为表。 我们的 Application Insights SDK 或 Azure Monitor OpenTelemetry 发行版包括在 Azure 上支持应用程序性能监视所需的一切。 包本身可以免费安装,只需为在 Azure Monitor 中引入的数据付费。
以下源介绍三大支柱:
- OpenTelemetry 社区网站
- OpenTelemetry 规范
- Cindy Sridharan 的分布式系统可观测性
可以通过两种方式将数据发送给 Azure Monitor(或任何供应商):
- 通过直接导出程序发送
- 通过代理发送
直接导出程序会将正在进行的遥测(从应用程序的代码)直接发送到 Azure Monitor 引入终结点。 此方法的主要优点是加入过程非常简单。
当前可用的 Application Insights SDK 和 Azure Monitor OpenTelemetry 发行版依赖于直接导出程序。
备注
有关 Azure Monitor 在 OpenTelemetry-Collector 上的位置,请参阅 OpenTelemetry 常见问题解答。
提示
如果计划使用 OpenTelemetry-Collector 进行采样或其他数据处理,则可以在 Azure Monitor 中内置这些相同的功能。 迁移到基于工作区的 Application Insights 的客户可以从引入时间转换中受益。 要启用,请按照教程中的详细信息进行操作,跳过显示如何设置诊断设置的步骤,因为在以工作区为中心的 Application Insights 中,已经配置了诊断设置。 如果筛选量不到总容量的 50%,则不会产生额外费用。 50% 之后,会产生费用,但远低于每 GB 收费的标准。
Microsoft 很高兴能够在未来使用 OpenTelemetry 检测遥测数据。 作为我们的客户,你曾要求提供非供应商特定的工具,并且我们很高兴能够与 OpenTelemetry 社区达成合作,跨语言创建一致的 API 和 SDK。
Microsoft 与两个以前常用的开源遥测项目 OpenCensus 和 OpenTracing 的项目利益干系人合作。 我们互帮互助,携手创建了 OpenTelemetry 这一项目。 OpenTelemetry 包括所有主要云和应用程序性能管理 (APM) 供应商发布的内容,并由云原生计算基金会 (CNCF) 运营。 Microsoft 是 CNCF 的白金成员。
有关术语,请参阅 OpenTelemetry 规范中的术语表。
由于 OpenTelemetry 上的行业整合,Application Insights 中的一些旧术语会引起混淆问题。 下表突出显示这些差异。 OpenTelemetry 术语将替换 Application Insights 术语。
Application Insights | OpenTelemetry |
---|---|
自动收集器 | 检测库 |
通道 | 导出程序 |
无代码/基于代理 | 自动检测 |
跟踪 | 日志 |
请求 | 服务器跨度 |
依赖项 | 其他跨度类型(客户端、内部等) |
操作 ID | 跟踪 ID |
ID 或父级操作 ID | Span ID |
GITHub 上托管的 SDK 版本和名称的列表。 有关详细信息,请参阅 SDK 版本。
选择启用方法:
- 自动检测
- Application Insights SDK
- Azure Monitor OpenTelemetry 发行版
有关详细信息,请查看 Azure Monitor Application Insights 常见问题解答和 OpenTelemetry 常见问题解答。
其他资源
培训
模块
使用 OpenTelemetry 在 .NET 云原生应用程序中实现可观测性 - Training
了解可观测性以及如何在云原生应用程序中实现它。 使用 OpenTelemetry 包输出日志、指标和跟踪数据,并分析 Application Insights 和第三方应用程序中的数据。
认证
Microsoft Certified:Fabric 分析工程师助理 - Certifications
作为 Fabric 分析工程师助理,你应具有设计、创建和部署企业级数据分析解决方案的学科专业知识。
文档
-
Azure 上的 OpenTelemetry - Azure Monitor
本文概述了 Azure 上的 OpenTelemetry。
-
Azure Monitor Application Insights 的自动检测 - Azure Monitor
Azure Monitor Application Insights 自动检测功能概述 - 无代码应用程序性能管理。
-
为 .NET、Java、Node.js 和 Python 应用程序启用 Azure Monitor OpenTelemetry - Azure Monitor
本文提供在应用程序中使用 OpenTelemetry 启用 Azure Monitor 的操作指南。