日志异常检测是当前数据中心智能运维管理的典型核心应用场景. 随着机器学习技术的快速发展和逐步成熟, 将机器学习技术应用于日志异常检测任务已经形成热点. 首先, 文章介绍了日志异常检测任务的一般流程, 并指出了相关过程中的技术分类和典型方法. 其次, 论述了日志分析任务中机器学习技术应用的分类及特点, 并从日志不稳定性、噪声干扰、计算存储要求、算法可移植性等方面分析了日志分析任务的技术难点. 再次, 对领域内相关研究成果进行了梳理总结和技术特点的比较分析. 最后, 文章从日志语义表征、模型在线更新、算法并行度和通用性3个方面讨论了日志异常检测今后的研究重点及思考.
Log anomaly detection is a typical core application scenario of artificial intelligence for IT operations (AIOPS) in the current data center. With the rapid development and gradual maturity of machine learning technology, the application of machine learning to log anomaly detection has become a hot spot. Firstly, this study introduces the general procedure of log anomaly detection and points out the technical classifications and typical methods in the related process. Secondly, the classifications and characteristics of the application of machine learning technology in log analysis tasks are discussed, and we probe into the technical difficulties of log analysis tasks in terms of log instability, noise interference, computation & storage requirements, and algorithm portability. Thirdly, the related research productions in the field are summarized and their technical characteristics are compared and analyzed. Finally, the study discusses the future research focus and thinking of log anomaly detection from three aspects: log semantic representation, online model update, algorithm parallelism and versatility.
日志是各类软硬件记录系统运行状态的一类重要数据, 它描述了系统的历史运行状态和详情. 运维工程师在进行故障排除、安全性检查等工作场景下, 经常需要对日志数据进行检查和分析. 而大数据技术的迅猛发展使得现代数据中心规模日益扩大, 复杂的系统每天都会产生数以千万计的日志记录, 一个运行在中等规模网络中的系统每天的日志量也能轻松超过TB级[
日志、指标、链路追踪数据是运维工作中最为核心的监控和分析对象[
日志异常检测任务一般分为日志采集、日志解析、特征表示、异常判别4个步骤.
日志采集:
日志解析: 日志属于半结构化数据, 需要分析其一般构成, 并利用解析技术将其中的常量和变量分离出来, 为后续特征表示提供良好基础. 一条日志数据可以分解为正则消息部分和特征消息部分[
典型日志样例解析
类别 | 系统 | 日志样例 | 正则消息 | 特征消息 | |
日志模板 | 参数变量 | ||||
操作系统 | Linux | [OK] Started File System Check on /dev/disk/by-uuid/6d329…5-88652b684ca0. | [OK] | Started File System Check on | /dev/disk/by-uuid/
|
数据库 | Oracle | ORA-00603:ORACLE server session terminated by fatal error | ORA-00603 | ORACLE server session terminated by fatal error | — |
硬件 | 交换机 | Nov 9 2018 09:49:03 HuaWei03 %%01SHELL/4/LOGINFAILED(s)[12]:Failed to login. (Ip=192.168.1.199, UserName=admin, Times=3, AccessType=TELNET, VpnName=) | Nov 9 2018 09:49:03 HuaWei03 %%01SHELL/4/LOGINFAILED(s)[12] | Failed to login. (Ip=*, UserName=*, Times=*, AccessType=*, VpnName=*) | (192.168.1.199, admin, 3, TELNET) |
分布式系统 | HDFS | 081109 203519 147 INFO dfs.DataNode$PacketResponder: Received block blk_-1608999687919862906 of size 91178 from /10.250.14.224 | 081109 203519 147 INFO dfs.DataNode$
|
Received block * of size * from * | (blk_-1608999687919862906, 91178, 10.250.14.224) |
Web服务 | Apache | [Fri Aug 18 22:36:26 2000] [error]
|
[Fri Aug 18 22:36:26 2000] [error]
|
[client *] File does not exist:
|
(192.168.1.6, /usr/local/apache/bugletdocs/Img/south-korea.gif) |
消息队列 | RabbitMQ | =INFO REPORT==== 3-Jul-2017::11:45:14 ===
|
=INFO REPORT==== 3-Jul-2017::11:45:14 ===
|
rabbit on node * up
|
rabbit@node2 |
应用程序 | HealthAPP | 201812-20:5:32:205|Step_ExtSDM|30002312|calculateCaloriesWithCache totalCalories=18289 | 201812-20:5:32:205|Step_ExtSDM|30002312| | calculateCaloriesWithCache totalCalories=* | 18289 |
数据解析的精度将显著影响检测模型的性能表现, 有研究试验表明数据解析阶段4%的错误可能会在异常检测阶段导致性能下降扩大一个数量级[
特征表示: 这部分工作的主要目的在于构造机器学习模型可以处理的特征数据, 借此来学习日志的正常或者异常模式. 所提取特征的质量决定了后续模型检测效果所能达到的精度. 日志分析领域, 前一阶段提取的日志模板一般被称为事件或者键值. 在进行特征提取前, 需要对连续的日志进行切分, 通常有时间窗口、会话ID等方式: (1) 日志是一种具有时间属性的连续文本, 一条日志数据是否提示异常不仅取决于自身所蕴含的信息, 还受到其上下文的影响, 因此可采用固定或者滑动时间窗口将日志切分成数据片段, 便于输入模型进行处理. 最优时间窗口的大小可根据数据的特点进行多次尝试得到, 过小或过大的窗口都会对检测精度带来不利影响——过小的窗口会使得上下文信息不足, 而过大的窗口又会带来冗余信息; (2) 某些日志的变量参数标记了某一特定会话的执行路径, 例如HDFS日志中的block_id, OpenStack日志中的instance_id等, 可以根据会话ID将并行进程产生的日志进行剥离, 但这种方法仅限于具有此类变量参数的日志.
日志异常检测通过采用的主要特征包括: 事件计数、事件序列、文本语义、时间间隔、变量取值、变量分布等[
异常判别:
关于日志异常检测的研究普遍采用分类任务中的常用评价准则, 即精确率(
其中,
根据是否需要对特征数据打标签来进行模型训练, 可分为有监督方法、半监督方法和无监督方法. 有监督方法利用预先打过标签的特征数据对模型进行训练, 同时学习正常数据与异常数据的特征, 训练完成的模型即可对测试数据进行判别(分类). 然而, 有监督方法在日志分析中的热度不如半监督方法和无监督方法, 原因有以下几点: (1) 日志中的异常数据是相较稀少的, 导致训练数据集失衡现象严重, 影响模型训练效果; (2) 为每条日志打上标签是非常耗时耗力的, 且需要对该类日志有较深的领域认知, 才能做出正确判断; (3) 有监督方法得到的模型只能识别已知的异常日志, 对于未见过的异常无法判断. 相比于有监督方法, 无监督方法避免了上述问题, 主要通过聚类、降维等方法寻找具有相同或相近特征的数据, 进而识别出数据异常点, 但也面临着准确率较低、容易受噪声影响等问题. 半监督方法介于二者之间, 通常只需要系统正常样本即可完成训练过程, 实现前两者的优势互补.
指标类数据属于单变量或者多变量的时序数据, 链路追踪数据属于结构化数据, 输出格式也相对固定且有限, 依据采用的收集工具(如谷歌的Dapper、推特的Zipkin等)即可确定. 但是, 因日志具有非结构化特点, 且没有统一标准, 使得日志输出格式上自由度非常大, 这就使日志分析难度更大.
由于系统升级、应用更新等原因, 源代码的日志输出语句会持续变化, 包括添加、删除和修改等操作, 致使前期模型训练数据当中未发生变化的内容越来越少, 进而使异常检测模型性能急剧下降甚至失效. 举例来说, 一款来自微软的软件经过数次版本迭代, 生成的日志中未发生变化的日志事件只占总数的30%左右[
噪声并非日志消息自身携带, 而是在输入模型处理前的各个环节引入的. 例如, 采集日志消息时由传输网络不稳定、系统断电、软件bug等引起的日志消息整体缺失或部分缺失; 又如, 解析过程中出现的日志模板抽取不准确, 导致特征数据质量降低. 日志解析错误主要来自于两种: (1) 语义理解偏差, 将参数变量解析为模板组成, 或反之. 如
日志模板解析错误示例
如前文所述, 日志种类多样且规模日益增大, 涵盖了从底层硬件、服务中间件、数据库和上层应用等多种来源. 海量的日志需要足够大的存储资源来承载数据, 和快速实时处理能力来满足时效性要求, 并且基于深度学习的算法还需昂贵的GPU资源来训练模型. 因此, 在做相关研究设计时, 应当考虑尽量降低算法的存储要求, 同时可利用大数据分布式处理工具(如Spark Streaming, Storm等)来实现并行处理, 这样有利于算法更好地应用于实际生产中. 文献[
由于日志格式自由度大, 因此不同的系统日志呈现出的特征模式不同, 同时根据应用目的的不同, 即使同一类型日志关注的特征也可能有所差异. 现有研究多数基于有限的公开日志数据集[
该领域已经有大量研究工作就如何实现自动化的日志异常检测提出了诸多算法和框架模型. 根据前述分类, 将现有成果进行简要说明, 并在附录中以表格形式(
各算法对比详情表
算法 | 年份 | 技术
|
日志解析/
|
特征表示 | 检测技术/
|
数据集 | 性能表现 (最佳参数设定) | 技术特点分析 |
控制台日志挖掘算法[ |
2009 | 无监督 | 源码分析 | 事件计数、变量分布 | PCA | DarkStar (在线游戏服务日志)、HDFS | DarkStar: 未提供具体数据;
|
计算复杂度低, 不需要人工干预和相关领域知识. |
Web日志分析
|
2017 | 有监督 | 字段解析 | 变量取值 | DT、HMM | 自有Web日志 | 根据论文实验结果只可以推算出召回率=0.96, 该算法采用了准确率作为评价指标, 准确率为0.94. | 分析对象是结构相对简单的Web日志, 具有结构化数据特点, 且需要人工对数据打标签. |
一种基于增量式聚类的日志异常检测算法[ |
2017 | 半监督 | 无 | 事件计数 | 增量式聚类法 | 自有系统日志 | 针对在不同攻击场景下的 |
该方法主要基于日志异常检测来识别SQL注入、XSS攻击、暴力登录攻击等安全事件. 通过增量式聚类来实现在线检测功能. |
一种组合式的大规模系统日志异常检测算法[ |
2018 | 有监督 | 字段解析 | 变量取值 | K-prototype、
|
自有系统日志 | 算法在手工生成的6类数据集上精确率、召回率达到平均0.90左右的水平. | 属于会话级异常检测, 通过对用户登录活动和会话统计数据两种类别的属性来应用机器学习算法进行异常检测, 不具体到某一行日志消息. |
一种增量日志分析算法[ |
2019 | 无监督 | 未介绍 | 事件计数 | K-means
|
HDFS | 算法对间歇性到达的日志流数据进行处理, 在整个过程中基本保持了性能指标的稳定, 在HDFS数据集上最终达到的 |
该技术根据实时到来的新数据更新判别模型, 并基于Spark Streaming实现并行计算, 可有效应对大规模日志. |
基于改进KNN的日志异常检测算法[ |
2021 | 有监督 | N-gram和频繁模式挖掘 | 事件计数 | meanshift、KNN | Liberty、BGL, Thunderbird、Spirit, HDFS、Zookeeper | 采用了准确率、召回率和 |
为利用有监督方法KNN, 文中使用聚类算法对数据分类, 并分别打上标签, 并对KNN进行了改进, 以解决数据不平衡问题. |
OES[ |
2021 | 有监督 | 未介绍 | 事件计数 | SVM | HDFS、OpenStack、BGL (蓝色基因超级计算机日志) | 未明确给出在各数据集上的评价指标数据, 但从实验结果上可看到在人为注入噪声后, 相比于其他算法, OES的精确率、召回率、 |
通过人工干预合并语义相近的日志模板, 该算法虽无需专门的训练过程, 但必须依赖人工确认结果在线修正检测模型参数, 所以仍归类为有监督方法, 其对于噪声干扰具有鲁棒性 |
DeepLog[ |
2017 | 半监督 | Spell | 事件序列、变量取值、时间间隔 | LSTM | HDFS、OpenStack | HDFS: 精确率=0.95, 召回率=0.96, |
充分利用了LSTM在处理长距离依赖方面的优势, 实现对日志序列和参数变量同时检测, 但缺点是需要为每一种日志模板的参数变量都构建一个LSTM网络. |
nLSALOG[ |
2019 | 半监督 | 未介绍 | 事件序列 | LSTM with self-attention | HDFS、BGL | HDFS: 精确率=0.97, 召回率=0.99, |
在模型中引入了词嵌入层和自注意力机制层, 提高了日志语义表征能力和长距离依赖捕获能力. |
LogAnomaly[ |
2019 | 半监督 | FT-tree | 事件序列、事件计数 | LSTM | HDFS、BGL | HDFS: 精确率=0.98, 召回率=0.97, |
利用dLCE模型, 对日志消息模板进行了语义表征, 提取了日志语义信息. |
LogRobust[ |
2019 | 有监督 | Drain | 事件序列 | Bi-LSTM with attention | Original HDFS、synthetic HDFS、Microsoft Service X | Original HDFS: 精确率=0.98, 召回率=1.0, |
基于TF-IDF技术对词向量进行加权求和得到模板语义向量, 并应用注意力机制以对抗日志不稳定性. |
Hybrid CAE and VAE framework[ |
2019 | 半监督 | 未介绍 | 事件序列 | CAE+VAE | HDFS | HDFS: 精确率=0.98, 召回率=1.0, |
对日志模板进行one-hot编码, 并基于block id生成日志事件序列, 输入CAE和VAE的混合模型提取日志正常模式, 但由于CNN输入要求所有序列长度一致, 该方法对超出一定长度的日志序列进行截断, 使序列信息缺失. |
LogNL[ |
2020 | 半监督 | Drain | 事件序列、变量取值 | LSTM | HDFS、OpenStack | HDFS: 精确率=0.96, 召回率=0.94, |
实现日志事件序列和变量取值2种特征异常检测, 同时也考虑了日志语义信息. |
LogMerge[ |
2020 | 半监督 | FT-tree | 事件序列 | CNN+LSTM | WordCount、PageRank、HDFS | HDFS: 精确率=0.73, 召回率=0.84, |
论文中HDFS和Page-Rank分别作为源日志数据, WordCount作为目标日志数据, 作者基于聚类算法, 并结合CNN+LSTM实现了跨日志类型的日志异常检测. |
NoTIL[ |
2020 | 半监督 | 未介绍 | 时间间隔 | LSTM | OpenStack | OpenStack: |
通过对滑动时间窗口内的日志事件计数来表示该窗口, 并基于LSTM来对日志时间间隔上的异常进行检测. |
VeLog[ |
2020 | 半监督 | 源码分析 | 事件序列、事件计数 | VAE | HDFS、OpenStack | HDFS: 精确率=0.99, 召回率=0.99, |
利用VAE来学习日志的正常模式, 根据重构误差来判别异常. |
一种基于GAN的日志异常检测算法[ |
2020 | 有监督 | 正则匹配 | 事件序列 | GAN | BGL | BGL: 精确率=0.15, 召回率=0.98, |
通过生成对抗机制来生成逼近真实样本的假样本, 以此获得当前日志序列下后续日志模板的概率分布. 但是, 基于GAN的模型往往具有不稳定、难以收敛的特点. |
ADA[ |
2020 | 半监督 | 无模板抽取, 基于标点符号对日志切分, 形成词汇表 | 事件序列 | LSTM | LANL实验室赛博安全日志 | LANL实验室赛博安全日志: 精确率=0.98, 召回率=0.92, |
引入在线深度学习技术, 以实时流的方式训练多种层深的模型, 根据当前检测事件是否异常, 自动选择不同深度的模型用于检测. |
HitAnomaly[ |
2020 | 有监督 | Dain | 事件序列、变量取值 | Transformer | HDFS、BGL、OpenStack | HDFS: 精确率=1.0, 召回率=0.97, |
提出了利用分层式的Transformer结构, 分别对日志模板解析后的事件序列和变量取值进行向量化, 基于二者的加权求和来预测结果的概率分布. |
PLELog[ |
2021 | 半监督 | Drain | 事件序列 | GRU with attention | HDFS、BGL | HDFS: 精确率=0.95, 召回率=0.96, |
基于日志事件序列的语义向量表示相似性, 利用HDBSCAN聚类算法对部分未知标签的训练数据打标签, 为后续的模型训练提供带有标签的训练数据, 该算法结合了有监督方法和无监督方法的优势. |
NeuralLog[ |
2021 | 有监督 | 无模板抽取, 只删除数字、标点符号的预处理 | 事件序列 | Transformer | HDFS、BGL、Thunderbird、Spirit | HDFS: 精确率=0.96, 召回率=1.0, |
首次提出了摒弃日志解析过程的新思路, 并基于Transformer来进行异常识别. |
LogAD[ |
2021 | 半监督 | 结合知识库的组合式日志解析方法 | 关键词、事件计数、事件序列、变量取值、变量分布 | 针对不同特征, 采用关键词提取、基于LSTM的多变量时序异常检测、有限状态自动机等多种组合方法 | 10种自有的实际系统日志 (Nginx、
|
在10种实际系统日志集上, LogAD取得了平均0.83的 |
深入研究实际场景中日志特征, 提出了组合式的日志异常检测算法以应对多种需求. |
文献[
上述算法在相应的各类数据集上取得了最高约0.99的
日志数据的内在复杂模式和长距离依赖等特点, 使得不少研究工作将深度学习引入日志异常检测领域.
长短期记忆网络 (long short-term memory, LSTM)[
门控循环单元 (gated recurrent unit, GRU)[
采用LSTM或者GRU搭建日志异常检测模型是一个较普遍的做法, 但RNN类的模型需要顺序输入数据, 致使其无法实现数据的并行化处理, 也就限制了其在大流量日志数据条件下的性能表现. 近年来, 谷歌的Transformer模型[
变分自编码器 (variational auto-encoder, VAE)[
生成对抗网络 (generative adversarial network, GAN)[
上述算法在相应的各类数据集上取得了最高约0.99的
日志属于软件开发者对系统实时状态的描述文本, 这种特点令自然语言处理中的诸多词嵌入技术可以应用于日志分析当中并变得越来越重要. 独热编码属于最简单的编码方式, DeepLog、ADA、hybrid CAE and VAE framework等都采用了这种方式, 但独热编码存在维度灾难和语义鸿沟(即编码向量由于词汇表庞大而变得非常稀疏, 且所有向量均正交, 不能体现语义相似性), 使其应用受限. 相比之下, Word2Vec、FastText[
如前文所述, 现代软件产品多采用DevOps敏捷开发模式, 产品的持续集成、持续部署加速了其迭代更新, 从而也使得日志模式持续演进, 产生不稳定性. 而日志不稳定性会导致持续出现新的日志模板和更多的词表外词汇. 所以在设计有关算法时, 不得不考虑模型的持续更新能力, 以适应新出现的日志模式. 过往研究中, 主要有3种方法来进行模型更新: 一是定期对模型重新训练以适应新的日志模式; 二是基于运维人员对检测结果的反馈, 对模型就行及时修正, 如DeepLog、VeLog等; 三是引入在线学习机制, 如ADA等. 模型定期重新训练的方式不仅在实时性上满足不了生产要求, 也会带来较大的计算和时间开销(特别是深度学习模型). 应该说运维人员参与到日志异常检测任务当中来是必要的, 特别是通过人工反馈的方式可以引入领域专家知识, 而这些是无法单纯凭借算法获得的. 但应考虑模型的在线更新机制的设计, 尽量减少重复训练带来的开销. 文献[
日志大体量和多类型的特点对检测算法提出了并行度和通用性要求. 首先, 不论是基于传统机器学习算法还是深度学习算法, 均需考虑算法部署于生产环境下的并行化能力, 以满足海量日志处理的需求, 例如文献[
为了在智能运维场景下更好地进行故障预警和辅助运维人员进行事件处理, 日志异常检测任务不应停留在只检测当前日志是否出现异常, 也应注重检测结果的可解释性. 例如, 当前异常由何种特征提示、如何以运维人员能够看得懂的方式呈现、异常的相互关联问题、异常可能的影响范围如何等问题. 即在更高层次赋予检测结果良好的可解释性和辅助决策能力, 是该项技术的深化和延展. DeepLog、LogAD中都试图构建任务执行的工作流, 很好地印证了填补机器算法输出与人之间理解鸿沟的重要性. 特别地, 由于深度学习一般被认为是端到端的黑盒模型, 基于深度模型的算法可解释性较差, 目前已经有相关研究致力于获得检测结果的可解释性[
日志异常检测任务是智能运维发展的重要落地场景, 是机器学习和运维管理结合的重要一环. 大量研究已经表明, 将机器学习应用于日志分析当中, 可以有效应对当下数据中心日志体量急速膨胀导致分析难、管理难的问题. 文章对日志异常检测任务的典型流程、技术难点、相关研究工作和后续研究重点都做了详细阐述和分析, 对于该领域研究具有一定的参考价值.
注: *表示论文未直接给出相关评价指标数据, 根据论文实验数据计算得出.
注: **表示论文采用准确率、真正率(召回率)、假正率作为评价标准, 但为了方便比较, 这里通过计算转换为精确率、召回率和
et al. ADA: Adaptive deep log anomaly detector. IEEE Conference on Computer Communications (IEEE INFOCOM 2020). Toronto: IEEE, 2020. 2449–2458.]]>
et al. An evaluation study on log parsing and its use in log mining. 2016 46th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN). Toulouse: IEEE, 2016. 654–661.]]>
et al. Detecting large-scale system problems by mining console logs. Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles. Montana: ACM, 2009. 117–132.]]>
Makanju A, Zincir-Heywood AN, Milios EE. A lightweight algorithm for message type extraction in system application logs. IEEE Transactions on Knowledge and Data Engineering, 2011, 24(11): 1921–1936, doi: 10.1109/TKDE.2011.138.
et al. Execution anomaly detection in distributed systems through unstructured log analysis. 2009 9th IEEE International Conference on Data Mining. Miami Beach: IEEE, 2009. 149–158.]]>
Du M, Li FF. Spell: Online streaming parsing of large unstructured system logs. IEEE Transactions on Knowledge and Data Engineering, 2019, 31(11): 2213–2227, doi: 10.1109/TKDE.2018.2875442.
et al. Drain: An online log parsing approach with fixed depth tree. 2017 IEEE International Conference on Web Services (ICWS). Honolulu: IEEE, 2017. 33–40.]]>
et al. LPV: A log parser based on vectorization for offline and online log parsing. 2020 IEEE International Conference on Data Mining (ICDM). Sorrento: IEEE, 2020. 1346–1351.]]>
et al. Efficient estimation of word representations in vector space. arXiv: 1301.3781, 2013.]]>
et al. An empirical investigation of practical log anomaly detection for online service systems. Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. Singapore: ACM, 2021. 1404–1415.]]>
Han SB, Wu QH, Zhang H,
Ying S, Wang BM, Wang L,
Liu ZL, Qin T, Guan XH,
et al. Incremental clustering for semi-supervised anomaly detection applied on log data. Proceedings of the 12th International Conference on Availability, Reliability and Security. Reggio Calabria: ACM, 2017. 31.]]>
et al. DeepLog: Anomaly detection and diagnosis from system logs through deep learning. Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security. Texas: ACM, 2017. 1285–1298.]]>
Yang RP, Qu D, Gao Y,
et al. LogAnomaly: Unsupervised detection of sequential and quantitative anomalies in unstructured logs. Proceedings of the 28th International Joint Conference on Artificial Intelligence. Macao: AAAI Press, 2019. 4739–4745.]]>
et al. An approach to cloud platform log anomaly detection based on natural language processing and LSTM. 2020 3rd International Conference on Algorithms, Computing and Artificial Intelligence (ACAI 2020). Sanya: ACM, 2020. 88.]]>
张圣林, 李东闻, 孙永谦, 等. 面向云数据中心多语法日志通用异常检测机制. 计算机研究与发展, 2020, 57(4): 778–790, doi: 10.7544/issn1000-1239.2020.20190875.
et al. Robust log-based anomaly detection on unstable log data. Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. Singapore: ACM, 2019. 807–817.]]>
et al. Hybrid CAE-VAE for unsupervised anomaly detection in log file systems. 2019 10th International Conference on Computing, Communication and Networking Technologies (ICCCNT). Kanpur: IEEE, 2019. 1–7.]]>
夏彬, 白宇轩, 殷俊杰. 基于生成对抗网络的系统日志级异常检测算法. 计算机应用, 2020, 40(10): 2960–2966, doi: 10.11772/j.issn.1001-9081.2020020270.
Huang SH, Liu Y, Fung C,
He PJ, Zhu JM, He SL,
et al. A parallel approach of weighted edit distance calculation for log parsing. 2019 IEEE 2nd International Conference on Computer and Communication Engineering Technology (CCET). Beijing: IEEE, 2019. 101–104.]]>
et al. Loghub: A large collection of system log datasets towards automated log analytics. arXiv: 2008.06448, 2020.]]>
Hochreiter S, Schmidhuber J. Long short-term memory. Neural Computation, 1997, 9(8): 1735–1780.
et al. Application performance anomaly detection with LSTM on temporal irregularities in logs. Proceedings of the 29th ACM International Conference on Information & Knowledge Management. Atlanta: ACM, 2020. 1961–1964.]]>
et al. Online deep learning: Learning deep neural networks on the fly. Proceedings of the 27th International Joint Conference on Artificial Intelligence. Stockholm: IJCAI, 2018. 2660–2666.]]>
et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). Doha: Association for Computational Linguistics, 2014. 1724–1734.]]>
et al. Semi-supervised log-based anomaly detection via probabilistic label estimation. 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE). Madrid: IEEE, 2021. 1448–1460.]]>
et al. Attention is all you need. Advances in Neural Information Processing Systems. 2017, 30: 25998–6008.]]>
et al. BERT: Pre-training of deep bidirectional transformers for language understanding. Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. Minneapolis: Association for Computational Linguistics, 2018. 4171–4186.]]>
]]>
et al. Generative adversarial nets. Proceedings of the 27th International Conference on Neural Information Processing Systems. Montreal: MIT Press, 2014. 2672–2680.]]>
et al. Bag of tricks for efficient text classification. Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 2, Short Papers. Valencia: Association for Computational Linguistics, 2016. 427–431.]]>
et al. A semantic-aware representation framework for online log analysis. 2020 29th International Conference on Computer Communications and Networks (ICCCN). Honolulu: IEEE, 2020. 1–7.]]>
et al. Lifelong anomaly detection through unlearning. Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security. London: ACM, 2019. 1283–1297.]]>