全部产品
Search
文档中心

日志服务:新版日志聚类

更新时间:Mar 13, 2026

当业务出现故障或版本发布后,运维和开发人员面临着从海量、无序的日志中快速发现异常模式的挑战。传统的关键词搜索效率低下,难以洞察全局变化。日志服务的新版日志聚类功能,通过智能算法自动将相似的日志聚合为结构化的日志模板,并分析其中的变量。它能帮助您在无需编写复杂查询的情况下,迅速掌握日志全貌,识别新增异常、定位问题根因,尤其适用于故障排查、版本回归测试和安全审计等场景。

功能概述

新版日志聚类提供以下核心能力:

  • 日志模式提取:从海量日志中自动发现日志类别,提取每个类别的日志模板。

  • 变量分布分析:支持查看日志模板中变量部分的分布情况。

  • 分组聚类:支持按指定字段对日志进行分组后聚类,适用于多模块日志的分析。

  • 对比分析:支持比较不同时间段的日志模式变化,快速发现异常。

  • 正则反查:提供日志模板的正则表达式,支持反查原始日志。

核心概念

日志聚类通过以下概念将非结构化日志转化为洞察:

  • 日志类别:具有相似格式的日志属于同一个日志类别,不同日志格式的日志属于不同的日志类别。

  • 日志模板:从具有相似格式的日志中提取出的共同模式。模板由常量和变量组成。

  • 日志变量:同一日志类别中日志内容的动态变化部分,通常是日志输出语句中记录的运行时信息。在模板中以高亮形式显示。

  • 日志常量:日志模板中除变量部分外的全部内容。同一日志类别中的所有日志常量部分相同。

前提条件

在使用本功能前,请确保满足以下条件:

执行日志聚类分析

本节将引导您完成一次完整的日志聚类分析,包括基础聚类、分组聚类和对比分析。

步骤一:进入日志聚类页面

  1. 登录日志服务控制台

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

  3. 在左侧导航栏中,选择image日志存储 ,单击目标 LogStore名称前的image展开下拉菜单。

  4. 在下拉菜单中,单击image查询分析日志。

  5. 在查询分析日志页面,单击日志聚类 > 新版实时聚类

步骤二:配置聚类参数并执行分析

在聚类页面,您需要配置以下参数以启动分析:

  1. 设置分析范围

    • 时间范围(可选):选择您要分析的日志所在的时间段。

    • 查询语句(可选):输入查询语句以过滤日志。目的是缩小分析范围,排除无关日志(如* and not level:INFO),可以显著提升聚类分析的精度和效率。

  2. 选择聚类目标

    • 聚类字段(必选):选择要进行聚类分析的文本字段。系统会根据字段内容推荐最适合聚类的字段。仅支持选择一个字段。

  3. (可选)分组聚类与对比分析

    • 聚合字段(可选):选择一个或多个字段(需已配置索引且开启统计)对日志进行预分组。当日志中包含多个模块(如不同service_name)时,通过分组可以实现对每个模块的独立聚类,避免不同模块的相似日志被错误归类。

      • 使用场景:

        • 不同模块的日志差异较大,需分别聚类分析。

        • 需要按日志级别、服务名称等维度分组查看聚类结果。

      • 聚合字段说明:

        • 用于预分组的维度字段,在聚类前先按这些字段进行聚合。

        • 建议字段包括:日志等级、服务、模块、环境等。

        • 支持选择多个聚合字段进行组合分组(不超过3个)。

        • 通过预聚合可以提高聚类精度,避免不同维度的日志被错误归类。

        • 建议选择取值相对有限且具有业务意义的字段作为聚合维度。

      • 限制:最多支持选择3个聚合字段。

    • 对比时间(可选):选择一个用于对比的时间段。通过与历史数据对比,快速发现版本发布或故障期间“新出现”、“已消失”或“数量剧增/剧减”的日志模式。

      • 使用场景:

        • 版本发布前后的日志对比分析。

        • 故障时间段与正常时间段的对比。

        • 周期性对比(如今日vs昨日同时段、本周vs上周同时段)。

        • 性能优化前后的效果评估。

      • 配置方式:

        • 时间偏移:相对当前时间范围向前或向后偏移。

        • 自定义时间:手动选择对比组的起止时间。

      • 配置建议:

        • 建议选择相同时长的时间段进行对比,确保对比结果的可比性,不建议选择重叠时间区间进行对比。

        • 对于周期性业务,推荐使用同比对比(如昨日同时段、上周同时段)。

        • 可结合聚合字段进行分层对比,如按服务维度分别对比各服务的日志变化。

配置完成后,系统将自动触发实时聚类分析。

步骤三:解读聚类结果

分析完成后,结果将以列表形式展示,每一行代表一个日志模板。

  • 聚类模式:展示了从日志中提取的模式,其中的变量部分会高亮显示。

  • 数量:显示匹配到该模板的日志总数。

  • 日志分布:以直方图形式展示该模板下的日志在不同时间点的数量分布,便于观察趋势。

  • 分组信息:如果您配置了聚合字段,此列会显示该模板所属的分组。

