本文介绍日志聚类功能及其操作,包括开启日志聚类、查看聚类结果和原始日志、对比不同时间段的聚类日志数量等。
前提条件
- 已创建Standard Logstore。具体操作,请参见创建Logstore。 
- 已采集日志。具体操作,请参见数据采集。 
- 已配置索引。具体操作,请参见配置索引。 
背景信息
日志服务提供日志聚类功能,支持在采集日志时,将相似度高的日志聚合,提取共同的日志模式(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 | 
开启日志聚类功能
- 登录日志服务控制台。 
- 在Project列表区域,单击目标Project。  
- 在控制台左侧,单击日志存储,在日志库列表中单击目标Logstore。  
- 开启日志聚类功能。 - 单击。 - 如果您还未开启索引,请单击开启索引。 
- 在查询分析面板中,打开日志聚类开关。 
- 可选:设置聚类字段的白名单和黑名单。 说明- 不支持同时设置黑白名单。 - 聚类字段过滤 - 说明 - 白名单 - 设置了白名单后,日志服务将根据白名单中的字段进行日志聚类。 - 黑名单 - 设置了黑名单后,日志服务不会对黑名单中的字段进行日志聚类。 - 未设置黑白名单 - 未设置黑白名单时,日志服务将根据聚类规则对所有的字段进行日志聚类。 
- 单击确定。 
 
查看聚类结果和原始日志
- 在查询分析页面,输入查询语句,设置查询时间范围,然后单击查询/分析。 说明- 此处仅支持输入查询语句来过滤日志,但不支持分析语句,即不能对分析结果进行日志聚类。 
- 单击日志聚类页签,查看聚类结果。 - 您还可以单击添加到仪表盘,将聚类结果保存到仪表盘。  - 参数 - 说明 - Number - 聚类序号。 - Count - 当前指定的查询时间段内,某Pattern对应的日志条数。 - Pattern - 某类日志的具体模式,每个聚类会有一个或多个子Pattern。 - 鼠标指向Count列的数字,在悬浮框展示当前聚类的子Pattern及每个子Pattern的占比。单击数字前的加号(+),展开子Pattern列表。 
- 单击Count列的数字,跳转到原始日志页签,查看对应pattern的原始日志。 
 
调整聚类精度
在日志聚类页签中,拖拽Pattern分类中的滑动条,调整聚类的精度。
- 聚类偏向于多,表示聚类结果分类细,Pattern细节被保留的多。 
- 聚类偏向于少,表示聚类结果分类粗,Pattern细节被隐藏的多。 
对比不同时间段的聚类日志数量
- 在日志聚类页签中,单击Log Compare。 
- 设置对比时间,单击确定。 - 例如:在执行查询操作时,时间范围选择为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 - 某模式的签名。 
 
关闭日志聚类功能
如果您不再需要使用日志聚类功能,可关闭该功能。
- 在查询分析页面,单击。 
- 关闭日志聚类开关。 
- 单击确定。