SmartMetrics的Holiday功能支持配置定制化事件,提高动态基线告警的准确率。本文介绍如何配置Holiday。

背景信息

SmartMetrics能够自动捕捉指标的季节性特征,包括以一周、一天、几小时为周期的规律性特征,并依据这些特征对未来一段时间内指标的上下边界做预测。但在某些场景下,指标会出现一些突增或突降,但并不需要告警。例如在双十一期间,电商App的访问量会发生突增,服务器的CPU水位也会上涨,但这属于意料之中,不需要产生告警。

在时序预测领域,这种不常见但可预料的指标异常现象被称为Holiday效应,这种异常发生的时段被称为Holiday。出现Holiday效应的部分场景如下:

  • 某公司每天凌晨2点左右进行缩容,第二天上午6点左右进行扩容,这两种操作都会导致相应的指标出现突增或突降。
  • 某电商平台在双十一、618、春节期间进行促销活动,在这期间,应用、服务的访问量会迅速上升,服务器的CPU使用率水位也会迅速上升。
  • Holiday重复的规律可能不大一样,例如每年的春节、端午节的时间都不一样。
  • 存在用户定制的、偶然发生的Holiday。例如某公司要对自己的App进行新版本发布或者压测,会引发一些指标异常。
如果不配置Holiday,可能会出现以下两种情况:
  • 在模型训练过程中,误以为指标曲线上所有的峰值都是它季节性特征的一部分,这会导致算法预测出来的上下边界出现偏差。
  • 因为模型无法对未来Holiday内指标的上下边界做出准确的预测,可能会出现一些误告警或漏告警。

因此,SmartMetrics推出Holiday功能,支持用户配置特定时段的定制化事件。这样,SmartMetrics将自动学习指标曲线在特定时段的特征,并对未来Holiday曲线上下边界做出更准确的预测,以实现更准确的告警。

功能入口

  1. 登录ARMS控制台,在左侧导航栏选择Grafana服务 > 工作区管理
  2. 工作区管理页面,单击目标工作区右侧的访问地址url链接进入Grafana。
    说明 如果需要登录Grafana,可以使用Grafana的Admin账号和创建工作区时设置的密码登录Grafana,或单击Sign in with Alibaba Cloud直接使用当前购买工作区的阿里云账号登录Grafana。

配置Holiday

对新创建的动态基线预测任务和已有的动态基线预测任务都可以使用Holiday功能。

  1. 在Grafana左侧导航栏单击SmartMetrics
  2. 单击创建预测创建新的预测任务,或单击预测列表选择编辑已有的预测任务。
  3. 在预测任务编辑页面单击高级配置,然后单击+定制事件,设置以下参数。
    参数说明
    事件类型
    • 重复事件:例如App每天、每周定时的发布、版本更新等。
    • 不重复事件:例如应用版本不定时的更新、偶然的促销活动等。
    发生时刻事件发生时间。
    影响时长事件引发指标产生波动的时长。
    重复模式选择事件重复模式。仅重复事件需要设置此参数。
  4. 设置完其他参数后,单击创建预测保存预测
    其他参数的设置方法,请参见创建动态阈值任务

示例场景

例如某公司每天会在凌晨1:00进行发布,导致指标在短时间内出现突增。但是这些突增都是正常的,不需要告警。正常指标
但是,如果指标在非发布时段出现了突增,就有可能是应用本身出现了异常。这种情况下需要进行告警,通知相关的工程师进行问题排查。异常指标
使用Holiday功能前:使用前
使用Holiday功能后:使用后

可以看到,在使用Holiday功能之后,SmartMetrics对发布时段指标的特征进行捕捉,并对未来发布时段的指标特征进行了预测。Holiday功能有效降低了发布时段内指标异常引发的误告警,同时,对于非发布时段,指标异常上涨的事件也能被准确地捕捉到。