日志服务提供文本分析功能,用于对日志中的文本日志进行智能化、自动化的分析,提供全局的统计分析结果。文本分析功能可帮助您快速分析大量的日志,发现异常情况。本文介绍通过消费组拉取文本日志进行智能分析的操作步骤。

前提条件

已采集日志到源Logstore或Metricstore。具体操作,请参见数据采集接入时序数据
重要 本文中所涉及的Logstore为Standard Logstore。更多信息,请参见管理Logstore

创建文本分析作业

  1. 登录日志服务控制台
  2. 进入创建作业页面。
    1. 日志应用区域的智能运维页签中,单击智能异常分析
    2. 在实例列表中,单击目标实例。
    3. 在左侧导航栏中,单击文本分析
    4. 文本分析任务区域,单击立即创建
  3. 创建文本分析作业配置向导页面的基本信息区域,完成如下配置,然后单击下一步
    参数说明
    作业名文本分析作业的名称。
    ProjectProject名称。
    地域显示为您所选择的Project的所在地域。
    日志库类型根据您日志存储的位置选择日志库类型。
    • 如果您的日志存储在日志库中,则选中日志库
    • 如果您的日志存储在时序库中,则选中时序库
    源日志库日志库类型设置为日志库时,需设置源日志所在的源日志库
    时序库日志库类型设置为时序库时,需设置源日志所在的时序库
    角色如果您在创建实例时已完成了授权,则此处自动显示AliyunLogETLRole角色的角色标识。
    目标库分析事件会统一写入名称为internal-ml-log的日志库中。
  4. 创建文本分析作业配置向导页面的算法配置区域,完成以下配置。
    1. 数据特征配置区域,完成以下配置。
      文本数据
      参数说明
      日志实体字段源日志中用于标识实体的字段。设置实体字段后,文本分析作业根据您所设置的实体字段区分不同实体的日志,分别检测分析每个实体对应的日志。

      最多选择或输入2个字段。

      日志文本字段选择待分析的日志字段,文本分析作业将拼接您所选择的字段的值,将其作为整体进行统计分析。最多可选择5个日志字段。如果下拉列表中不存在目标字段,您可手动输入。
      说明
      • 文本分析作业针对文本内容进行分析,对应日志字段的值需为text类型。如果是非text类型,文本分析作业会将其先转换成text类型。
      • 如果所有指定的字段的值都不存在,则文本分析作业不会对相应的日志进行统计分析。
      • 无需为待分析的字段创建索引。
      日志等级字段源日志中用于标识日志风险等级的字段。

      文本分析作业将解析该字段,判断日志的风险等级。如果日志等级字段解析异常或者日志等级字段为空,则日志等级为unknown。

    2. 算法配置区域,完成以下配置。
      参数说明
      算法选择包括日志相似聚类算法、日志词频聚类算法和日志模板匹配算法。更多信息,请参见算法说明

      推荐使用日志相似聚类算法或日志词频聚类算法。当您需要使用自定义的日志模板时,可选择日志模板匹配算法。使用日志模板匹配算法时,需先创建日志模板。具体操作,请参见日志模板匹配算法

      时间窗口长度算法以滑动窗口的方式依次分析每个时间窗口内的日志。单位:秒。

      算法会等待时间窗口内的全部日志被采集完成后,再进行分析并生成分析结果。

      异常总数阈值当时间窗口内出现的异常事件数量达到该阈值时,表示实体整体倾向于处于异常状态。包括如下两种设置方式。
      • 设置为相对值,取值范围为[0.1,0.5]。
      • 设置为绝对值,取值范围为[1,20]。
      相似度阈值设置算法选择日志相似聚类算法时,需要设置相似度阈值

      如果日志内容与某一个日志类别模板的相似度大于相似度阈值,则日志属于该日志类别。相似度阈值越低,日志越容易被归为同一个日志类别。

      先验过滤系数设置算法选择日志词频聚类算法时,需要设置先验过滤系数

      如果日志长度与某一个日志类别模板长度的比值大于先验过滤系数,则日志不属于该日志类别。反之,日志可能属于该日志类别。先验过滤系数越大,长度差别较大的日志越容易被归为同一日志类别。

      后验过滤系数设置算法选择日志词频聚类算法时,需要设置后验过滤系数

      如果日志与某一日志类别模板整合得到新的日志模板,且日志长度与新模板长度的比值大于后验过滤系数,则日志不属于该日志类别。反之,日志可能属于该日志类别。后验过滤系数越大,长度差别较大的日志越容易被归为同一个类别。

      变量频率阈值设置算法选择日志词频聚类算法时,需要设置变量频率阈值

      如果日志中某个位置的文本的取值个数超过了变量频率阈值,那么这个文本是日志中的变量部分。反之,这个文本可能是常量部分。变量频率阈值越小,越容易将日志中的某个位置的文本识别成变量部分。

      模板源设置算法选择日志模板匹配算法时,需要设置模板源。即选择您所创建的日志模板。
    3. 调度配置区域,设置文本分析作业开始执行的时间。
    4. 高级配置区域,完成以下配置。
      高级配置
      参数说明
      初始化窗口数量文本分析作业冷启动(日志积累与算法准备)所需的窗口数。日志相似聚类算法在初始化的若干个窗口内只进行日志积累与算法准备,在后续的时间窗口中才对积累的日志进行异常检测。更多信息,请参见如何选择合适的初始化时间窗口数量
      最大静默窗口数通过最大静默窗口数时间窗口长度指定最大的静默时间,用于检测少见的日志类别。

      针对已发现的日志类别,如果在最大静默时间内没有再次采集到该日志类别的日志,文本分析作业将认为该日志类别已丢失。如果后面再次出现相同的日志类别的日志,文本分析作业会定义一个新的日志类别。例如系统异常时输出Error日志,系统恢复后不再出现该日志,等下次系统异常(超过最大静默时间),再次输出Error日志时,作业会提示出现新的日志类别。

      默认值为672,表示1天内的最大静默窗口数为672个。

      采样率通过采样率调整文本分析作业处理日志的比例,默认为1,即处理全部日志。如果采样率小于1,文本分析作业会随机选取对应比例的日志进行处理。

      该参数适用于海量日志场景,当日志量超过作业的处理能力时,您可以调小该参数。

      分隔符文本分析作业使用分隔符(包括此处配置的分隔符和空白字符)对日志进行分词。例如日志为11:22:33:44:55,分隔符为冒号(:),日志内容将被解析为11、22、33、44和55。
      数据过滤配置通过日志等级字段过滤日志。
      • 如果日志的风险等级与白名单中的日志等级相匹配,则文本分析作业将对其进行分析。
      • 如果日志的风险等级与黑名单中的日志等级相匹配,则文本分析作业不会对其进行分析。
      通识字段模板在文本分析作业对日志进行预处理时,日志相似聚类算法会使用模板表达式匹配日志中的文本内容并将其替换为模板名称,有助于提高分析的准确性。例如模板名称IP模板表达式((?<=[^A-Za-z0-9])|^)(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})((?=[^A-Za-z0-9])|$),表示符合该模板表达式的文本内容将被替换为IP

      模板表达式需满足Python正则表达式规则,最多可配置5个模板。

      输入待测试的文本内容后,单击测试,验证您所配置的字段模板是否符合预期。例如输入192.0.2.0,匹配结果为<:IP:>,表示字段模板的配置符合预期。

    5. 单击完成
      文本分析作业从创建作业时所在的时间窗口开始对日志进行检测。