说明
  • 聚类算法会采样一批具有代表性的日志进行分析。如果时间窗口中的日志量过大且日志格式复杂,采样的日志可能无法覆盖全部日志类别。

  • 可通过配置查询语句过滤不关心的日志,提高聚类效果。

步骤四:下钻分析变量分布

当您发现一个可疑的日志模板(例如,一个错误日志模板数量激增)后,分析其内部变量的分布是定位根因的关键步骤。

  1. 在聚类结果列表中,单击聚类模式列中高亮显示的变量部分。

  2. 在弹出的面板中,查看该变量的分布情况:

    • 枚举类型:显示变量值的 Top N 取值及其出现次数。例如,查看error_code变量的分布,快速定位哪种错误码最多。

    • 数值类型:显示变量的数值范围分布。

  3. 如果您配置了对比时间,面板会同时展示当前时间段(实验组,深色)和对比时间段(对比组,浅色)的变量分布,便于您快速识别变化:

    • 深色柱状图:当前时间范围(实验组)的日志数量。

    • 浅色柱状图:对比时间范围(对比组)的日志数量。

    通过对比,可快速发现:

    • 新出现的日志模式(实验组有、对比组无)。

    • 消失的日志模式(实验组无、对比组有)。

    • 数量变化显著的日志模式。

步骤五:反查原始日志

在定位到具体的日志模板后,您可能需要查看完整的原始日志以获取更多上下文信息。

  1. 在聚类结果列表中,单击目标日志模板所在行,进入模板详情页面。

  2. 日志样例页签下,可查看该模板对应的部分原始日志(最多显示50条)。

  3. 如需查看所有匹配该模板的日志,请执行以下操作:

    1. 单击右上角的显示解析规则,获取该模板对应的正则表达式。

    2. 复制该正则表达式。

    3. 前往查询分析页面,使用 regexp_like 算子执行查询。示例:

    * | SELECT * FROM log WHERE regexp_like(Content, '正则表达式')

最佳实践

快速定位异常日志

  1. 使用查询语句过滤正常日志。例如:* and not LEVEL: INFO

  2. 查看剩余日志的聚类结果,关注数量异常或新出现的日志模式。

  3. 单击可疑模板查看日志样例和变量分布,进一步分析。

版本发布对比

  1. 将当前时间范围设置为发布后的时间段。

  2. 配置对比时间为发布前的时间段。

  3. 查看对比结果,关注新出现或消失的日志模式。

  4. 检查变量分布变化,判断是否存在异常。

分模块分析

  1. 配置聚合字段为模块标识字段(如 ComponentServiceName)。

  2. 查看各模块的聚类结果,快速定位问题模块。

新旧版本日志聚类对比与选型建议

为帮助您做出正确的技术选型,下表对比了新版与旧版日志聚类的核心差异。

特性

新版日志聚类

旧版日志聚类

索引流量

无额外索引流量(仅依赖字段索引)

会产生额外索引流量

处理效率

实时计算,大数据量时采样分析

处理效率较高,适合大数据量

算法准确率

使用更高准确度的算法

算法准确率相对较低

变量分布

支持日志模式中的变量分布分析

不支持

原始日志反查

通过 regexp_like 算子反查

原生支持直接反查

多字段聚类

仅支持单字段聚类

支持多字段同时聚类

分组聚类

支持

不支持

仪表盘集成

暂不支持

支持

聚类精度调节

不支持

支持

选型结论

  • 新版日志聚类:适用于日志量相对较小或经过过滤后的日志,需要精细化分析(变量分布、对比分析)的场景。

  • 旧版日志聚类:适用于海量日志的快速聚类,需要在仪表盘中展示聚类结果的场景。

常见问题

为什么聚类结果为空?

可能原因及解决方法:

  • 所选字段无数据:检查聚类字段是否有数据,或调整时间范围。

  • 查询语句过滤了所有日志:检查查询语句是否正确。

  • 字段未开启索引:确保聚类字段已配置索引。

日志模板中的变量识别不准确怎么办?

新版日志聚类使用智能算法自动识别变量。如果识别不准确,可能是由于:

  • 日志格式不规范,常量部分和变量部分区分不明显。

  • 日志样本量不足,建议扩大时间范围或减少过滤条件。

如何查看某个日志类别的全部日志?

  1. 进入日志模板详情页面。

  2. 单击显示解析规则,复制正则表达式。

  3. 在日志查询页面,使用 regexp_like 算子过滤:

* | SELECT * FROM log WHERE regexp_like(Content, '复制的正则表达式')

对比分析时,为什么部分日志模式只在一个时间段出现?

这通常表示:

  • 实验组独有:可能是新出现的日志,需关注是否为异常。

  • 对比组独有:可能是已修复的问题或功能变更导致的日志消失。

建议结合业务上下文分析,判断是否需要进一步排查。