全部产品
Search
文档中心

日志服务:通过SQL聚合指标数据进行实时检测

更新时间:Jun 28, 2024

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

前提条件

  • 已采集日志到源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. 删除作业。

    重要

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

后续步骤

告警与打标反馈