Page 147 - 《软件学报》2026年第7期
P. 147

2832                                                       软件学报  2026  年第  37  卷第  7  期


                 log-likelihood  of  expert  data.  This  mechanism  enables  the  model  to  more  effectively  approximate  expert  behavior,  achieve  adaptive  self-
                 correction,  reduce  false  positives,  and  enhance  long-term  reliability.  Experimental  results  on  three  public  log  datasets,  HDFS,  BGL,  and
                 OpenStack, show that PCLog outperforms existing methods and exhibits high adaptability to dynamic log patterns.
                 Key words:  log anomaly detection; proximal policy optimization (PPO); behavior cloning

                  1   研究背景与动机

                  1.1   研究背景

                    随着系统规模的不断扩大, 现代计算系统正朝着两种方向演进: 一方面通过横向扩展构建包含成千上万台商
                 用设备的分布式系统, 另一方面通过纵向扩展构建具有数千处理器的高性能计算系统                            [1] . 日志作为捕捉系统状态、
                 事件与行为的重要数据来源, 蕴含着大量与系统健康状况、潜在故障及安全威胁相关的关键信息. 基于日志的异
                 常检测不仅可以保障业务连续性、降低经济损失, 还可显著提升运维效率、降低运维成本. 因此, 日志异常检测技
                 术在学术研究和工程实践中均具有重要的研究价值和应用前景. 近年来, 日志异常检测与机器学习、文本挖掘和
                 时间序列分析等前沿技术深度融合, 促进了智能运维 (AIOps) 技术的发展与落地, 成为推动系统可观测性和智能
                 诊断能力提升的重要技术手段.
                    日志异常检测通常包括         4  个主要阶段: 日志采集、日志解析、日志分组与特征提取、异常检测. 首先, 使用日
                 志解析工具    [2−7] 将原始的非结构化文本日志转化为结构化形式, 从中提取出日志事件及其参数. 随后, 依据唯一标
                 识符 (如  BlockID  或  InstanceID) 对日志进行分组, 若无标识符, 则使用滑动窗口方式切分日志序列. 之后, 结合自
                 然语言处理技术      [8−10] , 将日志事件嵌入为语义向量; 如采用预训练模型           LogBERT  [11] 、LogFit [12] 等可进一步增强语
                 义表达能力, 但也会带来较大的计算开销. 最后, 提取后的特征被送入检测模型, 实现实时异常识别.
                    早期的日志异常检测方法主要依赖人工规则和模式匹配技术, 如关键字匹配与正则表达式等, 尽管实现简单、
                 执行高效, 但难以覆盖复杂多样的异常模式. 当前方法可大致分为两类: 基于机器学习的方法与基于深度学习的方
                 法. 机器学习方法又可细分为有监督与无监督方法. 尽管有监督方法                    [13−16] 在特定场景下具有较好效果, 但其对大量
                 标注数据的依赖限制了实际应用的泛化能力. 相较之下, 无监督方法                    [17−25] 不依赖标签数据, 可直接从大规模日志中
                 挖掘潜在异常模式, 具有更强的通用性与可扩展性. 然而, 系统日志数据的高维特性使得无监督学习面临“维度灾
                 难”, 距离度量的有效性降低, 从而影响聚类与检测性能.
                    深度学习方法凭借其强大的表征能力, 在处理高维系统日志数据方面展现出明显优势. 序列模型如门控循环
                 单元 (gated recurrent unit, GRU)、长短期记忆网络 (long short-term memory, LSTM) 与  Transformer 模型可有效捕
                 捉日志序列中的长程依赖与复杂行为模式              [26−35] . 此外, 图神经网络 (graph neural network, GNN) 被用于建模日志事
                 件间的拓扑结构      [36−40] , 生成对抗网络 (generative adversarial network, GAN) 则被用于构建丰富的日志特征表示  [41] .
                 这些深度学习方法的应用显著提升了异常检测的准确性. 近年来, 大语言模型 (large language model, LLM)                  [42−45] 也
                 逐渐应用于日志分析领域, 凭借其强大的上下文理解能力, 可更好地挖掘潜在异常. 结合少样本学习和提示调优技
                 术, LLM  方法在减少标注数据依赖方面具有显著优势, 提升了日志分析系统在多场景下的灵活性与适应性.
                  1.2   研究动机
                    尽管现有深度学习与        LLM  方法在日志异常检测中取得了显著进展, 但其应用效果在动态、长期运行的系统
                 环境中仍存在局限. 实际工程实践表明, 随着软件版本迭代、系统组件重构以及配置参数调整, 日志模式往往会持
                 续演化, 导致模型面临“概念漂移         (concept drift)”问题. 此时, 基于静态训练的检测模型在新日志上的识别性能显著
                 下降, 甚至出现误报率骤增、召回率骤降的现象. 例如, 在 OpenStack 数据集的实验中, 我们观察到: 当系统更新引
                 入新的日志模板后, 原先基于 Transformer 结构的检测模型召回率下降超过 5%, 说明模型难以适应日志分布的动
                 态变化.
                    另一方面, 尽管    LLM  具有强大的语义建模与上下文理解能力, 但其在日志异常检测中的应用仍面临                        3 个方面的
                 挑战.
   142   143   144   145   146   147   148   149   150   151   152