智能警报中的自适应阈值

自适应阈值是 Instana 警报系统的一项强大功能,能够自动适应指标中不断变化的模式。 与静态阈值不同,后者无论应用程序行为如何都保持固定,自适应阈值会随数据持续演变,使其成为动态环境的理想选择。

图 1. 自适应阈值概述
自适应阈值概述

自适应阈值(红线)遵循指标数据(蓝线)的自然模式,随着指标行为的变化自动调整。

何时使用自适应阈值

自适应阈值在以下场景中效果最佳:

  • 渐变指标 :当基础指标预计会随时间逐渐变化,但突然偏离此趋势的情况不可取时。
  • 季节性指标 :当指标呈现每日或每周规律性变化时,且您需要为一天或一周的不同时段设置不同阈值。
  • 随时间演变的指标 :当应用程序发展或使用模式转变时,基准行为随之改变。

自适应阈值如何运作

预测算法

自适应阈值采用先进的时序预测算法,擅长捕捉数据中的趋势和季节性模式。 系统执行以下步骤:

  1. 分析历史数据以识别模式。
  2. 根据这些模式预测未来值。
  3. 计算这些预测值的置信区间。
  4. 利用这些间隔来确定适当的阈值。

练习周期

该系统需要历史数据来建立可靠的模式。 所需培训期因警报类型而异:

  • 应用智能警报 :至少需要连续14天的指标数据。
  • 网站智能警报 :至少5天的连续指标数据。

当您配置自适应阈值时,系统将:

  1. 分析现有的历史指标数据。
  2. 识别基线行为。
  3. 检测季节性模式(如有)。
  4. 建立初始阈值。

若具备充足的历史数据,自适应阈值将在配置后立即生效。 系统初始化后,会随着新数据的不断涌入持续更新,逐步适应应用程序行为的变化。

模型重新训练

该系统会定期进行重新训练,以确保其能够跟上您指标不断变化的特性。 当以下情况发生时,此再培训至关重要:

  • 某指标的季节性模式发生了变化,例如从非季节性转变为每日季节性。
  • 业务变化导致使用模式发生转变。
  • 应用程序行为在部署或配置变更后会发生演变。

这种自动重新训练机制确保您的阈值始终保持有效,无需人工干预——即使随着时间推移,指标的基本特征发生变化。 目前,系统每天保留一次模型。

关键参数

敏感度

灵敏度参数控制阈值与指标数据的契合程度:

  • 范围 :1-16。
  • 功能 :控制用于计算阈值的标准差(sigma)数量。
  • 效果
    • 较低的数值对应更高的灵敏度,并建立更严格的阈值以检测更微小的变化。
    • 数值越高,对应的灵敏度越低,从而形成更宽的阈值范围,仅能检测到重大变化。
图 2. 灵敏度比较高
灵敏度比较高

高灵敏度设置(较低数值)会在指标周围建立更严格的阈值(蓝色曲线),从而检测到更小的偏差。

图 3. 灵敏度比较低
灵敏度比较低

低灵敏度设置(数值较高)会在指标(蓝线)周围形成更宽的阈值范围,仅检测重大偏差。

对于使用 > 运算符的告警条件(例如响应延迟超过阈值时),该阈值是通过在预测值上添加一定余量来计算得出的。 灵敏度设置通过将其与计算出的偏差相乘来确定该边际值。

对于使用 < 运算符的告警条件(例如可用性低于阈值时),该阈值是通过从预测值中减去特定余量来计算的。 灵敏度设置通过将其与计算出的偏差相乘来确定该边际值。

系统如何处理异常值

为防止极端值扭曲阈值,系统采用了一种截断机制:

  1. 在初始化过程中 :根据历史数据的百分位数对极端值进行截断。
  2. 初始化后 :根据系统的预测值和置信区间对数值进行截断。

该机制确保偶发的峰值或跌幅不会影响阈值计算,同时仍能使系统适应指标行为的真实变化。

最佳实践

选择合适的灵敏度

  • 更高灵敏度 (1-2):适用于微小偏差至关重要的关键指标。
  • 中等敏感度 (2-4):作为大多数指标的默认设置。
  • 较低灵敏度 (4-16):适用于噪声较大的指标,或仅需对重大偏差发出警报的情况。

Draft comment:
Choosing the right adaptability (private preview)

Draft comment:
  • Lower adaptability (0.0-0.1): Use when threshold stability is more important over responsiveness to metric fluctuations.
  • Medium adaptability (0.1-0.5): Provides an optimal balance between threshold stability and responsiveness.
  • Higher adaptability (0.5-1.0): Appropriate when thresholds must rapidly adjust to changing metric patterns.

Draft comment:
Seasonality selection (private preview)

Draft comment:
  • Start with Auto detection.
  • Switch to No seasonality if your metric does not follow regular patterns.
  • Select Daily or Weekly if you know that your metric follows these specific patterns.

已知限制

自适应阈值为动态警报提供了强大的功能,但存在以下限制:

  • 标签过滤限制 :某些标签可能无法使用自适应阈值进行过滤。 系统限制了可与自适应阈值配置组合使用的标签。
  • 应用智能警报分组 :当使用自适应阈值时,应用智能警报不支持按终端进行分组。 若需端点级分组,请使用静态阈值。

结束语

自适应阈值提供了一种强大的方式,能够创建动态的、自我调整的警报,这些警报会随着应用程序的发展而不断演进。 通过理解灵敏度、适应性和季节性设置如何协同作用,您可以优化警报设置,从而捕捉真实问题并最大限度地减少误报数量。

自适应阈值需要足够的历史数据来建立可靠的模式。 具体训练周期取决于警报类型(详情请参阅前文的训练周期章节)。 当数据量充足时,阈值在配置完成后立即生效。 通过合理配置,自适应阈值可显著降低警报噪声,助您专注于真正重要的事项。