智能巡检功能用于对业务日志进行自动化、智能化、自适应的异常巡检。本文介绍通过SQL聚合指标数据进行智能巡检的操作步骤。
前提条件
创建智能巡检作业
进入创建作业页面
登录日志服务控制台。
进入创建作业页面。
在日志应用区域,单击智能异常分析。
在实例列表中,单击目标实例。
在左侧导航栏中,单击智能巡检。
单击实时检测。
在巡检任务区域,单击立即创建。
基础信息
在创建智能巡检作业配置向导的基础信息区域,完成如下配置,然后单击下一步。
参数 | 说明 |
任务名 | 自定义设置智能巡检作业的名称。 |
Project | 选择源日志库或时序库所在的Project。 |
地域 | 您所选择的Project的所在地域。 |
日志库类型 | 根据您数据存储的位置选择日志库类型。
|
源日志库 | 当日志库类型设置为日志库时,需要设置源日志库,即您的源数据所在的日志库。 |
时序库 | 当日志库类型设置为时序库时,需要设置时序库,设置为您的源数据所在的时序库。 |
角色 | 如果您在创建实例时已完成了授权,则此处会自动显示 |
目标库 | 目标日志库,固定为 |
数据特征配置
数据特征配置区域的数据类型中,请选择通过SQL格式化数据,输入查询和分析语句,然后完成对应的配置。查询分析语句的更多信息,请参见查询概述、分析概述。
查询语句
* | select __time__ - __time__ % 60 as time, domain, sum(request_size) as request_size from log group by time, domain limit 100000
实体:
domain
特征:
request_size
参数 | 说明 |
时间 | 源数据中用于标识时间列的字段。日志服务默认使用Logstore中的 |
粒度 | 数据的观测间隔,单位为秒。取值范围为5~3600,建议观测间隔不小于60。 |
实体 | 源数据中用于标识具体实体的字段。智能巡检作业围绕实体标识,聚合出时间序列。 |
特征 | 源数据中用于标识具体特征数据的字段。 |
算法配置
在算法配置区域进行算法选择。目前支持流式图算法和流式分解算法,不同算法需要配置的参数不同。
流式图算法
参数 | 子参数 | 说明 |
高级参数(必填) | 时序分段个数 | 根据时序数值大小对时序数值进行划分,用于离散化时间序列,构造时序演化图。
|
观测长度 | 异常检测时需要观测的历史数据点的个数。
| |
环比长度 | 环比分析时的时间长度,以天为单位。异常检测时会注重分析被检测指标的环比特征。设置为0时,算法不进行环比分析。 | |
重点捕获类型 | 设置着重关注哪一种形态的时序异常。包括以下类型:
| |
树的数量 | 异常检测算法使用决策树辅助检测,配置使用的决策树的数量。 | |
单棵树的样本量 | 异常检测构造决策树时需要从观测数据中采样若干数据样本,配置采样的数据样本数量。 | |
整体异常率 | 估计值,用于描述时序数据中包含的异常数据的比例,合理的取值范围是[0.001, 0.01]。 | |
形态判别最小窗口 | 捕获时序的异常形态时,参考的观测序列的最小长度。 | |
形态判别最长窗口 | 捕获时序的异常形态时,参考的观测序列的最长长度。 | |
异常确认最短窗口 | 捕获时序的异常形态时,待检测序列的最小长度。 | |
异常确认最长窗口 | 捕获时序的异常形态时,待检测序列的最长长度。 | |
单维度特征配置 | - | 单独配置待检测时序的每一个特征,包括以下内容:
|
通知敏感度配置 | - | 对于不同时间段检测到的异常事件配置不同的通知阈值。例如忽略服务在每周定期维护期间出现的异常事件。 |
流式分解算法
配置算法。
参数
子参数
说明
自动周期检测
-
是否开启周期自动检测,主要适用于时序数据存在周期性场景。如果时序序列的周期性一直,建议关闭自动周期检测,手动设置序列的周期长度。
周期检测频率
-
开启自动周期检测时该配置项生效。算法根据配置的时间频率定期更新时间序列的周期。例如周期检测频率是12小时,那么算法每隔12小时自动检测更新序列的周期。
周期长度
-
关闭自动周期检测时该配置项生效。设置序列周期的时间长度,如果序列无周期,那么设置为0。
观测长度
-
异常检测时参考的历史数据长度。如果序列包含周期性,那么建议观测长度是序列周期长度的3倍。例如序列的周期长度为1天,那么设置观测长度为3天。
敏感度
-
敏感度越高,检测到的异常数量越多、异常分数越高。此时对于异常的召回率越高,准确率越低。
高级参数
趋势项敏感度
算法会将序列分解成趋势项、周期项和噪声项三部分。趋势项敏感度越高,在对趋势项序列异常检测时检测到的异常数量越多、异常分数越高。此时对于异常的召回率越高,准确率越低。
噪声项敏感度
算法会将序列分解成趋势项、周期项和噪声项三部分。噪声项敏感度越高,在对噪声项序列异常检测时检测到的异常数量越多、异常分数越高。此时对于异常的召回率越高,准确率越低。
趋势项采样长度
算法会将序列分解成趋势项、周期项和噪声项三部分。如果序列观测长度太长,会导致趋势项分析速度较慢。配置的趋势项采样长度越长,趋势项分析速度越快(可能会降低趋势项检测的准确率)。例如配置趋势项采样长度为8,分析趋势项时在原始序列中每个8个点采样一个数据点,在采样后序列上进行分析。
周期项采样长度
算法会将序列分解成趋势项、周期项和噪声项三部分。如果序列观测长度太长,会导致周期项分析速度较慢。配置的周期项采样长度越长,周期项分析速度越快(可能会降低周期项检测的准确率)。例如配置周期项采样长度为8,分析周期项时在原始序列中每个8个点采样一个数据点,在采样后序列上进行分析。建议配置在5以内。
窗口长度
如果序列观测长度太长,会导致异常检测速度较慢。设置窗口长度后检测算法以滑动窗口的形式分段检测数据序列,提高检测速度。建议配置在5000以内。如果不需要按照滑动窗口形式检查,配置为0。
在预览区域体验、查看当前参数配置下的算法效果。
设置时间范围,确定待检测的时间序列的起始和结束时间。单击数据查询,将使用在数据特征配置中设置的查询分析语句,处理指定时间范围的数据,生成时序数据。
选择实体信息和特征,确定待检测的特征序列。单击预览将会调用检测算法处理指定的特征序列,并在下方展示检测结果。单击显示参数,会显示当前算法的参数配置。
检测结果中展示趋势项预览、周期项预览和噪声项预览。可以在趋势项预览和噪声项预览中调整异常阈值,只有当异常分数大于异常阈值的异常事件才可以用来产生告警。
在调度配置区域,完成如下配置。
参数 | 说明 |
起始时间 | 设置算法要处理的时间序列的开始时间。任务将从该时间点开始读取时序数据,并进行检测。 |
数据延时时长 | 设置待检测的时序数据写入到日志服务的最大延迟。任务在读取时序数据时会等待数据延时时长中配置的时间长度,确保时序数据已经写入到日志服务中,以便可以读到完整的时序数据 |
模型开始学习时间 | 非必填项目。设置后,后台任务会在这个时间点后开始建模,跟任务的调度开始时间保持一致。 |
模型结束学习时间 | 非必填项目。不设置,则模型会持续学习,并在任务学习到开始时间后,开始进行检测。设置后,后台任务会在这个时间点结束模型更新,并立即开始进行检测。 |
告警配置
在创建智能巡检作业配置向导的告警配置区域,完成以下配置,然后单击完成。
参数
说明
告警策略
告警策略用于合并、静默和抑制已产生的告警。
选择极简模式和普通模式时,您无需配置告警策略。日志服务默认使用SLS内置动态告警策略(sls.builtin.dynamic)进行告警管理。
选择高级模式时,您可以选择内置的或自定义的告警策略进行告警管理。如何创建告警策略,请参见创建告警策略。
行动策略
行动策略用于控制告警通知渠道和频率等。
管理智能巡检作业
查看作业:创建智能巡检作业后,您可以在作业列表中,单击目标作业标识,查看巡检作业详情。
编辑作业。
删除作业。
重要智能巡检作业被删除后,不可恢复,请您谨慎操作。