CN115129679A - 通过日志文件的关键区域的基于机器学习的识别进行服务请求补救 - Google Patents

通过日志文件的关键区域的基于机器学习的识别进行服务请求补救 Download PDF

Info

Publication number
CN115129679A
CN115129679A CN202110335351.8A CN202110335351A CN115129679A CN 115129679 A CN115129679 A CN 115129679A CN 202110335351 A CN202110335351 A CN 202110335351A CN 115129679 A CN115129679 A CN 115129679A
Authority
CN
China
Prior art keywords
log
segments
given
log file
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110335351.8A
Other languages
English (en)
Inventor
倪嘉呈
龚旻
周广州
王子嘉
贾真
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dell Products LP
Original Assignee
Dell Products LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dell Products LP filed Critical Dell Products LP
Priority to CN202110335351.8A priority Critical patent/CN115129679A/zh
Priority to US17/236,107 priority patent/US11822424B2/en
Publication of CN115129679A publication Critical patent/CN115129679A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0635Risk analysis of enterprise or organisation activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06393Score-carding, benchmarking or key performance indicator [KPI] analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Biomedical Technology (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种设备包括处理装置,所述处理装置被配置为:接收与给定资产相关联的服务请求;获得与所述给定资产相关联的日志文件;将所述日志文件分为日志段;生成所述日志段的日志模式标识符集;以及使用机器学习模型确定所述日志段的风险评分,所述机器学习模型将所述日志模式标识符集作为输入,并提供表征所述日志段的风险的信息作为输出。所述处理装置还被配置为至少部分地基于所确定的风险评分来识别所述日志文件的关键区域,给定关键区域包括具有高于指定风险评分阈值的所确定风险评分的日志段序列。所述处理装置还被配置为分析所识别的关键区域,以确定将用于解决所述服务请求的补救动作。

Description

通过日志文件的关键区域的基于机器学习的识别进行服务请 求补救
技术领域
本领域总体上涉及信息处理,并且更具体地,涉及信息处理系统中的装置管理。
背景技术
监视和分析平台可用于为信息技术基础设施的资产提供各种服务。此类服务可能包括例如对此类资产遇到的问题进行故障排除和补救。这可能包括监视和分析平台的支持工程师从与资产相关联的最终用户接收服务请求,并且支持工程师确定资产上遇到的问题的根本原因。为此,支持工程师可查看由资产生成或与资产相关联的日志文件。
发明内容
本公开的说明性实施方案提供用于通过日志文件的关键区域的基于机器学习的识别进行服务请求补救的技术。
在一个实施方案中,一种设备包括至少一个处理装置,所述处理装置包括耦合至存储器的处理器。所述至少一个处理装置被配置为执行以下步骤:接收与信息技术基础设施的给定资产相关联的服务请求;获得与所述给定资产相关联的至少一个日志文件;将所述至少一个日志文件分成多个日志段;针对所述多个日志段中的每一个生成日志模式标识符集;以及使用机器学习模型针对所述多个日志段中的每一个确定风险评分,所述机器学习模型将所述日志模式标识符集作为输入,并提供表征所述多个日志段中的相应日志段的风险的信息作为输出。所述至少一个处理装置还被配置为执行以下步骤:至少部分地基于所确定的风险评分来识别所述至少一个日志文件的一个或多个关键区域,所述一个或多个关键区域中的给定关键区域包括:至少一个日志文件的多个日志段中的两个或更多个的序列,所述序列具有高于指定风险评分阈值的所确定风险评分。所述至少一个处理装置还被配置为执行以下步骤:分析所识别的一个或多个关键区域,以确定要应用于给定资产以解决服务请求的一个或多个补救动作。
这些和其他说明性实施方案包括但不限于方法、设备、网络、系统和处理器可读存储介质。
附图说明
图1是在说明性实施方案中的信息处理系统的框图,所述信息处理系统被配置为通过日志文件的关键区域的基于机器学习的识别进行服务请求补救。
图2是在说明性实施方案中用于通过日志文件的关键区域的基于机器学习的识别进行服务请求补救的示例性过程的流程图。
图3是在说明性实施方案中用于对服务请求进行分类的示例性过程的流程图。
图4示出在说明性实施方案中的日志模式标识符的生成。
图5示出在说明性实施方案中的基于Transformer的双向编码器表示(BERT)机器学习模型的示例架构。
图6示出在说明性实施方案中的BERT机器学习模型的操作。
图7示出在说明性实施方案中用于预训练BERT机器学习模型的掩蔽语言模型的使用。
图8示出在说明性实施方案中的用于BERT机器学习模型的下一句预测预训练。
图9示出在说明性实施方案中的原始日志行到日志模式和相关联的日志模式标识符的转换。
图10示出说明在说明性实施方案中用于对服务请求进行分类的机器学习模型的准确性的图。
图11示出在说明性实施方案中的针对日志段序列的风险评分确定的示例。
图12示出在说明性实施方案中的日志段序列的随时间变化的风险评分的图。
图13示出在说明性实施方案中的可选择以应用于机器学习模型以对服务请求进行分类的日志文件表。
图14示出在说明性实施方案中将用于对服务请求进行分类的机器学习模型应用于给定日志文件的输出结果的表。
图15A至图15C示出在说明性实施方案中用于显示将用于对服务请求进行分类的机器学习模型应用于日志文件的结果的界面视图。
图16和图17示出在说明性实施方案中的可用于实现信息处理系统的至少一部分的处理平台的示例。
具体实施方式
本文将参考示例性信息处理系统以及相关联计算机、服务器、存储装置和其他处理装置来描述说明性实施方案。然而,应了解,实施方案不限于与所示的特定说明性系统和装置配置一起使用。因此,如本文所用的术语“信息处理系统”意图广泛地解释,以便涵盖例如包括云计算和存储系统的处理系统,以及包括物理和虚拟处理资源的各种组合的其他类型的处理系统。因此,信息处理系统可包括例如至少一个数据中心或其他类型的基于云的系统,其包括托管访问云资源的租户的一个或多个云。
图1示出根据说明性实施方案配置的信息处理系统100,所述信息处理系统用于提供通过日志文件的关键区域的基于机器学习的识别进行服务请求补救的功能。信息处理系统100包括通过网络104与一个或多个存储阵列106-1、106-2、......106-M(统称为存储阵列106)通信的一个或多个主机装置102-1、102-2、......102-N(统称为主机装置102)。网络104可包括存储区域网络(SAN)。
如图1中所示,存储阵列106-1包括多个存储装置108,每个存储装置存储由在主机装置102上运行的一个或多个应用程序利用的数据。存储装置108说明性地布置在一个或多个存储池中。存储阵列106-1还包括一个或多个存储控制器110,所述一个或多个存储控制器促进对存储装置108的IO处理。存储阵列106-1及其相关联存储装置108是在本文中更一般地称为“存储系统”的事物的实例。本实施方案中的此存储系统由主机装置102共享,并且因此在本文中也称为“共享存储系统”。在仅存在单个主机装置102的实施方案中,主机装置102可被配置来独占使用存储系统。
主机装置102说明性地包括能够通过网络104与存储阵列106通信的相应计算机、服务器或其他类型的处理装置。例如,主机装置102的至少一个子集可被实现为计算服务平台或其他类型的处理平台的相应虚拟机。这种布置中的主机装置102说明性地提供计算服务,诸如代表与主机装置102中的相应主机装置相关联的一个或多个用户中的每个用户执行一个或多个应用程序。
本文中的术语“用户”意图广泛地解释,以便涵盖人、硬件、软件或固件实体以及此类实体的组合的众多布置。
可在平台即服务(PaaS)模型、基础设施即服务(IaaS)模型和/或功能即服务(FaaS)模型下为用户提供计算和/或存储服务,但应了解,可使用众多其他云基础设施布置。而且,说明性实施方案可在云基础设施背景之外实现,如就在给定企业内实现的独立式计算和存储系统而言。
存储阵列106-1的存储装置108可实现被配置来存储与主机装置102相关联的用户的对象的逻辑单元(LUN)。这些对象可包括文件、块或其他类型的对象。主机装置102利用读写命令以及通过网络104传输的其他类型的命令与存储阵列106-1交互。在一些实施方案中,此类命令更特别地包括小型计算机系统接口(SCSI)命令,但在其他实施方案中,可使用其他类型的命令。如给定IO操作在本文中所广泛使用,所述术语说明性地包括一个或多个此类命令。本文中对诸如“输入-输出”和“IO”的术语的引用应理解为指代输入和/或输出。因此,IO操作涉及输入和输出中的至少一者。
而且,如本文所用的术语“存储装置”意图广泛地解释,以便涵盖例如逻辑存储装置,诸如LUN或其他逻辑存储卷。逻辑存储装置可在存储阵列106-1中定义以包括一个或多个物理存储装置的不同部分。因此,存储装置108可被视为包括相应LUN或其他逻辑存储卷。
信息处理系统100还包括监视和分析平台112,所述监视和分析平台被配置为提供用于服务请求补救的功能。例如,可将监视和分析平台112作为服务提供,主机装置102的用户将所述服务用于对与存储阵列106(或更一般地,信息技术(IT)基础设施的资产,其中此类资产可包括物理和虚拟计算资源)相关联的服务请求进行分类。在一些实施方案中,此类用户可包括利用监视和分析平台112的人工智能功能自动分析与存储阵列106相关联的日志文件的支持工程师。可从以下项直接获得日志文件:存储阵列106(例如,可产生日志文件并将其存储在存储阵列106上);利用存储阵列106的主机装置102;监视存储阵列106的操作的监视工具(例如,其可实施为监视和分析平台112本身的一部分)等。此类人工智能功能可包括例如日志文件的“关键”区域的识别,所述关键区域可能包括关于存储阵列106上遇到的问题的根本原因信息。关键区域可包括日志文件的日志段序列,这些日志段具有如使用通过监视和分析平台112实施的机器学习模型确定的一些指定阈值风险评分。
监视和分析平台112包括日志文件处理模块114、风险评分确定模块116和关键区域识别模块118。监视和分析平台112被配置为(例如,从主机装置102的用户)接收服务请求以解决资产上遇到的问题,其中将图1实施方案中的资产假设为存储阵列106。然而,如上文和本文其他地方所指出,此类资产可更一般地包括IT基础设施的物理和/或虚拟计算资源。对于涉及存储阵列(例如,存储阵列106-1)中的给定存储阵列的给定服务请求,日志文件处理模块114被配置为获得与给定存储阵列106-1相关联的一个或多个日志文件,将日志文件分为多个日志段,并生成日志段的日志模式标识符集。在一些实施方案中,每个日志段包括日志文件中的指定数量(例如,512个)的日志行,并且每个日志模式标识符可表示日志行中的一者。风险评分确定模块116被配置为使用机器学习模型来确定每个日志段的风险评分,其中机器学习模型将日志模式标识符集作为输入,并提供表征多个日志段中的相应日志段的风险的信息作为输出。关键区域识别模块118被配置为至少部分地基于所确定的风险评分来识别日志文件的一个或多个关键区域。例如,一个或多个关键区域中的给定关键区域可包括日志文件的两个或更多个日志段的序列,所述日志段具有高于指定风险评分阈值的所确定风险评分。监视和分析平台112被配置为分析所识别的一个或多个关键区域以确定要应用于解决服务请求的一个或多个补救动作。
日志文件处理模块114、风险评分确定模块116和关键区域识别模块118的至少部分功能可至少部分地以存储在存储器中并由处理器执行的软件的形式来实现。
尽管在图1的实施方案中被示为在主机装置102和存储阵列106的外部,但是应当理解,在其他实施方案中,监视和分析平台112可至少部分地在主机装置102中的一个或多个和/或存储阵列106中的一个或多个的内部(例如,例如在存储阵列106-1的存储控制器110上)实现。
图1的实施方案中的主机装置102、存储阵列106以及监视和分析平台112被假设为使用至少一个处理平台来实现,其中每个处理平台包括一个或多个处理装置,每个处理装置具有耦合到存储器的处理器。此类处理装置可以说明性地包括计算、存储和网络资源的特定布置。例如,在一些实施方案中,处理装置至少部分地利用诸如虚拟机(VM)或Linux容器(LXC)之类的虚拟资源或者如在其中Docker容器或其他类型的LXC被配置为在VM上运行的布置中两者的组合来实现。
尽管主机装置102、存储阵列106以及监视和分析平台112可以在相应的不同处理平台上实现,但是许多其他布置是可能的。例如,在一些实施方案中,主机装置102、存储阵列106以及监视和分析平台112中的一个或多个的至少部分在同一处理平台上实现。监视和分析平台112、存储阵列106中的一个或多个存储阵列或者它们的组合因此可以至少部分地在实现主机装置102的至少一个子集的至少一个处理平台内实现。
网络104可以使用不同类型的多种网络来实现以互连存储系统部件。例如,网络104可包括是全球计算机网络(诸如互联网)的一部分的SAN,但其他类型的网络可以是SAN的部分,包括广域网(WAN)、局域网(LAN)、卫星网络、电话或有线网络、蜂窝网络、无线网络(诸如WiFi或WiMAX网络),或这些和其他类型的网络的各种部分或组合。因此,在一些实施方案中,网络104包括多个不同类型的网络的组合,每个网络包括被配置来使用互联网协议(IP)或其他相关通信协议进行通信的处理装置。
作为更特定的实例,一些实施方案可利用一个或多个高速局域网,其中相关联处理装置利用那些装置的外围部件互连高速(PCIe)卡以及联网协议(诸如无限带宽、千兆以太网或光纤信道)彼此通信。如本领域技术人员将了解,在给定实施方案中,众多替代联网布置是可能的。
尽管在一些实施方案中,主机装置102用来与存储阵列106通信的某些命令说明性地包括SCSI命令,但在其他实施方案中,可使用其他类型的命令和命令格式。例如,一些实施方案可利用与NVM高速(NVMe)相关联的命令特征和功能性来实现IO操作,如在通过引用并入本文的2017年5月的NVMe规范的修订版1.3中所描述。可在本文所公开的说明性实施方案中利用的这种类型的其他存储协议包括:基于结构的NVMe,也称为NVMeoF;以及基于传输控制协议(TCP)的NVMe,也称为NVMe/TCP。
本实施方案中的存储阵列106-1假设包括使用存储阵列106-1的闪存存储器或其他类型的非易失性存储器实现的持久性存储器。更特定的实例包括基于NAND的闪存存储器或其他类型的非易失性存储器,诸如电阻式RAM、相变存储器、自旋力矩转换磁阻RAM(STT-MRAM)和基于3D XPointTM存储器的Intel OptaneTM装置。持久性存储器进一步假设与存储阵列106-1的存储装置108分离,但在其他实施方案中,持久性存储器可被实现为存储装置108中的一个或多个的一个或多个指定部分。例如,在一些实施方案中,存储装置108可包括基于闪存的存储装置,如在涉及全闪存存储阵列的实施方案中,或者可全部地或部分地使用其他类型的非易失性存储器实现。
如上所提及,主机装置102与存储阵列106之间的通信可利用通过一个或多个网络实现的PCIe连接或其他类型的连接。例如,说明性实施方案可使用诸如因特网SCSI(iSCSI)、串行附接SCSI(SAS)和串行ATA(SATA)的接口。在其他实施方案中,可使用众多其他接口和相关联通信协议。
在一些实施方案中,存储阵列106和系统100的其他部分(例如监视和分析平台112)可被实现为基于云的系统的一部分。
存储阵列106-1的存储装置108可使用固态驱动器(SSD)来实现。此类SSD使用非易失性存储器(NVM)装置诸如闪存存储器来实现。可用于实现存储装置108的至少一部分的其他类型的NVM装置包括非易失性随机存取存储器(NVRAM)、相变RAM(PC-RAM)和磁性RAM(MRAM)。也可使用多种不同类型的NVM装置或其他存储装置的这些和各种组合。例如,硬盘驱动器(HDD)可结合或替代SSD或其他类型的NVM装置使用。因此,可使用众多其他类型的电子或磁性介质来实现存储装置108的至少一个子集。
存储阵列106可另外地或替代地被配置来实现多层存储系统的多个不同的存储层。举例来说,给定多层存储系统可包括使用闪存存储装置或其他类型的SSD实现的快速层或性能层以及使用HDD实现的容量层,其中一个或多个此类层可能是基于服务器的。如对于本领域技术人员将显而易见的,在其他实施方案中,可使用广泛多种其他类型的存储装置和多层存储系统。给定存储层中使用的特定存储装置可根据给定实施方案的特定需求而变化,并且可在单个存储层内使用多种不同的存储装置类型。如先前所指示,如本文所用的术语“存储装置”意图广泛地解释,并且因此可涵盖例如SSD、HDD、闪存驱动器、混合驱动器或其他类型的存储产品和装置或其部分,并且说明性地包括逻辑存储装置诸如LUN。
作为另一实例,存储阵列106可用于在包括由一个或多个网络互连的多个存储节点的集群存储系统中实现一个或多个存储节点。
因此,应显而易见的是,如本文所用的术语“存储阵列”意图广泛地解释,并且可涵盖可商购获得的存储阵列的多个不同的实例。
在说明性实施方案中,可用于实现给定存储系统的其他类型的存储产品包括软件定义的存储装置、云存储装置、基于对象的存储装置和外扩存储装置。在说明性实施方案中,也可使用这些和其他存储类型中的多个存储类型的组合来实现给定存储系统。
在一些实施方案中,存储系统包括以主动-主动配置布置的第一存储阵列和第二存储阵列。例如,这种布置可用于确保利用同步复制过程将存储在存储阵列中的一个中的数据复制到存储阵列中的另一个。这种跨多个存储阵列的数据复制可用于促进系统100中的故障恢复。因此,存储阵列中的一个可相对于另一个存储阵列作为生产存储阵列操作,所述另一个存储阵列作为备份或恢复存储阵列操作。
然而,应了解,本文所公开的实施方案不限于主动-主动配置或任何其他特定存储系统布置。因此,本文的说明性实施方案可使用广泛多种其他布置来配置,所述布置举例来说包括主动-被动布置、主动-主动非对称逻辑单元访问(ALUA)布置和其他类型的ALUA布置。
这些和其他存储系统可以是在本文中更一般地称为处理平台的事物的一部分,所述处理平台包括一个或多个处理装置,每个处理装置包括联接到存储器的处理器。给定此类处理装置可对应于一个或多个虚拟机或其他类型的虚拟化基础设施,诸如Docker容器或其他类型的LXC。如上所指示,系统100的此类元件之间的通信可通过一个或多个网络进行。
如本文所用的术语“处理平台”意图广泛地解释,以便涵盖(通过说明而非限制性的方式)被配置来通过一个或多个网络进行通信的多组处理装置和一个或多个相关联存储系统。例如,主机装置102的分布式实现方式是可能的,其中主机装置102中的某些主机装置驻留在处于第一地理位置的一个数据中心,而主机装置102中的其他主机装置驻留在处于可能远离第一地理位置的一个或多个其他地理位置的一个或多个其他数据中心。存储阵列106以及监视和分析平台112可以至少部分地在第一地理位置、第二地理位置和一个或多个其他地理位置中实现。因此,在系统100的一些实现方式中,主机装置102中的不同主机装置、存储阵列106以及监视和分析平台112可以驻留在不同的数据中心。
主机装置102、存储阵列106以及监视和分析平台112的许多其他分布式实现方式是可能的。因此,主机装置102、存储阵列106以及监视和分析平台112也可通过分布式方式跨多个数据中心实现。
下面将结合图16和图17更详细地描述在说明性实施方案中的用于实现系统100的部分的处理平台的另外示例。
应当理解,图1中示出的用于通过日志文件的关键区域的基于机器学习的识别进行服务请求补救的特定元件集仅通过说明性示例呈现,并且在其他实施方案中,可使用另外或替代元件。因此,另一实施方案可包括另外或替代系统、装置和其他网络实体,以及模块和其他部件的不同布置。
应了解,仅通过实例呈现说明性实施方案的这些和其他特征,并且不应以任何方式将其解释为限制性的。
现在将参考图2的流程图更详细地描述用于通过日志文件的关键区域的基于机器学习的识别进行服务请求补救的示例性过程。应当理解,此特定过程仅是示例,并且在其他实施方案中,可使用用于通过日志文件的关键区域的基于机器学习的识别进行服务请求补救的另外或替代过程。
在此实施方案中,过程包括步骤200至212。假设这些步骤由监视和分析平台112利用日志文件处理模块114、风险评分确定模块116和关键区域识别模块118执行。过程从步骤200开始:接收与信息技术(IT)基础设施的给定资产相关联的服务请求。给定资产可包括物理计算资源(例如,服务器、存储阵列、网络设备等)、虚拟计算资源(例如,虚拟机(VM)、软件容器等)或其组合。例如,给定资产可包括系统100中的存储阵列106或主机装置102中的一个。
在步骤202中,获得与给定资产相关联的至少一个日志文件。可直接从给定资产、从监视给定资产的一个或多个监视工具,其组合等获得日志文件。在步骤204中,将至少一个日志文件分为多个日志段。在一些实施方案中,日志段是相等大小的(例如,一些指定数量的日志行,例如每个日志段512个日志行)。在步骤206中,针对多个日志段中的每一个生成日志模式标识符集。步骤206可包括将至少一个日志文件分成多个日志段,每个日志段包括至少一个日志文件的指定数量的日志行,并且每个日志模式标识符可表示日志行中的一个。生成日志模式标识符集可包括:将日志行聚类以制定日志模式集;以及向每个日志行分配与所述日志模式集中的一个日志模式相关联的标识符。将日志行聚类以制定日志模式集可包括利用一个或多个相似性度量来测量日志行之间的相似性。
在步骤208中,使用机器学习模型来确定多个日志段中的每一个的风险评分。机器学习模型将日志模式标识符集作为输入,并提供表征多个日志段中的相应日志段的风险的信息作为输出。步骤208可至少部分地基于分析表征多个日志段中的相应日志段的风险的输出信息的熵。机器学习模型可包括基于Transformer的双向编码器表示(BERT)模型。可使用掩蔽语言模型(MLM)和下一句预测(NSP)对BERT模型进行预训练。对于多个日志段中的给定日志段,BERT模型可被配置为:将给定日志段的日志模式标识符集嵌入到输入向量集中;在两个或更多个堆叠编码器的集中处理输入向量集;输出输出向量序列,每个输出向量对应于给定日志段的日志模式标识符集中的一个日志模式标识符。
在步骤210中至少部分地基于所确定的风险评分来识别至少一个日志文件的一个或多个关键区域。一个或多个关键区域中的给定关键区域包括至少一个日志文件的多个日志段中的两个或多个日志段的序列,所述序列具有高于指定风险评分阈值的所确定风险评分。步骤210可包括将滑动窗口过滤器应用于与至少一个日志文件的多个日志段的连续序列相关联的风险评分。应用滑动窗口过滤器可包括:设置包括至少两个日志段的窗口大小;设置一个或多个阈值匹配标准;当滑动窗口过滤器的窗口中的至少两个日志段满足一个或多个阈值匹配标准时,识别至少一个日志文件的给定关键区域的开始;以及当滑动窗口过滤器的窗口中的至少两个日志段不满足一个或多个阈值匹配标准时,识别至少一个日志文件的给定关键区域的结束。滑动窗口过滤器可包括滑动窗口平均过滤器,并且一个或多个阈值匹配标准可包括滑动窗口平均过滤器的窗口中的至少两段的指定平均风险评分。
图2的过程继续进行到步骤212:分析所识别的一个或多个关键区域以确定要应用于给定资产以解决服务请求的一个或多个补救动作。步骤212可包括:从问题知识库中识别一个或多个问题,所述问题具有影响信息技术基础设施中的给定资产的至少指定阈值可能性;以及至少部分地基于从问题知识库中识别出的一个或多个问题,确定要应用于给定资产以解决服务请求的一个或多个补救动作。
对服务请求进行处理和分类的常规方法是高度手动的过程。因此,需要可至少部分地自动化对服务请求进行处理和分类的过程的解决方案。说明性实施方案提供利用人工智能来辅助推荐用于对服务请求进行处理和分类的解决方案的技术。尽管关于处理和分类存储系统服务请求描述了各种实施方案,但是应当理解,实施方案不仅仅限于存储系统服务请求。在其他实施方案中,可使用本文描述的技术对各种其他类型的服务请求进行处理和分类。
如上所述,说明性实施方案使用自然语言处理(NLP)框架将人工智能应用于对服务请求进行分类的问题,所述NLP框架基于日志数据来推荐动作或解决方案。在一些实施方案中,使用基于Transformer的机器学习框架,例如基于Transformer的双向编码器表示(BERT)NLP框架,构建模型,所述模型解析日志(例如,存储系统日志)以识别作为(例如,在存储系统上)遇到的问题症结的高概率文本块。模型还被配置为根据其作为适当解决方案的相关联概率推荐知识库工件(例如,已知解决方案)。有利地,可将NLP框架作为服务工程师工具中的后台任务或者否则作为监视和分析平台的一部分运行。监视和分析平台可为基于云的,例如Dell EMC CloudIQ平台,对所述监视和分析平台进行适当修改以合并本文所述的功能。
如上所述,监视和分析平台可为基于云的。例如,CloudIQ为存储系统提供了主动监视和分析功能。CloudIQ有利地提供了软件即服务(SaaS)解决方案,从而使得能够为最终用户递送频繁的、动态的且无中断的内容更新。此外,CloudIQ内置在安全的多租户平台中,以确保每个客户或其他最终用户租户与其他最终用户适当地隔离并不受其他最终用户影响。一旦存储系统建立了与CloudIQ的连接,就可收集常规数据(例如,警报、性能信息等)的更新。这种所收集的数据在例如利用由机器学习提供支持的高级分析来实现更高的正常运行时间、提高性能、执行有效的容量规划、对服务请求进行分类等时可体现其价值。
对于大型复杂的环境,例如大型复杂的存储环境,可能需要技术支持工程师来处理大量的最终用户服务请求。此类最终用户服务请求可能与在使用存储环境期间遇到的问题有关(例如,其中问题可能由软件、硬件或网络问题引起)。此类问题可包括软件、硬件或网络资源的缺陷或故障、操作错误等。如果支持工程师无法根据问题描述确定故障原因,则支持工程师可要求最终用户上传最新的系统日志文件以进行进一步分类。应当注意,在一些情况下,此类日志文件可由监视和分析平台自动地上传或获得(例如,无需最终用户动作)。但是,从此类日志文件中检测系统故障或其他问题的原因是一项艰巨的任务。每个日志文件可在某个指定的时间间隔内包括一组连续的日志行。因此,需要从系统日志中自动推断出问题的根本原因,因为这可加速服务请求分类过程。
图3示出示例支持服务过程流300。过程流300从步骤301开始,其中最终用户遇到系统(例如,存储系统)的问题。例如,最终用户可能是无法访问特定存储群集的客户(例如,当客户端使用服务器消息块(SMB)协议链接到群集时,群集发生故障)。在步骤303中,创建服务请求(SR),并且将SR分配给第一支持工程师(例如,1级或L1支持工程师)。可从报告步骤301中遇到的问题的客户电子邮件或消息中传递SR。在步骤305中,假设第一支持工程师无法根据推荐的知识库(KB)解决方案来解析SR,因此将SR传递给第二支持工程师(例如,2级或L2支持工程师)。第二支持工程师在步骤307中确定需要日志文件对SR进行分类,并从受影响的系统中获得日志文件。在步骤309中,使用人工智能(AI)扫描日志文件以推荐一个或多个其他KB解决方案,以解决最终用户在步骤301中遇到的问题。然后在步骤311中使用一个或多个AI推荐的KB解决方案来解决最终用户在步骤301中遇到的问题。尽管在过程流300中第二支持工程师利用AI来扫描日志文件以确定解决问题的解决方案,但是应该理解,在其他实施例中,第一工程师可以这样做。此外,可将AI日志扫描执行为尝试解决SR的第一步骤,而不是在第一支持工程师尝试使用其他方法(例如,手动分析,但是对SR本身而不是从受影响系统获得的系统日志的文本分析等)对SR进行分类之后执行AI日志扫描。
如上所述,说明性实施方案提供用于使用AI来构建机器学习模型(例如,NLP模型)的技术,所述机器学习模型通过检测关键区域(例如,日志文件的一个或多个日志段)来促进对服务请求进行分类的过程,所述关键区域可能从自系统获得或与系统相关联的日志文件中指示系统故障。此类检测到的关键区域可用于推断系统故障的根本原因。应注意,“关键区域”可能并不总是包含或指示由于各种混杂因素(例如,相关性并不意味着因果关系)而导致系统故障或系统上遇到的其他问题的原因。但是,关键区域与风险评分相关联,从而使支持工程师能够检查高风险日志段,从而关于系统故障或系统上遇到的其他问题的原因做出最终决定。由于机器学习模型可自动分析日志文件,因此可显著地提高支持或监视和分析平台(或其技术支持工程师)的效率。
在一些实施方案中,假设在与遇到问题的系统(也称为受影响的系统)相关联的日志文件中,几个日志段可指示系统故障的一个或多个原因。可使用最新的语言模型BERT来构建自动日志段分类模型。日志段分类模型也称为BERT驱动的日志分类模型(BLTM),并提供在一些实施方案中使用的日志段分类解决方案。在BLTM中,通过将日志行聚类,每个日志行都表示为日志“DNA”标识符(例如,日志模式ID)。日志模式ID(例如,表示日志行)被处理为“单词”,并且日志段(例如,与连续日志行相对应的连续日志模式ID的序列)被处理为“段落”。在一些实现方式中,BERT模型的最大输入为512,因此如果构建了单词级模型,则可使用仅覆盖约20个日志行的窗口,所述窗口可能太小而无法提供有用的结果。因此,将日志行转换为日志模式ID,其中日志模式ID被处理为单词,并且日志段(例如,连续的日志模式ID序列,例如512个日志模式ID)被处理为句子或段落。BERT模型在完整的日志段上进行预训练,并且可使用由支持工程师标记的关键日志段进行微调。
BERT构建日志段表示模型,所述日志段表示模型通过掩码语言模型(MLM)以预训练的方式从日志模式ID序列中学习特征表示(例如,可将获得的日志文件中的每个日志行转换为日志模式ID)。基于BERT的日志段表示用作特征表示,用于以微调方式从标记的日志段中训练多类文本分类器(例如,其中每个日志段通过问题标记为其类别)。
实验上,通过Top N准确性分析来评估BLTM的可用性。使用BLTM的softmax输出的熵对输入日志段的风险进行评分。在应用中,将日志文件分为连续的日志段,而BLTM用于扫描日志文件以使用风险级别对每个日志段进行评分。然后使用滑动窗口平均过滤器从完整的一个或多个日志文件中检测(例如,由几个连续的日志段组成的)关键区域。然后,BLTM针对关键日志区域中的每个关键日志段建议所述问题。下文关于包括存储阵列的收集和清除的日志文件的现实世界数据集进一步详细讨论此机器学习模型过程和评估。
通过大型且复杂的系统,将生成大量日志(和日志行)。因此,构建日志段分类的单词级模型是不可能的或不切实际的。因此,一些实施方案使用称为日志模式识别的方法来进行日志行级别分析。在日志模式识别方法中,将日志行聚类以制定日志模式,并且可将每个日志行识别为日志模式ID。因此,可将日志段变换为日志模式ID的序列。然后可将日志模式ID的序列作为日志段的特征表示馈送到模型中,以构建用于对日志段进行分类的文本分类器。图4示出日志模式识别处理的实例,其示出了完整的“DNA”401(例如,整个日志文件)以及映射到基本模式403的完整DNA 401的片段。在图4的示例中,在完整DNA或日志文件401的日志行中按出现顺序示出四个日志行文本片段:“失败”;“错误版本:0”;“checkNextBlock:在扇区1(-1)上的错误读数”;以及“在日记中检测到错误:非法字节序列”。分别将这些文本片段映射到基本模式T、C、A和G,如图4所示。图4还示出基本模式C和A的模式分布405,以及基本模式C和A的不同实例407。
BERT模型可用于各种NLP任务,包括文本分类。有利的是,BERT应用Transformer注意模型的双向训练,从而可对特定任务进行语言模型的语言建模和微调。BERT使用Transformer的编码器,Transformer是一种学习文本中的单词之间的上下文关系的注意机制。BERT模型可包括几个堆叠编码器,如图5所示。图5示出两个BERT模型:具有12个堆叠编码器的“基本”BERT模型501和具有24个堆叠编码器的“大”BERT模型503。堆叠编码器的数量确定BERT模型的参数的数量。Transformer编码器读取令牌的整个序列,因此BERT模型被认为是双向的。此特性使BERT模型能够基于其所有周围环境(即,给定单词左右的单词)来学习给定单词的上下文。尽管图5分别示出具有12个和24个堆叠编码器的BERT模型501和503的两个示例,但是应当理解,实施方案可利用具有其他数量的堆叠编码器的BERT模型。图6示出BERT模型600,其将输入601说明为令牌序列。令牌被嵌入向量中,然后在堆叠编码器中进行处理。输出603是大小为H的向量序列,其中每个向量对应于具有相同索引的输入令牌。每个输入文本均以“[CLS]”开头并且句子以“[SEP]”分隔。
在应用中,BERT可用于构建文本分类器模型。首先,以半监督的方式使用相关的大型语料库对BERT模型进行预训练。将标记的实例馈送到BERT模型中以进行微调。在预训练阶段,对MLM和下一句预测(NSP)一起进行训练,目标是使两种策略的组合损失函数最小化。
为了实现MLM,在将单词序列馈送到BERT模型之前,将每个序列中指定百分比(例如15%)的单词替换为“[MASK]”令牌。然后,所述模型基于由序列中的其他未掩蔽单词提供的上下文而尝试预测掩蔽单词的原始值。输出单词的预测包括:(1)在编码器输出的顶部添加分类层;(2)将输出向量乘以嵌入矩阵,从而将其变换为词汇量;(3)计算词汇中每个单词的概率(例如,使用softmax)。图7示出此种处理,其中掩蔽703一组输入令牌701,然后将其输入到BERT模型700。BERT模型700馈送到实现为前馈神经网络(FFNN)和softmax层705的分类层。最终输出707指示掩蔽的令牌(例如,令牌4,TOK4)是N个可能类别的集中的每一个的概率。举一个具体的示例,假设输入701为“[CLS]让我们继续在短剧中即兴演奏”,使得“即兴演奏”被掩蔽。N个类可为可能的词汇(例如,所有英语单词),其中输出707指示掩蔽的单词是“aardvak”的可能性为0.1%,掩蔽的单词是“即兴表演”的可能性为10%,并且掩蔽的单词是“zyzzyva”的可能性为0%。
现在将描述NSP。在BERT训练过程中,NSP模型接收句子对作为输入,并学习以预测所述对中的第二个句子是否是原始文档中的后续句子。在BERT模型微调阶段,将预训练的BERT用于特定任务相对简单:通过在[CLS]令牌的Transformer输出的顶部添加分类,可类似于下一句子分类执行文本分类任务(例如,服务请求分类),如图8中所示。图8示出BERT模型800,其接收[CLS]令牌以及一组令牌TOK1、TOK2、...、TOKS作为输入,所述令牌表示单个句子801。BERT模型800确定嵌入E[CLS]、E1、E2、...、ES以及输出C、T1、T2、...、TS。输出C表示用于输入句子801的类别标签803,并且可用于对BERT模型800进行微调以用于多类别分类。
在一些实施方案中,机器学习技术用于促进日志文件分类的处理。此类机器学习技术提供以下过程:预处理日志段;为日志段分类构建基于BERT的分类器;对日志段的风险进行评分;以及基于日志段的风险评分,检测指示系统故障的根本原因的日志文件的关键区域。
如上所述,本文的机器学习技术提供了一种模型(例如BLTM),所述模型能够找到日志文件中的关键区域并为此类关键区域中的日志段推荐已知问题。在预处理期间,将日志文件的日志行转换成日志模式ID,然后基于日志模式ID的序列对基于BERT的语言模型进行预训练。然后使用标记的日志段对语言模型进行微调以获得BLTM。使用BLTM的softmax输出的熵对日志段的风险进行评分。在应用中,将输入日志文件分为连续的日志段,而BLTM用于扫描此类日志段,并通过BLTM的softmax输出的熵对每个日志段的风险进行评分。基于日志段的风险评分,滑动窗口平均过滤器可从一个或多个完整的日志文件中检测关键区域。然后,BLTM针对关键日志文件区域中的每个日志段推荐一个或多个最可能已知的问题。
可使用Top 1或Top N准确性度量来评估日志段的分类结果的准确性。在多类别文本分类问题中,Top 1准确性从最终softmax输出中提取最大值。此提取值对应于文本输入的预测类别的置信度。Top N准确性测量标记的类别落入softmax分布的前N个值的频率。Top N准确性对于探索BLTM的应用非常有用。如果BLTM可实现高于某个指定阈值的Top N准确性(例如,大于或等于75%),并且N是支持工程师检查对日志段进行分类的已知问题的可接受数量,则可将BLTM部署到推荐已知问题的监视和分析平台(例如,日志分析系统)提供各种益处。
首先,将标记的日志段分为训练数据集和评估数据集。一些类型的存储系统具有开发用于分析历史日志文件的已知问题的规则集。例如,Dell EMC
Figure BDA0002997364190000201
存储阵列具有用于分析历史日志文件的已知问题几乎完整的规则集。如果日志行“x”由规则集中的给定规则命中,则用范围从x-256到x+256的日志行形成日志段。日志段由与给定规则相对应的后续已知问题标记。以此方式,可使用规则集来生成用于构建和评估BLTM的实例。为了证明结果,选择一组499个案例作为训练数据集,并选择109个案例作为评估集。针对这些情况,规则集在历史日志文件上运行,因此训练集中的13,866个日志段“命中”规则集中的一个规则,并且评估集中的3,373个日志段“命中”规则集中的一个规则。规则集总共涵盖102个已知问题。
接下来,将日志段中的每个日志行转换为日志模式ID。然后,每个日志段都可表示为日志模式ID的序列。上文关于图4描述的日志模式识别方法包括可应用于识别日志行,然后通过聚类将所述日志行转换为日志模式ID。日志行之间的相似性可使用各种相似性技术来测量,包括但不限于Jaccard相似性。将同一集群中的日志行转换为相同的日志模式ID。图9示出表示为日志模式ID的序列的日志段的一部分。更具体来说,图9示出表901,所述表示出日志文件的原始日志行;以及表903,所述表示出在运行相似性处理(例如,使用Jaccard相似性度量)之后的原始日志行的日志模式ID和相关联的日志模式。应注意,即使使用相同的单词,不同的单词序列也可能导致不同的含义(例如,“不要停,走”和“停,不要走”使用相同的单词,但含义相反)。但是,通常对日志模板进行良好的编码,因此发生这种情况的可能性很小。此外,日志行的聚类和微调阈值可减小日志行尺寸。
一旦为日志段中的每个日志行生成日志模式ID,就会构建一个MLM,以学习日志段的特征表示。然后,基于MLM学习的特征表示来构建监督分类器。可使用训练集中的日志段将日志段呈现给MLM。可将每个日志段处理为包括某一指定数量(例如,512)的日志模式ID的文档。可使用各种参数和架构来构建MLM。一旦构建了MLM,就可通过使用标记的已知问题对MLM进行微调来构建文本分类器,从而获得BLTM。对于评估数据集,Top 1准确性为48.41%。在图10的图1000中示出Top N准确性(例如,其中1≤N≤30)。例如,Top 10准确性为79.34%,这为实践提供了可接受的结果。
使用BLTM的softmax输出的熵对扫描的日志段的风险进行评分。BLTM寻找具有高风险的日志段的过程将在下面参考图11进行说明,其示出了将BLTM扫描应用于示例日志文件。在图11的示例中,分析了512个日志行的四个日志段,并示出它们的相关风险评分。图11还示出四个日志段的分类结果。可使用以下等式计算熵:-∑iPθ(yi|x)logPθ(yi|x)。首先,将日志文件分为(例如,512个日志行的)连续的日志段。当BLTM扫描日志段时,计算已知问题(例如softmax输出)的概率分布的熵,以对导致系统故障的日志段的风险进行评分,如图11所示。在图11中,白色阴影的日志段(例如,日志段1和2)被认为是低风险,而灰色阴影的日志段(例如,日志段3和4)被认为是高风险。在归一化之前,还考虑已知问题的概率分布。
图12示出图1200,所述图示出使用BLTM扫描示例日志文件的过程。更具体地,图1200示出相对于时间绘制的风险评分,其示出了示例日志文件的风险评分的变化。在此示例中,故障发生在上午6:40左右。BLTM正确地检测到风险,并且从发生故障的时间点开始更频繁地生成日志。
在一些实施方案中,在日志段的风险评分上使用滑动窗口平均过滤器,以找到指示系统故障的日志文件的关键区域。设置窗口w(例如,大小为2个日志段)以及阈值t。假设关键日志区域ca以空集开始。当窗口平均过滤器滑过日志文件的连续日志段时,如果在w中的日志段的平均风险评分高于t,则ca由w中的日志段延长。否则,完成当前ca并启动新的空ca。
总而言之,在一些实施方案中,目标是从日志文件中找到关键日志段,并找到此类关键日志段的特定问题。通过帮助定位指示系统故障的日志并找到系统故障的根本原因,这有利地改善服务请求分类。将预处理应用于聚类日志行并查找日志模式,然后将每个日志行转换为日志模式ID。通过使用日志模式ID作为特征,构建基于BERT的日志段分类模型BLTM。然后使用BLTM扫描日志文件,以使用一个或多个启发式规则计算每个日志段的风险评分。
图13示出日志文件的示例表1300,其中表1300包括案例ID、用户、装置、日志文件路径、日志开始时间和日志结束时间的列。在一些实施方案中,表1300可以被呈现为图形用户界面的一部分,其中所述表是可搜索的,并且其条目可选择用于使用AI扫描(例如,使用如上所述的BLTM)进行处理。图14示出在选择表1300中所示的日志中的给定日志之后产生的结果表1400。结果表1400包括用于已知问题参考编号、问题名称和AI评分或相关置信度的列,其按AI评分排序。
图15A至图15C分别示出视图1500、1505和1510,其以AI评分(百分比)对时间的交互图的形式示出BLTM的输出。如图15A中所示,视图1500示出AI评分对时间的图的基本视图。在图15A中,视图1500的区域以虚线轮廓1502示出,其包括用户可选择的界面特征,所述用户可选择的界面特征允许用户选择不同的问题以在下面的图中突出显示,以及使用不同的阈值来显示问题。如图15B中所示,视图1505示出用户可如何沿着图移动鼠标以在特定时间内突出显示弹出框1507中的详细信息。弹出框1507中的详细信息可包括在特定时间针对不同问题计算出的风险评分。如图15C中所示,视图1510示出用户可如何选择阈值(从图15A的视图1500中所示的虚线轮廓中的用户可选择的界面特征中选择),并且更新所述图以示出表示日志文件的关键区域的阴影区域1512。如果在阴影区域1512上方移动鼠标,则可显示详细信息(例如,在类似于视图1505中的1507的弹出框中),所述详细信息示出此关键区域日志段的已知问题的评分分布。
通过使用称为BLTM的日志段分类模型,说明性实施方案相对于常规方法提供许多优点,BLTM通过日志文件上的各种预处理使用最新语言模型(例如,BERT)建立,以确定日志文件的日志段的日志行或其它部分的“DNA”或日志模式ID。使用BLTM的softmax输出的熵对日志段的风险进行评分,并且使用滑动窗口平均过滤器从日志文件中检测关键区域。
应当理解,上文和本文其他地方描述的特定优点与特定说明性实施方案相关联,并且不需要在其他实施方案中存在。而且,如在图式中示出并且如上所述的特定类型的信息处理系统特征和功能性仅是示例性的,并且在其他实施方案中可使用众多其他布置。
现在将参考图16和图17更详细地描述处理平台的说明性实施方案,所述处理平台用于实现通过日志文件的关键区域的基于机器学习的识别进行服务请求补救的功能。尽管在系统100的上下文中进行描述,但在其他实施方案中,这些平台也可用于实现其他信息处理系统的至少部分。
图16示出包括云基础设施1600的示例性处理平台。云基础设施1600包括可用于实现图1中的信息处理系统100的至少一部分的物理和虚拟处理资源的组合。云基础设施1600包括使用虚拟化基础设施1604实现的多个虚拟机(VM)和/或容器集1602-1、1602-2、...、1602-L。虚拟化基础设施1604在物理基础设施1605上运行,并且说明性地包括一个或多个管理程序和/或操作系统级虚拟化基础设施。操作系统级虚拟化基础设施说明性地包括Linux操作系统或其他类型的操作系统的内核控制组。
云基础设施1600还包括在虚拟化基础设施1604的控制下在VM/容器集1602-1、1602-2、...、1602-L中的相应VM/容器集上运行的应用程序1610-1、1610-2、...、1610-L的集。VM/容器集1602可包括相应VM、一个或多个容器的相应集、或在VM中运行的一个或多个容器的相应集。
在图16的实施方案的一些实现方式中,VM/容器集1602包括使用包括至少一个管理程序的虚拟化基础设施1604实现的相应VM。管理程序平台可用于在虚拟化基础设施1604内实现管理程序,其中所述管理程序平台具有相关联虚拟基础设施管理系统。底层物理机器可包括一个或多个分布式处理平台,所述分布式处理平台包括一个或多个存储系统。
在图16的实施方案的其他实现方式中,VM/容器集1602包括使用提供操作系统级虚拟化功能性(例如,支持在裸金属主机上运行的Docker容器或在VM上运行的Docker容器)的虚拟化基础设施1604实现的相应容器。容器说明性地使用操作系统的相应内核控制组来实现。
如从上面显而易见,系统100的处理模块或其他部件中的一个或多个可各自在计算机、服务器、存储装置或其他处理平台元件上运行。给定此类元件可被视为在本文中更一般地称为“处理装置”的事物的示例。图16所示的云基础设施1600可表示一个处理平台的至少一部分。此种处理平台的另一示例是图17所示的处理平台1700。
在此实施方案中,处理平台1700包括系统100的一部分,并且包括通过网络1704彼此通信的表示为1702-1、1702-2、1702-3、...、1702-K的多个处理装置。
网络1704可包括任何类型的网络,举例来说包括全球计算机网络(例如互联网)、WAN、LAN、卫星网络、电话或有线网络、蜂窝网络、无线网络(例如WiFi或WiMAX网络),或这些和其他类型网络的各种部分或组合。
处理平台1700中的处理装置1702-1包括耦合至存储器1712的处理器1710。
处理器1710可包括微处理器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、中央处理单元(CPU)、图形处理单元(GPU)、张量处理单元(TPU)、视频处理单元(VPU)或其他类型的处理电路,以及此类电路元件的部分或组合。
存储器1712可以任何组合的形式包括随机存取存储器(RAM)、只读存储器(ROM)、闪存存储器或其他类型的存储器。存储器1712和本文所公开的其他存储器应被视为更一般地称为存储一个或多个软件程序的可执行程序代码的“处理器可读存储介质”的事物的说明性示例。
包括此类处理器可读存储介质的制品被认为是说明性实施方案。给定此类制品可包括例如存储阵列、存储盘或含有RAM、ROM、闪存存储器或其他电子存储器的集成电路,或广泛多种其他类型的计算机程序产品中的任一种。如本文所用的术语“制品”应被理解为排除瞬时的传播信号。可使用包括处理器可读存储介质的众多其他类型的计算机程序产品。
处理装置1702-1中还包括网络接口电路1714,其用于将处理装置与网络1704和其他系统部件介接,并且可包括常规收发器。
处理平台1700的其他处理装置1702假设以与针对图中的处理装置1702-1所示的方式类似的方式进行配置。
而且,仅通过实例呈现图中所示的特定处理平台1700,并且系统100可包括另外的或替代的处理平台,以及以任何组合的形式包括众多不同的处理平台,其中每个这样的平台包括一个或多个计算机、服务器、存储装置或其他处理装置。
例如,用于实现说明性实施方案的其他处理平台可包括融合基础设施。
因此应理解,在其他实施方案中,可使用另外的或替代的元件的不同布置。这些元件的至少一个子集可在公共处理平台上共同实现,或者每个这样的元件可在单独的处理平台上实现。
如先前所指示,如本文所公开的信息处理系统的部件可至少部分地以存储在存储器中并且由处理装置的处理器执行的一个或多个软件程序的形式来实现。例如,本文公开的用于通过日志文件的关键区域的基于机器学习的识别进行服务请求补救的功能的至少一部分说明性地以在一个或多个处理装置上运行的软件的形式实现。
应再次强调,上述实施方案仅出于说明目的而呈现。可使用许多变型和其他替代的实施方案。例如,所公开的技术可适用于多种多样其他类型的信息处理系统、存储系统、机器学习模型等。而且,在附图中说明性地示出的系统和装置元件的特定配置以及相关联的处理操作在其他实施方案中可能改变。此外,以上在描述说明性实施方案的过程中做出的各种假设也应被视为示例性的,而不是对本公开的要求或限制。所附权利要求的范围内的众多其他替代实施方案对于本领域技术人员将是显而易见的。

Claims (20)

1.一种设备,所述设备包括:
至少一个处理装置,所述至少一个处理装置包括耦合至存储器的处理器;
所述至少一个处理装置被配置为执行以下步骤:
接收与信息技术基础设施的给定资产相关联的服务请求;
获得与所述给定资产相关联的至少一个日志文件;
将所述至少一个日志文件分成多个日志段;
针对所述多个日志段中的每一个生成日志模式标识符集;
使用机器学习模型来确定所述多个日志段中的每一个的风险评分,所述机器学习模型将所述日志模式标识符集作为输入,并提供表征所述多个日志段中的相应日志段的风险的信息作为输出;
至少部分地基于所确定的风险评分来识别所述至少一个日志文件的一个或多个关键区域,所述一个或多个关键区域中的给定关键区域包括所述至少一个日志文件的所述多个日志段中的两个或更多个的序列,所述序列具有高于指定风险评分阈值的所确定风险评分;以及
分析所识别的一个或多个关键区域以确定要应用于所述给定资产以解决所述服务请求的一个或多个补救动作。
2.如权利要求1所述的设备,其中所述给定资产包括所述信息技术基础设施中的物理计算资源和虚拟计算资源中的至少一个。
3.如权利要求1所述的设备,其中将所述至少一个日志文件分为所述多个日志段包括将所述至少一个日志文件分为日志段,每个日志段包括所述至少一个日志文件的指定数量的日志行,并且其中所述日志模式标识符中的每一个表示所述日志行中的一个。
4.如权利要求3所述的设备,其中生成所述日志模式标识符集包括将所述日志行聚类以制定日志模式集;以及向所述日志行中的每一个分配与所述日志模式集中的一个相关联的标识符。
5.如权利要求4所述的设备,其中将所述日志行聚类以制定所述日志模式集包括利用一个或多个相似性度量来测量所述日志行之间的相似性。
6.如权利要求1所述的设备,其中针对所述多个日志段中的每个日志段确定风险评分至少部分地基于分析表征所述多个日志段中的相应日志段的所述风险的所述输出信息的熵。
7.如权利要求6所述的设备,其中所述机器学习模型包括基于Transformer的双向编码器表示(BERT)模型。
8.如权利要求7所述的设备,其中所述BERT模型利用掩蔽语言模型(MLM)进行预训练。
9.如权利要求7所述的设备,其中所述BERT模型利用下一句预测(NSP)进行预训练。
10.如权利要求7所述的设备,其中针对所述多个日志段中的给定日志段,所述BERT模型被配置为:
将所述给定日志段的所述日志模式标识符集嵌入到输入向量集中;
处理两个或更多个堆叠编码器的集中的所述输入向量集;以及
输出输出向量的序列,每个输出向量对应于所述给定日志段的所述日志模式标识符集中的一个。
11.如权利要求1所述的设备,其中识别所述至少一个日志文件的所述给定关键区域包括将滑动窗口过滤器应用于与所述至少一个日志文件的所述多个日志段的连续序列相关联的风险评分。
12.如权利要求11所述的设备,其中应用所述滑动窗滤波器包括:
设置包括至少两个日志段的窗口大小;
设置一个或多个阈值匹配标准;
当所述滑动窗口过滤器的窗口中的所述至少两个日志段满足所述一个或多个阈值匹配标准时,识别所述至少一个日志文件的所述给定关键区域的开始;以及
当所述滑动窗口过滤器的所述窗口中的所述至少两个日志段不满足所述一个或多个阈值匹配标准时,识别所述至少一个日志文件的所述给定关键区域的结束。
13.如权利要求12所述的设备,其中所述滑动窗口过滤器包括滑动窗口平均过滤器,并且其中所述一个或多个阈值匹配标准包括所述滑动窗口平均过滤器的所述窗口中的至少两段的指定平均风险评分。
14.如权利要求1所述的设备,其中分析所述所识别的一个或多个关键区域包括:
从问题知识库中识别一个或多个问题,这些问题具有影响所述信息技术基础设施中的所述给定资产的至少指定阈值可能性;以及
至少部分地基于从所述问题知识库中识别出的所述一个或多个问题,确定要应用于所述给定资产以解决所述服务请求的所述一个或多个补救动作。
15.一种计算机程序产品,其包括非暂时性处理器可读存储介质,所述非暂时性处理器可读存储介质在其中存储有一个或多个软件程序的程序代码,其中所述程序代码在由至少一个处理装置执行时致使所述至少一个处理装置执行以下步骤:
接收与信息技术基础设施的给定资产相关联的服务请求;
获得与所述给定资产相关联的至少一个日志文件;
将所述至少一个日志文件分成多个日志段;
针对所述多个日志段中的每一个生成日志模式标识符集;
使用机器学习模型来确定所述多个日志段中的每一个的风险评分,所述机器学习模型将所述日志模式标识符集作为输入,并提供表征所述多个日志段中的相应日志段的风险的信息作为输出;
至少部分地基于所确定的风险评分来识别所述至少一个日志文件的一个或多个关键区域,所述一个或多个关键区域中的给定关键区域包括所述至少一个日志文件的所述多个日志段中的两个或更多个的序列,所述序列具有高于指定风险评分阈值的所确定风险评分;以及
分析所识别的一个或多个关键区域以确定要应用于所述给定资产以解决所述服务请求的一个或多个补救动作。
16.如权利要求15所述的计算机程序产品,其中识别所述至少一个日志文件的所述给定关键区域包括将滑动窗口过滤器应用于与所述至少一个日志文件的所述多个日志段的连续序列相关联的风险评分。
17.如权利要求16所述的计算机程序产品,其中应用所述滑动窗口过滤器包括:
设置包括至少两个日志段的窗口大小;
设置一个或多个阈值匹配标准;
当所述滑动窗口过滤器的窗口中的所述至少两个日志段满足所述一个或多个阈值匹配标准时,识别所述至少一个日志文件的所述给定关键区域的开始;以及
当所述滑动窗口过滤器的所述窗口中的所述至少两个日志段不满足所述一个或多个阈值匹配标准时,识别所述至少一个日志文件的所述给定关键区域的结束。
18.一种方法,所述方法包括:
接收与信息技术基础设施的给定资产相关联的服务请求;
获得与所述给定资产相关联的至少一个日志文件;
将所述至少一个日志文件分成多个日志段;
针对所述多个日志段中的每一个生成日志模式标识符集;
使用机器学习模型来确定所述多个日志段中的每一个的风险评分,所述机器学习模型将所述日志模式标识符集作为输入,并提供表征所述多个日志段中的相应日志段的风险的信息作为输出;
至少部分地基于所确定的风险评分来识别所述至少一个日志文件的一个或多个关键区域,所述一个或多个关键区域中的给定关键区域包括所述至少一个日志文件的所述多个日志段中的两个或更多个的序列,所述序列具有高于指定风险评分阈值的所确定风险评分;以及
分析所识别的一个或多个关键区域以确定要应用于所述给定资产以解决所述服务请求的一个或多个补救动作;
其中所述方法由至少一个处理装置执行,所述至少一个处理装置包括耦合至存储器的处理器。
19.如权利要求18所述的方法,其中识别所述至少一个日志文件的所述给定关键区域包括将滑动窗口过滤器应用于与所述至少一个日志文件的所述多个日志段的连续序列相关联的风险评分。
20.如权利要求19所述的方法,其中应用所述滑动窗口过滤器包括:
设置包括至少两个日志段的窗口大小;
设置一个或多个阈值匹配标准;
当所述滑动窗口过滤器的窗口中的所述至少两个日志段满足所述一个或多个阈值匹配标准时,识别所述至少一个日志文件的所述给定关键区域的开始;以及
当所述滑动窗口过滤器的所述窗口中的所述至少两个日志段不满足所述一个或多个阈值匹配标准时,识别所述至少一个日志文件的所述给定关键区域的结束。
CN202110335351.8A 2021-03-29 2021-03-29 通过日志文件的关键区域的基于机器学习的识别进行服务请求补救 Pending CN115129679A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110335351.8A CN115129679A (zh) 2021-03-29 2021-03-29 通过日志文件的关键区域的基于机器学习的识别进行服务请求补救
US17/236,107 US11822424B2 (en) 2021-03-29 2021-04-21 Service request remediation with machine learning based identification of critical areas of log segments

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110335351.8A CN115129679A (zh) 2021-03-29 2021-03-29 通过日志文件的关键区域的基于机器学习的识别进行服务请求补救

Publications (1)

Publication Number Publication Date
CN115129679A true CN115129679A (zh) 2022-09-30

Family

ID=83364609

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110335351.8A Pending CN115129679A (zh) 2021-03-29 2021-03-29 通过日志文件的关键区域的基于机器学习的识别进行服务请求补救

Country Status (2)

Country Link
US (1) US11822424B2 (zh)
CN (1) CN115129679A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115617953A (zh) * 2022-11-15 2023-01-17 成都九洲电子信息系统股份有限公司 一种网络业务链路故障智能诊断方法及系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230359543A1 (en) * 2022-05-06 2023-11-09 Cox Communications, Inc. Systems and methods for proactive service health detection
CN116627708B (zh) * 2023-07-24 2023-09-19 湖南惟储信息技术有限公司 存储故障分析系统及其方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11727025B2 (en) * 2015-04-03 2023-08-15 Oracle International Corporation Method and system for implementing a log parser in a log analytics system
US11714397B2 (en) * 2019-02-05 2023-08-01 Samsung Display Co., Ltd. System and method for generating machine learning model with trace data
WO2020177854A1 (en) * 2019-03-04 2020-09-10 Huawei Technologies Co., Ltd. Automated root-cause analysis for distributed systems using tracing-data
US11610076B2 (en) * 2019-08-07 2023-03-21 Applied Materials, Inc. Automatic and adaptive fault detection and classification limits
US20210174253A1 (en) * 2019-12-10 2021-06-10 Triad National Security, Llc Analysis of system log data using machine learning
US11374953B2 (en) * 2020-03-06 2022-06-28 International Business Machines Corporation Hybrid machine learning to detect anomalies
US11620581B2 (en) * 2020-03-06 2023-04-04 International Business Machines Corporation Modification of machine learning model ensembles based on user feedback
US11860724B2 (en) * 2020-06-25 2024-01-02 Hewlett Packard Enterprise Development Lp Method and system for facilitating a self-healing network
US20220138556A1 (en) * 2020-11-04 2022-05-05 Nvidia Corporation Data log parsing system and method
US11977440B2 (en) * 2020-11-23 2024-05-07 Ford Global Technologies, Llc On-board feedback system for autonomous vehicles
US20220277176A1 (en) * 2021-02-26 2022-09-01 International Business Machines Corporation Log classification using machine learning
US11501013B1 (en) * 2021-07-09 2022-11-15 Sotero, Inc. Autonomous machine learning methods for detecting and thwarting malicious database access

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115617953A (zh) * 2022-11-15 2023-01-17 成都九洲电子信息系统股份有限公司 一种网络业务链路故障智能诊断方法及系统

Also Published As

Publication number Publication date
US20220308952A1 (en) 2022-09-29
US11822424B2 (en) 2023-11-21

Similar Documents

Publication Publication Date Title
US20190354810A1 (en) Active learning to reduce noise in labels
US11822424B2 (en) Service request remediation with machine learning based identification of critical areas of log segments
EP3467723B1 (en) Machine learning based network model construction method and apparatus
JP6371870B2 (ja) 機械学習サービス
US10372984B2 (en) Shape-based segmentation using hierarchical image representations for automatic training data generation and search space specification for machine learning algorithms
US11146580B2 (en) Script and command line exploitation detection
US10504037B1 (en) Systems and methods for automated document review and quality control
US20210166105A1 (en) Method and system for enhancing training data and improving performance for neural network models
US11175829B2 (en) Automatic identification of workloads contributing to behavioral changes in storage systems using machine learning techniques
US20200074277A1 (en) Fuzzy input for autoencoders
US11237740B2 (en) Automatically determining sizing configurations for storage components using machine learning techniques
US20230306206A1 (en) Generating rules for managing an infrastructure from natural-language expressions
US11429285B2 (en) Content-based data storage
US20210406269A1 (en) Data storage selection based on data importance
US11481626B2 (en) Generating attribute-based samples
US11334607B2 (en) Identifying key words within a plurality of documents
US11853702B2 (en) Self-supervised semantic shift detection and alignment
US20240037439A1 (en) Quantum system selection via coupling map comparison
US20240152442A1 (en) Controller failure prediction and troubleshooting
US20240152557A1 (en) Entity explanation in data management
US11615260B2 (en) Systems and methods for enforcing constraints in character recognition
US11150971B1 (en) Pattern recognition for proactive treatment of non-contiguous growing defects
US11991050B2 (en) Drift detection in edge devices via multi-algorithmic deltas
US20240070183A1 (en) Text mining using a relatively lower dimension representation of documents
US20220101162A1 (en) Systems and methods for enforcing constraints to predictions

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination