通过SQL聚合指标数据进行实时检测

智能巡检功能用于对业务日志进行自动化、智能化、自适应的异常巡检。本文介绍通过SQL聚合指标数据进行智能巡检的操作步骤。

前提条件

  • 已采集日志到源Logstore。具体操作,请参见数据采集概述

  • 已配置源Logstore的索引。具体操作,请参见创建索引

  • 已创建智能异常分析实例。具体操作,请参见创建实例

重要

本文中所涉及的Logstore为Standard Logstore。更多信息,请参见管理Logstore

创建智能巡检作业

进入创建作业页面

  1. 登录日志服务控制台

  2. 进入创建作业页面。

    1. 日志应用区域,单击智能异常分析

    2. 在实例列表中,单击目标实例。

    3. 在左侧导航栏中,单击智能巡检

    4. 单击实时检测

    5. 巡检任务区域,单击立即创建

基础信息

创建智能巡检作业配置向导的基础信息区域,完成如下配置,然后单击下一步

参数

说明

任务名

自定义设置智能巡检作业的名称。

Project

选择源日志库或时序库所在的Project。

地域

您所选择的Project的所在地域。

日志库类型

根据您数据存储的位置选择日志库类型。

  • 如果您的数据存储在日志库中,则选中日志库

  • 如果您的数据存储在时序库中,则选中时序库

源日志库

日志库类型设置为日志库时,需要设置源日志库,即您的源数据所在的日志库。

时序库

日志库类型设置为时序库时,需要设置时序库,设置为您的源数据所在的时序库。

角色

如果您在创建实例时已完成了授权,则此处会自动显示AliyunLogETLRole角色的角色标识。

目标库

目标日志库,固定为internal-ml-log

数据特征配置

数据特征配置区域的数据类型中,请选择通过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中的__time__字段。

粒度

数据的观测间隔,单位为秒。取值范围为5~3600,建议观测间隔不小于60。

实体

源数据中用于标识具体实体的字段。智能巡检作业围绕实体标识,聚合出时间序列。

特征

源数据中用于标识具体特征数据的字段。

算法配置

  1. 算法配置区域进行算法选择。目前支持流式图算法流式分解算法,不同算法需要配置的参数不同。

流式图算法

参数

子参数

说明

高级参数(必填)

时序分段个数

根据时序数值大小对时序数值进行划分,用于离散化时间序列,构造时序演化图。

  • 默认值为8。

  • 建议值范围为[5, 20]。

  • 分段越少,异常检测越不敏感。

观测长度

异常检测时需要观测的历史数据点的个数。

  • 默认值是2880。

  • 建议值范围是[200, 4000]。

  • 如果被检测序列具有周期性,建议观测长度至少包含2个周期的数据点。例如,某个时间序列的观测点时间间隔为1分钟、周期为1天,则该时间序列2个周期有2880个观测点,建议观测长度的取值大于等于2880。

环比长度

环比分析时的时间长度,以天为单位。异常检测时会注重分析被检测指标的环比特征。设置为0时,算法不进行环比分析。

重点捕获类型

设置着重关注哪一种形态的时序异常。包括以下类型:

  • 向上的尖刺:指标数值单点向上突增。

  • 向下的尖刺:指标数值单点向下突降。

  • 向上的漂移:指标数值连续若干点平台上升。

  • 向下的漂移:指标数值连续若干点平台下降。

  • 趋势性上涨:指标数值连续若干点持续上升。

  • 趋势项下跌:指标数值连续若干点持续下降。

树的数量

异常检测算法使用决策树辅助检测,配置使用的决策树的数量。

单棵树的样本量

异常检测构造决策树时需要从观测数据中采样若干数据样本,配置采样的数据样本数量。

整体异常率

估计值,用于描述时序数据中包含的异常数据的比例,合理的取值范围是[0.001, 0.01]。

形态判别最小窗口

捕获时序的异常形态时,参考的观测序列的最小长度。

形态判别最长窗口

捕获时序的异常形态时,参考的观测序列的最长长度。

异常确认最短窗口

捕获时序的异常形态时,待检测序列的最小长度。

异常确认最长窗口

捕获时序的异常形态时,待检测序列的最长长度。

单维度特征配置

-

单独配置待检测时序的每一个特征,包括以下内容:

  • 最大值:该特征指标数值的最大值。

  • 最小值:该特征指标数值的最小值。

  • 归一化:对该特征序列进行检测时,使用哪种方式对序列进行归一化。

  • 异常关注类型:对该特征序列进行检测时,重点关注哪一类异常形态。

通知敏感度配置

-

对于不同时间段检测到的异常事件配置不同的通知阈值。例如忽略服务在每周定期维护期间出现的异常事件。

流式分解算法

  1. 配置算法。

    参数

    子参数

    说明

    自动周期检测

    -

    是否开启周期自动检测,主要适用于时序数据存在周期性场景。如果时序序列的周期性一直,建议关闭自动周期检测,手动设置序列的周期长度。

    周期检测频率

    -

    开启自动周期检测时该配置项生效。算法根据配置的时间频率定期更新时间序列的周期。例如周期检测频率是12小时,那么算法每隔12小时自动检测更新序列的周期。

    周期长度

    -

    关闭自动周期检测时该配置项生效。设置序列周期的时间长度,如果序列无周期,那么设置为0。

    观测长度

    -

    异常检测时参考的历史数据长度。如果序列包含周期性,那么建议观测长度是序列周期长度的3倍。例如序列的周期长度为1天,那么设置观测长度为3天。

    敏感度

    -

    敏感度越高,检测到的异常数量越多、异常分数越高。此时对于异常的召回率越高,准确率越低。

    高级参数

    趋势项敏感度

    算法会将序列分解成趋势项、周期项和噪声项三部分。趋势项敏感度越高,在对趋势项序列异常检测时检测到的异常数量越多、异常分数越高。此时对于异常的召回率越高,准确率越低。

    噪声项敏感度

    算法会将序列分解成趋势项、周期项和噪声项三部分。噪声项敏感度越高,在对噪声项序列异常检测时检测到的异常数量越多、异常分数越高。此时对于异常的召回率越高,准确率越低。

    趋势项采样长度

    算法会将序列分解成趋势项、周期项和噪声项三部分。如果序列观测长度太长,会导致趋势项分析速度较慢。配置的趋势项采样长度越长,趋势项分析速度越快(可能会降低趋势项检测的准确率)。例如配置趋势项采样长度为8,分析趋势项时在原始序列中每个8个点采样一个数据点,在采样后序列上进行分析。

    周期项采样长度

    算法会将序列分解成趋势项、周期项和噪声项三部分。如果序列观测长度太长,会导致周期项分析速度较慢。配置的周期项采样长度越长,周期项分析速度越快(可能会降低周期项检测的准确率)。例如配置周期项采样长度为8,分析周期项时在原始序列中每个8个点采样一个数据点,在采样后序列上进行分析。建议配置在5以内。

    窗口长度

    如果序列观测长度太长,会导致异常检测速度较慢。设置窗口长度后检测算法以滑动窗口的形式分段检测数据序列,提高检测速度。建议配置在5000以内。如果不需要按照滑动窗口形式检查,配置为0。

  2. 在预览区域体验、查看当前参数配置下的算法效果。

    1. 设置时间范围,确定待检测的时间序列的起始和结束时间。单击数据查询,将使用在数据特征配置中设置的查询分析语句,处理指定时间范围的数据,生成时序数据。

    2. 选择实体信息特征,确定待检测的特征序列。单击预览将会调用检测算法处理指定的特征序列,并在下方展示检测结果。单击显示参数,会显示当前算法的参数配置。

    3. 检测结果中展示趋势项预览周期项预览噪声项预览。可以在趋势项预览噪声项预览中调整异常阈值,只有当异常分数大于异常阈值的异常事件才可以用来产生告警。

  1. 调度配置区域,完成如下配置。

参数

说明

起始时间

设置算法要处理的时间序列的开始时间。任务将从该时间点开始读取时序数据,并进行检测。

数据延时时长

设置待检测的时序数据写入到日志服务的最大延迟。任务在读取时序数据时会等待数据延时时长中配置的时间长度,确保时序数据已经写入到日志服务中,以便可以读到完整的时序数据

模型开始学习时间

非必填项目。设置后,后台任务会在这个时间点后开始建模,跟任务的调度开始时间保持一致。

模型结束学习时间

非必填项目。不设置,则模型会持续学习,并在任务学习到开始时间后,开始进行检测。设置后,后台任务会在这个时间点结束模型更新,并立即开始进行检测。

告警配置

  1. 创建智能巡检作业配置向导的告警配置区域,完成以下配置,然后单击完成

    参数

    说明

    告警策略

    告警策略用于合并、静默和抑制已产生的告警。

    • 选择极简模式普通模式时,您无需配置告警策略。日志服务默认使用SLS内置动态告警策略(sls.builtin.dynamic)进行告警管理。

    • 选择高级模式时,您可以选择内置的或自定义的告警策略进行告警管理。如何创建告警策略,请参见创建告警策略

    行动策略

    行动策略用于控制告警通知渠道和频率等。

    • 告警策略选择为极简模式时,您只需配置行动组即可。

      您配置行动组后,日志服务自动为您创建一个名为规则名称-行动策略的行动策略。由该告警监控规则触发的所有告警都通过该行动策略发送通知。如何配置,请参见通知渠道说明

      重要

      您可以在行动策略管理页面,修改该行动策略。具体操作,请参见创建行动策略。如果您在修改行动策略时添加了判断条件,则此处的告警策略将自动变更为普通模式

    • 告警策略选择为普通模式高级模式时,您可以选择内置的或自定义的行动策略进行告警通知。如何创建行动策略,请参见创建行动策略

      其中,您选择告警策略选择为高级模式时,还可以开启或关闭自定义行动策略。更多信息,请参见动态行动策略机制

管理智能巡检作业

image

  1. 查看作业:创建智能巡检作业后,您可以在作业列表中,单击目标作业标识,查看巡检作业详情。

  2. 编辑作业。

  3. 删除作业。

    重要

    智能巡检作业被删除后,不可恢复,请您谨慎操作。

后续步骤

告警与打标反馈