日志服务提供智能巡检功能,用于对监控指标或业务日志等数据进行全自动、智能化、自适应的异常巡检。目前智能巡检使用流式图算法、流式分解算法和监督异常检测算法进行数据巡检。本文介绍流式图算法、流式分解算法和监督异常检测算法的适用场景、参数配置、预览说明等内容。
流式图算法
流式图算法基于Time2Graph系列模型中的原理进行研发,可对数据进行整体降噪,分析异常数据相对整体的偏移状态。流式图算法适用于对规模大、噪音多、周期不明显的时间序列进行异常检测。更多信息,请参见Time-Series Event Prediction with Evolutionary State Graph。
场景说明
流式图算法采用在线机器学习技术,对每条数据进行实时学习、推断,适用于一般性时间序列的异常检测场景,包括:
机器级别的监控指标的异常巡检,例如CPU占用率、内存利用率、硬盘读写速率等。
业务指标的异常巡检,例如QPS、流量、成功率、延时等。
黄金指标的异常巡检。
参数说明
您可以在创建智能巡检作业配置向导页面的算法配置区域,完成算法配置。具体操作,请参见通过SQL聚合指标数据进行实时检测。
参数 | 子参数 | 说明 |
高级参数(必填) | 时序分段个数 | 根据时序数值大小对时序数值进行划分,用于离散化时间序列,构造时序演化图。
|
观测长度 | 异常检测时需要观测的历史数据点的个数。
| |
环比长度 | 环比分析时的时间长度,以天为单位。异常检测时会注重分析被检测指标的环比特征。设置为0时,算法不进行环比分析。 | |
重点捕获类型 | 设置着重关注哪一种形态的时序异常。包括以下类型:
| |
树的数量 | 异常检测算法使用决策树辅助检测,配置使用的决策树的数量。 | |
单棵树的样本量 | 异常检测构造决策树时需要从观测数据中采样若干数据样本,配置采样的数据样本数量。 | |
整体异常率 | 估计值,用于描述时序数据中包含的异常数据的比例,合理的取值范围是[0.001, 0.01]。 | |
形态判别最短窗口 | 捕获时序的异常形态时,参考的观测序列的最小长度。 | |
形态判别最长窗口 | 捕获时序的异常形态时,参考的观测序列的最长长度。 | |
异常确认最短窗口 | 捕获时序的异常形态时,待检测序列的最小长度。 | |
异常确认最长窗口 | 捕获时序的异常形态时,待检测序列的最长长度。 | |
单维度特征配置 | - | 单独配置待检测时序的每一个特征,包括以下内容:
|
通知敏感度配置 | - | 对于不同时间段检测到的异常事件配置不同的通知阈值。例如忽略服务在每周定期维护期间出现的异常事件。 |
流式分解算法
流式分解算法基于RobustSTL系列模型中的原理进行研发,可对数据流进行批处理但计算成本更高,适合小规模业务指标数据的精确巡检。大规模数据场景下,建议您拆分数据或使用流式图算法。更多信息,请参见RobustSTL: A Robust Seasonal-Trend Decomposition Algorithm for Long Time Series。
场景说明
流式分解算法适用于对具有周期性的数据序列进行巡检,且要求数据的周期性较为明显。例如适用于具有明显周期变化的业务指标巡检的场景。
周期性数据在日常生活中比较常见,例如游戏的访问量、客户的订单量。
参数说明
您可以在创建智能巡检作业配置向导页面的算法配置区域,完成算法配置。具体操作,请参见通过SQL聚合指标数据进行实时检测。
配置算法。
参数
子参数
说明
自动周期检测
-
是否开启周期自动检测,主要适用于时序数据存在周期性场景。如果时序序列的周期性一直,建议关闭自动周期检测,手动设置序列的周期长度。
周期检测频率
-
开启自动周期检测时该配置项生效。算法根据配置的时间频率定期更新时间序列的周期。例如周期检测频率是12小时,那么算法每隔12小时自动检测更新序列的周期。
周期长度
-
关闭自动周期检测时该配置项生效。设置序列周期的时间长度,如果序列无周期,那么设置为0。
观测长度
-
异常检测时参考的历史数据长度。如果序列包含周期性,那么建议观测长度是序列周期长度的3倍。例如序列的周期长度为1天,那么设置观测长度为3天。
敏感度
-
敏感度越高,检测到的异常数量越多、异常分数越高。此时对于异常的召回率越高,准确率越低。
高级参数
趋势项敏感度
算法会将序列分解成趋势项、周期项和噪声项三部分。趋势项敏感度越高,在对趋势项序列异常检测时检测到的异常数量越多、异常分数越高。此时对于异常的召回率越高,准确率越低。
噪声项敏感度
算法会将序列分解成趋势项、周期项和噪声项三部分。噪声项敏感度越高,在对噪声项序列异常检测时检测到的异常数量越多、异常分数越高。此时对于异常的召回率越高,准确率越低。
趋势项采样长度
算法会将序列分解成趋势项、周期项和噪声项三部分。如果序列观测长度太长,会导致趋势项分析速度较慢。配置的趋势项采样长度越长,趋势项分析速度越快(可能会降低趋势项检测的准确率)。例如配置趋势项采样长度为8,分析趋势项时在原始序列中每个8个点采样一个数据点,在采样后序列上进行分析。
周期项采样长度
算法会将序列分解成趋势项、周期项和噪声项三部分。如果序列观测长度太长,会导致周期项分析速度较慢。配置的周期项采样长度越长,周期项分析速度越快(可能会降低周期项检测的准确率)。例如配置周期项采样长度为8,分析周期项时在原始序列中每个8个点采样一个数据点,在采样后序列上进行分析。建议配置在5以内。
窗口长度
如果序列观测长度太长,会导致异常检测速度较慢。设置窗口长度后检测算法以滑动窗口的形式分段检测数据序列,提高检测速度。建议配置在5000以内。如果不需要按照滑动窗口形式检查,配置为0。
在预览区域体验、查看当前参数配置下的算法效果。
设置时间范围,确定待检测的时间序列的起始和结束时间。单击数据查询,将使用在数据特征配置中设置的查询分析语句,处理指定时间范围的数据,生成时序数据。
选择实体信息和特征,确定待检测的特征序列。单击预览将会调用检测算法处理指定的特征序列,并在下方展示检测结果。单击显示参数,会显示当前算法的参数配置。
检测结果中展示趋势项预览、周期项预览和噪声项预览。可以在趋势项预览和噪声项预览中调整异常阈值,只有当异常分数大于异常阈值的异常事件才可以用来产生告警。
监督异常检测算法
监督异常检测算法
监督异常检测算法构造时序数据的若干特征。使用时序数据的特征和异常标签,训练决策树、随机森林等监督分类模型。完成模型训练后,使用训练好的模型进行异常检测。
场景说明
监督异常检测算法适用于包含异常标签的时序数据、流式图算法和流式分解算法无法处理的时序数据。
参数说明
您可以在创建模型训练作业配置向导页面的算法配置区域,完成算法配置。具体操作,请参见通过SQL聚合指标数据进行模型训练。