你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Application Insights 包括自定义采样器,并与 OpenTelemetry 集成,以减少遥测量、降低成本并保留你关心的诊断数据。
重要
有关使用 Application Insights 经典 API 软件开发工具包(SDK)时采样的信息,请参阅 经典 API 采样。
先决条件
在继续之前,请确保具备:
- 基本了解 数据收集 方法
- 基本了解 OpenTelemetry 采样概念
- 使用 OpenTelemetry 进行检测的应用程序
为什么采样很重要
采样对于生成大量遥测的应用程序至关重要。
缺乏采样时,过量的数据摄入可能会导致:
- 增加存储和处理成本
- 导致 Application Insights 限制遥测
有效的采样可保留足够的数据,以便进行有意义的诊断,同时控制成本。
默认情况下,Application Insights OpenTelemetry 发行版中 未启用 采样。 必须显式启用和配置采样以便管理遥测数据量。
注释
如果在 Application Insights 中看到意外费用或高成本,本指南将有所帮助。 它涵盖了常见的原因,例如高遥测量、数据引入峰值和配置错误的采样。 如果你在排查与成本峰值、遥测量、采样功能失效、数据上限、高引入或意外计费相关的问题,则它特别有用。 若要开始操作,请参阅排查 Application Insights 中的高数据引入问题。
Application Insights 自定义采样器
基于 Azure Monitor OpenTelemetry 的发行版包括自定义采样器。
实时指标和 Application Insights 经典 API SDK 需要此采样器才能兼容。
采样器默认处于禁用状态。 必须显式启用和配置采样以使用采样器。
采样选项
固定速率(百分比)
设置介于 0 和 1 之间的采样比率(例如,0.1向 Azure Monitor 发送大约 10 个跟踪%)。速率受限
设置每秒的最大跟踪数(例如,0.5每两秒≈一个跟踪;5.0= 每秒 5 个跟踪)。基于跟踪的日志采样
对于支持它的语言,会删除与未采样跟踪关联的日志。
Azure Monitor Application Insights 服务依赖此采样器来显示完整的跟踪并避免出现损坏的跟踪。
好处
- 在使用 Application Insights 经典 API 软件开发工具包(SDK)与应用程序实现互操作性时做出一致的采样决策。
- 与 实时指标 完全兼容,因为采样器知道实时指标要求。
若要配置采样百分比,请参阅 使用 OpenTelemetry 在 Application Insights 中启用采样。
有关更多详细信息和采样边缘事例,请参阅 常见问题解答。
引入采样(不建议)
当无法进行源级控制时,引入采样是一种备选方案。 它会在 Azure Monitor 引入点丢弃数据,并且无法对保留哪些跟踪和跨度进行控制。 这会增加遇到断裂痕迹的几率。
唯一可行或最实用选项的方案包括:
- 无法修改应用程序源代码。
- 无需重新部署应用程序即可立即减少遥测数据量。
- 收到来自多个源的遥测数据,这些源的采样配置不一致或未知。
若要配置引入采样,请执行以下操作:
- 转到 Application Insights>使用情况和估计成本。
- 选择 数据采样。
- 选择要保留的数据百分比。
设置每日上限
设置每日上限以防止意外成本。 此限制会在达到阈值时停止遥测引入。
请将此上限用作最后的控制手段,而不是替代采样。 数据量突然增加可能会触发上限,造成遥测中断,直到第二天重置为止。
若要配置上限,请参阅 为 Azure Monitor 设置每日上限。