查看日志模板

  1. 在文本分析作业列表中,单击目标作业。
  2. 日志模板管理页签中,查看已生成的日志模板。
    您还可以单击概览,查看该日志模板对应的日志数量变化趋势。

查看文本分析结果

  1. 在文本分析作业列表中,单击目标作业。
  2. 日志异常详细页签中,查看日志异常详情。
    说明 创建作业后,需等待一段时间才能看到首个时间窗口内的分析结果。根据时间窗口内日志量的不同,等待时间不同,一般不超过一个时间窗口的时长。
    智能巡检
    如果您在创建文本分析作业时,设置了日志实体字段,则可以在页面左上角筛选实体。系统将展示目标实体对应的分析结果,包括如下内容。
    • 异常日志类别Top 10:展示所选时间范围内异常分数最高的10个日志类别。
    • 日志数量趋势统计:展示所选时间范围内每个时间窗口中日志数量的变化情况,以及数量异常变化时的异常分数。
    • 日志类别异常总览:展示所选时间范围内每个时间窗口中日志整体的异常情况和每个日志类别的异常情况。分数越高,异常情况越严重,分数在0~1之间。

      单击具体的色块,将在日志异常详情区域展示对应的异常事件详情。

    • 日志异常详情:展示所选时间范围内所有的异常事件,包括异常事件所涉及的日志类别、日志等级、异常类型、异常分数和异常出现的时间窗口等信息。关于异常类型的更多信息,请参见异常类型说明

      单击目标异常事件前的+图标,查看异常事件的详细信息,包括异常事件所涉及的日志类别模板、日志类别内的日志数量、日志样例,以及日志类别中日志数量在不同时间窗口中的变化情况。

