日志聚类

本文介绍日志聚类功能及其操作,包括开启日志聚类、查看聚类结果和原始日志、对比不同时间段的聚类日志数量等。

前提条件

背景信息

日志服务提供日志聚类功能,支持在采集日志时,将相似度高的日志聚合,提取共同的日志模式(Pattern),快速掌握日志全貌。支持多种格式的文本日志聚合,可应用于DevOps中的问题定位、异常检测、版本回归等运维动作,或应用于安全场景下的入侵检测等。您还可以将聚类结果以分析图表的形式保存在仪表盘中,实时查看聚类数据。

功能优势

  • 支持任意格式日志,例如Log4j、JSON、单行等。

  • 亿级数据,秒级输出结果。

  • 日志数据可以按任意模式聚类。

  • 按pattern聚类的数据可以根据pattern的签名反查原始数据。

  • 比较不同时间段的pattern。

  • 动态调整聚类精度。

操作视频

索引流量

开启日志聚类功能后,索引总量会增加原始日志大小的10%。例如原始数据为100 GB/天,开启该功能后,索引总量增加10 GB。

原始日志大小

索引比例

日志聚类功能产生的索引量

索引总量

100 GB

20%(20 GB)

100 * 10%

30 GB

100 GB

40%(40 GB)

100 * 10%

50 GB

100 GB

100%(100 GB)

100 * 10%

110 GB

开启日志聚类功能

  1. 登录日志服务控制台

  2. 在Project列表区域,单击目标Project。

    image

  3. 在控制台左侧,单击日志存储,在日志库列表中单击目标Logstore。

    image

  4. 开启日志聚类功能。

    1. 单击查询分析属性 > 属性

      如果您还未开启索引,请单击开启索引

    2. 查询分析面板中,打开日志聚类开关。

    3. 可选:设置聚类字段的白名单和黑名单。

      说明

      不支持同时设置黑白名单。

      聚类字段过滤

      说明

      白名单

      设置了白名单后,日志服务将根据白名单中的字段进行日志聚类。

      黑名单

      设置了黑名单后,日志服务不会对黑名单中的字段进行日志聚类。

      未设置黑白名单

      未设置黑白名单时,日志服务将根据聚类规则对所有的字段进行日志聚类。

    4. 单击确定

查看聚类结果和原始日志

  1. 在查询分析页面,输入查询语句,设置查询时间范围,然后单击查询/分析

    说明

    此处仅支持输入查询语句来过滤日志,但不支持分析语句,即不能对分析结果进行日志聚类。

  2. 单击日志聚类页签,查看聚类结果。

    您还可以单击添加到仪表盘,将聚类结果保存到仪表盘。

    聚类详情

    参数

    说明

    Number

    聚类序号。

    Count

    当前指定的查询时间段内,某Pattern对应的日志条数。

    Pattern

    某类日志的具体模式,每个聚类会有一个或多个子Pattern。

    • 鼠标指向Count列的数字,在悬浮框展示当前聚类的子Pattern及每个子Pattern的占比。单击数字前的加号(+),展开子Pattern列表。

    • 单击Count列的数字,跳转到原始日志页签,查看对应pattern的原始日志。

调整聚类精度

日志聚类页签中,拖拽Pattern分类中的滑动条,调整聚类的精度。

  • 聚类偏向于,表示聚类结果分类细,Pattern细节被保留的多。

  • 聚类偏向于,表示聚类结果分类粗,Pattern细节被隐藏的多。

对比不同时间段的聚类日志数量

  1. 日志聚类页签中,单击Log Compare

  2. 设置对比时间,单击确定

    例如:在执行查询操作时,时间范围选择为15分钟。在Log Compare中,选择1天,则自动显示开始时间和结束时间,时间范围为1天前的15分钟。日志对比

    参数

    说明

    Number

    聚类编号。

    Pre_Count

    Log Compare中设置的时间段内,该Pattern对应的日志数量。

    Count

    当前指定的查询时间段内,某模式对应的日志条数。

    Diff

    某模式在两个时段的日志数量差值及升降百分比。

    Pattern

    某类日志的具体模式。

SQL示例

日志服务还支持通过执行查询分析语句获取日志聚类结果。

  • 获取日志聚类结果

    • 查询分析语句

      * | select a.pattern, a.count,a.signature, a.origin_signatures from (select log_reduce(3) as a from log) limit 1000 
      说明

      查看聚类结果时,您可以单击复制查询语句获取日志聚类结果所对应的查询分析语句。

    • 修改参数

      修改查询分析语句中的log_reduce(precision),precision代表聚类精度,取值范围1~16,数字越小,聚类精度越高,生成的模式格式越多,默认为3。

    • 返回字段

      统计图表页签中返回日志聚类详细信息。

      参数

      说明

      pattern

      某类日志的具体模式。

      count

      当前指定的查询时间段内,某模式对应的日志条数。

      signature

      某模式的签名。

      origin_signatures

      某模式的二级签名,可以通过二级签名,反查原始数据。

  • 对比不同时间段日志聚类结果

    • 查询分析语句

      * | select v.pattern, v.signature, v.count, v.count_compare, v.diff from (select compare_log_reduce(3, 86400) as v from log) order by v.diff desc limit 1000 
      说明

      Log Compare对比不同时间段日志聚类结果后,您可以单击复制查询语句获取对应的查询分析语句。

    • 修改参数

      修改查询分析语句中的compare_log_reduce(precision, compare_interval)

      • precision代表聚类精度,取值范围1~16,数字越小,聚类精度越高,生成的模式格式越多,默认为3。

      • compare_interval表示对比N秒之前某一时间段的日志,正整数。

    • 返回字段

      参数

      说明

      pattern

      某类日志的具体模式。

      count_compare

      在前一时间段内,某模式对应的日志数量。

      count

      当前指定的查询时间段内,某模式对应的日志条数。

      diff

      count和count_compare的差值。

      signature

      某模式的签名。

关闭日志聚类功能

如果您不再需要使用日志聚类功能,可关闭该功能。

  1. 在查询分析页面,单击查询分析属性 > 属性

  2. 关闭日志聚类开关。

  3. 单击确定