设置告警

创建文本分析作业后,您可以为日志模板设置告警。

  1. 在文本分析作业列表中,单击目标作业。
  2. 在页面右上角,单击告警配置
  3. 告警配置对话框中,完成如下配置,然后单击确定
    您可以为已有模板或新模板设置告警。
    • 选择选择模板配置已有模板配置告警时,可通过模板ID和日志等级指定日志模板,并设置告警。
    • 选择选择模板配置为新模板预设告警时,可通过日志等级指定日志模板,并设置告警。即出现对应日志等级的新模板时,会触发告警。

    此处以为已有模板设置告警为例,介绍相关参数。

    参数说明
    告警名称自定义设置告警名称。
    模板ID根据模板ID指定日志模板。

    通过模板ID日志等级指定日志模板时,两者为或者关系。

    日志等级根据日志等级指定日志模板。
    告警条件选择告警条件。
    • 数量条件:当日志模板对应的日志量超过您所设置的阈值时,触发告警。
    • 数量异常波动:当日志模板对应的日志量异常变动时,触发告警。
    • 罕见日志出现:当出现罕见(出现频率很低)的日志模板时,触发告警。
    触发条件当选择告警条件数量条件时,您需要配置对应的日志数量阈值。
    告警策略告警策略用于合并、静默和抑制已产生的告警。
    • 选择极简模式普通模式时,您无需配置告警策略。日志服务默认使用SLS内置动态告警策略(sls.builtin.dynamic)进行告警管理。
    • 选择高级模式时,您可以自定义选择行动策略和告警策略。如何创建告警策略,请参见创建告警策略
    行动策略行动策略用于控制告警通知渠道和频率等。
    • 告警策略选择为极简模式时,您只需配置行动组即可。
      您配置行动组后,日志服务自动为您创建一个名为规则名称-行动策略的行动策略。由该告警监控规则触发的所有告警都通过该行动策略发送通知。如何配置,请参见通知渠道说明
      重要 您可以在行动策略管理页面,修改该行动策略。具体操作,请参见创建行动策略。如果您在修改行动策略时添加了判断条件,则此处的告警策略将自动变更为普通模式
    • 告警策略选择为普通模式高级模式时,您可以选择内置的或自定义的行动策略进行告警通知。如何创建行动策略,请参见创建行动策略

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

设置告警后,您可以在页面右上角,单击告警管理,查看已创建的告警。还可以单击目标告警,进入告警概览页面,执行查看告警详细信息、修改告警配置、删除告警等操作。

修改或删除文本分析作业

创建文本分析作业后,您可以在文本分析页面中,找到目标文本分析作业进行删除或修改操作。

重要 文本分析作业被删除后,不可恢复,请您谨慎操作。