CN116225848A - 日志监测方法、装置、设备和介质 - Google Patents
日志监测方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN116225848A CN116225848A CN202310228251.4A CN202310228251A CN116225848A CN 116225848 A CN116225848 A CN 116225848A CN 202310228251 A CN202310228251 A CN 202310228251A CN 116225848 A CN116225848 A CN 116225848A
- Authority
- CN
- China
- Prior art keywords
- log file
- log
- event
- target
- text
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000012544 monitoring process Methods 0.000 title claims abstract description 46
- 238000004364 calculation method Methods 0.000 claims description 29
- 238000011084 recovery Methods 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 19
- 230000002159 abnormal effect Effects 0.000 claims description 18
- 238000012806 monitoring device Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 7
- 238000004904 shortening Methods 0.000 claims description 5
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 239000000243 solution Substances 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 238000012423 maintenance Methods 0.000 description 13
- 230000015654 memory Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000006854 communication Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000012549 training Methods 0.000 description 7
- 238000012800 visualization Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000001364 causal effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000011550 stock solution Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种日志监测方法,涉及人工智能领域。该方法包括:获取计算引擎运行所生成的日志文件;基于所述日志文件获取长文本内容,所述长文本内容包括至少两条日志的文本;对所述长文本内容进行关键信息抽取,获得K个短文本特征,K大于或等于1;将所述K个短文本特征输入预先训练的语言模型,获得所述语言模型输出的所述计算引擎的运行状态。本公开还提供了一种日志监测装置、设备、存储介质和程序产品。
Description
技术领域
本公开涉及人工智能领域,更具体地,涉及一种日志监测方法、装置、设备、介质和程序产品。
背景技术
智能运维是将人工智能加入运维系统中,基于大数据和机器学习,从不同数据源中采集海量数据进行实时或离线分析,使之主动性、人性化和动态可视化,增强传统运维的能力。
数据是智能运维具体实施的基础,因此可以建立运维大数据平台,采集、分析并存储运维数据。以日志数据为例,其中包含了智能运维所针对的硬件和软件对象的运行情况,可以进行监测以达到让故障发现、处理和排查的效率得到迅速提升效果,从而有效确保业务稳定运行的目的。相关技术中,可以利用时间序列异常检测方案,在海量基于时间序列的日志信息中,实现异常检测。
在实现本公开发明构思的过程中,发明人发现相关技术中至少存在以下问题:由于日志中的数据量较大,日志内容较多,超出了模型处理数据的最大长度限制,可能存在对于日志中的长文本识别不精准的问题。
发明内容
鉴于上述问题,本公开提供了日志监测方法、装置、设备、介质和程序产品。
本公开实施例的一个方面,提供了一种日志监测方法,包括:获取计算引擎运行所生成的日志文件;基于所述日志文件获取长文本内容,所述长文本内容包括至少两条日志的文本;对所述长文本内容进行关键信息抽取,获得K个短文本特征,K大于或等于1;将所述K个短文本特征输入预先训练的语言模型,获得所述语言模型输出的所述计算引擎的运行状态。
根据本公开的实施例,所述计算引擎包括分布式计算引擎,所述分布式计算引擎运行生成N个事件日志文件,N大于或等于2;其中,所述日志文件包括所述N个事件日志文件,所述获取计算引擎运行所生成的日志文件包括:从所述N个事件日志文件中确定待监测事件的目标日志文件;获取所述目标日志文件,及与其具有事件关联关系的至少一个关联日志文件。
根据本公开的实施例,所述事件关联关系包括与所述待监测事件来自相同服务器,获取所述至少一个关联日志文件包括:若所述目标日志文件中具有表征运行错误的日志内容,确定所述分布式计算引擎中运行所述待监测事件的目标服务器;确定所述目标服务器生成所述目标日志文件的时间;根据生成所述目标日志文件的时间,获取所述目标服务器在预设时间段内的日志文件,作为所述至少一个关联日志文件。
根据本公开的实施例,所述事件关联关系包括与所述待监测事件属于相同运行作业,获取所述至少一个关联日志文件包括:确定所述相同运行作业下与所述待监测事件具有顺序关系的至少一个关联事件;将每个所述关联事件的事件日志文件作为所述至少一个关联日志文件。
根据本公开的实施例,所述基于所述日志文件获取长文本内容包括:将所述目标日志文件及所述至少一个关联日志文件中的全部内容作为所述长文本内容;和/或所述对所述长文本内容进行关键信息抽取,获得短文本特征包括:将所述长文本内容拆分为S个文本块,其中每个文本块包括至少一个字符,S大于或等于2;利用预先训练的评分机模型对所述每个文本块进行打分;根据打分结果从所述S个文本块中确定部分文本块,来得到所述K个短文本特征。
根据本公开的实施例,所述计算引擎的运行状态包括异常运行状态,在所述语言模型输出所述异常运行状态时,所述方法还包括:将所述目标日志文件与自恢复手册表中的至少一个历史日志文件分别进行相似度计算;确定具有最高相似度的目标历史日志文件,以及所述目标历史日志文件所对应的解决方案;执行所述解决方案进行自恢复,其中,所述解决方案包括至少一条自动化恢复步骤。
根据本公开的实施例,所述将所述目标日志文件与自恢复手册表中的至少一个历史日志文件分别进行相似度计算包括:获取每个所述历史日志文件的Q个历史短文本特征,Q大于或等于1,Q的值与K的值相同或不同;利用协同过滤算法对所述K个短文本特征及每个所述历史日志文件的Q个历史短文本特征进行相似度计算。
本公开实施例的另一方面提供了一种日志监测装置,包括:日志获取模块,用于获取计算引擎运行所生成的日志文件;长文本获取模块,用于基于所述日志文件获取长文本内容,所述长文本内容包括至少两条日志的文本;缩短处理模块,用于对所述长文本内容进行关键信息抽取,获得K个短文本特征,K大于或等于1;运行状态输出模块,用于将所述K个短文本特征输入预先训练的语言模型,获得所述语言模型输出的所述计算引擎的运行状态。
所述日志监测装置包括分别用于执行如上所述任意一项所述的方法的各个步骤的模块。
本公开实施例的另一方面提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行如上所述的方法。
本公开实施例的另一方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如上所述的方法。
本公开实施例的另一方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上所述的方法。
上述一个或多个实施例具有如下有益效果:对计算引擎运行所生成的日志文件进行分析判断,针对日志文件当中可能存在的长文本问题,使用关键信息抽取的方式缩小处理以获得K个短文本特征,再通过语言模型进行分类,输出预测的计算引擎的运行状态,进一步提升对日志分类判断的精确度。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的日志监测方法的应用场景图;
图2示意性示出了根据本公开实施例的日志监测方法的流程图;
图3示意性示出了根据本公开实施例的获取日志文件的流程图;
图4示意性示出了根据本公开实施例的获取关联日志文件的流程图;
图5示意性示出了根据本公开另一实施例的获取关联日志文件的流程图;
图6示意性示出了根据本公开实施例的得到K个短文本特征的流程图;
图7示意性示出了根据本公开实施例的自恢复的流程图;
图8示意性示出了根据本公开实施例的相似度计算的流程图;
图9示意性示出了根据本公开实施例的日志监测装置的结构框图;
图10示意性示出了根据本公开另一实施例的Spark日志监控分析装置的结构框图;
图11示意性示出了根据本公开实施例的故障自恢复模块的运行架构图;
图12示意性示出了根据本公开实施例的可视化模块的前端示意图;以及
图13示意性示出了根据本公开实施例的适于实现日志监测方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
以BERT模型举例,由于二次增加的内存和时间消耗,BERT无法处理长文本。如通过滑动窗口分割文本或简化Transformer解决这个问题,但是都会受到长期关注不足或需要定制CUDA(Compute Unified Device Architecture)内核。
本公开实施例提供了日志监测方法,能够对计算引擎运行所生成的日志文件进行分析判断,针对日志文件当中可能存在的长文本问题,使用关键信息抽取的方式缩小处理以获得K个短文本特征,再通过语言模型进行分类,输出准确预测的计算引擎的运行状态,进一步提升对日志分类判断的精确度。
图1示意性示出了根据本公开实施例的日志监测方法的应用场景图。但本公开并不限于此。
如图1所示,根据该实施例的应用场景100可以包括计算引擎110、终端设备121、122、123、监测服务器130和网络140。网络140用以在终端设备121、122、123和服务器105之间提供通信链路的介质。网络140可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。计算引擎110可以包括一台或多台服务器,在分布式计算架构下包括服务器集群,如节点服务器111、112和113,及更多节点服务器。
用户可以使用终端设备121、122、123通过网络140与监测服务器130交互,以接收或发送消息等。终端设备121、122、123上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备121、122、123可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
监测服务器130或计算引擎中的任一台服务器可以是提供各种服务的服务器,例如对用户利用终端设备121、122、123所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
监测服务器130可以部署运维大数据平台,获得计算引擎110生成的日志文件,并执行本公开实施例的日志监测方法。相应地,本公开实施例所提供的日志监测装置一般可以设置于监测服务器130中。本公开实施例所提供的日志监测方法也可以由不同于监测服务器130且能够与终端设备121、122、123和/或计算引擎110通信的服务器或服务器集群执行。相应地,本公开实施例所提供的日志监测装置也可以设置于不同于监测服务器130且能够与终端设备121、122、123和/或计算引擎110通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络、监测服务器和计算引擎的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
以下将基于图1描述的场景,通过图2~图8对本公开实施例的日志监测方法进行详细描述。
图2示意性示出了根据本公开实施例的日志监测方法的流程图。
如图2所示,该实施例的日志监测方法包括操作S210~操作S240。
在操作S210,获取计算引擎运行所生成的日志文件。
示例性地,计算引擎就是专门处理数据的硬件和软件程序。参照图1,监测服务器130可以实时或异步采集计算引擎110生成的日志文件。其中,监测服务器130可以远程采集计算引擎110的日志文件,例如可以具有分布在不同数据中心的多个计算引擎110,监测服务器130可以部署于上述不同数据中心之外的其他地方。可以理解,监测服务器130可以本地采集计算引擎110的日志文件。
在操作S220,基于日志文件获取长文本内容,长文本内容包括至少两条日志的文本。
示例性地,每个日志文件包括多条日志,长文本内容是基于日志文件中的各条日志内容得到的,其中包括计算引擎运行的状态信息。
在操作S230,对长文本内容进行关键信息抽取,获得K个短文本特征,K大于或等于1。
示例性地,例如可以使用LDA(Latent Dirichlet Allocation)或其他文档主题生成模型,对长文本内容进行缩短概括,保留关键信息输出主题信息,以此得到K个短文本特征。
在一些实施例中,可以基于CogLTX方法进行关键信息抽取,获得K个短文本特征,在下文详细论述。
在操作S240,将K个短文本特征输入预先训练的语言模型,获得语言模型输出的计算引擎的运行状态。
示例性地,预先训练包括预训练和微调的过程,微调阶段可以使用历史日志文件实现。语言模型可以包括BERT模型、ELMo模型或XLNet模型等。运行状态可以包括正常作业状态、运行时长异常作业状态和中断作业状态等。
根据本公开的实施例,对计算引擎运行所生成的日志文件进行分析判断,针对日志文件当中可能存在的长文本问题,使用关键信息抽取的方式缩小处理以获得K个短文本特征,再通过语言模型进行分类,输出准确预测的计算引擎的运行状态,进一步提升对日志分类判断的精确度。
图3示意性示出了根据本公开实施例的获取日志文件的流程图。
在本公开一些实施例中,计算引擎包括分布式计算引擎,分布式计算引擎运行生成N个事件日志文件,N大于或等于2。如图3所示,在操作S210获取计算引擎运行所生成的日志文件包括操作S310~操作S320。
在操作S310,从N个事件日志文件中确定待监测事件的目标日志文件。
分布式计算引擎可以包括spark、Flink和hadoop等分布式集群架构的计算引擎。以spark举例,每次运行作业可以拆分成多个事件并行计算,其中至少两个事件具有作业逻辑上的顺序关系。每个事件可以对应于一个事件日志文件。待监测事件可以是当前正在运行的事件,其对应的事件日志文件即为目标日志文件。
在操作S320,获取目标日志文件,及与其具有事件关联关系的至少一个关联日志文件。
示例性地,事件关联关系包括事件之间的事件实体属性、发生时间、来源、从属作业关系、因果关系、时序关系和逻辑组合等至少一种关系。
根据本公开的实施例,在分布式计算引擎中,各个事件之间存在联系,故可以通过对多个事件的日志文件统一分析,来判断计算引擎的运行状态,提高准确率。
图4示意性示出了根据本公开实施例的获取关联日志文件的流程图。
如图4所示,在操作S320获取关联日志文件包括操作S410~操作S430。其中,事件关联关系包括与待监测事件来自相同服务器。
在操作S410,若目标日志文件中具有表征运行错误的日志内容,确定分布式计算引擎中运行待监测事件的目标服务器。
目标服务器是分布式计算引擎中的任一个节点服务器。例如日志中出现egor,表示发生了错误事件可能影响正常使用,可以利用错误日志进行分析确定对应的事件ID,并由此查询出对应的目标服务器。
在操作S420,确定目标服务器生成目标日志文件的时间。
例如日志文件可以包括时间戳、用户信息和事件信息等内容,可以通过时间戳来确定生成时间。
在操作S430,根据生成目标日志文件的时间,获取目标服务器在预设时间段内的日志文件,作为至少一个关联日志文件。
预设时间段根据目标服务器生成目标日志文件的时间确定,例如之前和/或之后的10min(仅为示例)。该预设时间段内的日志文件可能对应于同一作业的多个事件,或多个作业的不同事件。将该些日志文件作为关联日志文件,能够判断出异常状态的根因是事件本身、作业问题,还是目标服务器的运行环境等问题。
图5示意性示出了根据本公开另一实施例的获取关联日志文件的流程图。
如图5所示,在操作S320获取关联日志文件包括操作S510~操作S520。其中,事件关联关系包括与待监测事件属于相同运行作业。
在操作S510,确定相同运行作业下与待监测事件具有顺序关系的至少一个关联事件。
例如在使用spark部署运行作业时,将一个计算任务按照计算规则分解为若干子任务,这些子任务之间根据逻辑关系构建成有向无环图。一个计算任务即为一个运行作业,可以拆分成多个事件(即若干子任务),并分配计算资源运行。每个事件具有对应的事件ID,可以根据事件ID顺序确定顺序关系,例如待监测事件之前和/或之后的至少一个事件。
在操作S520,将每个关联事件的事件日志文件作为至少一个关联日志文件。
根据本公开的实施例,以相同运行作业作为基础,寻找具有关联的其他事件,并以此确定出关联日志文件,能够给后续语言模型进行日志分析输入更全面的信息,从而输出更准确的运行状态预测结果。
图6示意性示出了根据本公开实施例的得到K个短文本特征的流程图。
如图6所示,该实施例的得到K个短文本特征包括操作S610~操作S640。操作S610是操作S220的其中一个实施例,操作S620~操作S640是操作S230的其中一个实施例。
在操作S610,将目标日志文件及至少一个关联日志文件中的全部内容作为长文本内容。
示例性地,多个日志文件的全部内容较多,超出了语言模型的输入限制,故认为是长文本内容。在另一些实施例中,可以对上述全部内容进行数据清洗和处理,例如清除与运行状态无关的日志内容,将清洗后的内容作为长文本内容。
在操作S620,将长文本内容拆分为S个文本块,其中每个文本块包括至少一个字符,S大于或等于2。
CogLTX思想的基本假设是“对于大多数自然语言处理任务来说,文本中的几个关键句子存储了足够和必要的信息来完成任务”。假设存在一个由长文本x中的一些句子组成的短文本z,满足公式(1)。
reasoner(x+)≈reasoner(z+) (1)
其中x+和z+是BERT模型的输入数据,reasoner表示推理结果。
关键短文本z可以基于x中的若干块(即S个文本块)获得。满足len(z+)≤L(BERT模型输入数据的长度限制)。z中的所有块都会自动排序,以保持其在x中的原始相对顺序。在CogLTX方法中,MemRecall和两个BERT模型联合训练。MemRecall是利用判断模型检索关键文本块的算法,在训练过程中将关键短文本送入BERT模型(其中一个BERT模型,即操作S240中的语言模型)中完成任务。
在操作S630,利用预先训练的评分机模型对每个文本块进行打分。
评分机模型是上述两个BERT模型中的另一个BERT模型,用于为每个文本块标记评分相关性。具体而言,每个块分配一个粗关联评分。得分最高的文本块插入z。接下来再次赋予每个块一个相关性评分,将所有数据处理完毕,直至得到的相关性评分值符合预设条件为止。超过相关性阈值的文本块可视为长文本的x的等价表示。在训练和使用过程中,皆可以使用上述评分过程确定打分。
在操作S640,根据打分结果从S个文本块中确定部分文本块,来得到K个短文本特征。K个短文本特征可以是长文本内容中的关键词或句子原文,也可以是新生成的短文本。
根据本公开的实施例,通过MemRecall检索关键文本块,基于打分结果完成关键信息抽取,既能够缩小长文本内容满足语言模型的输入,又能够提高对日志文件的分析速度和准确性。
在一些实施例中,每个BERT模型可以采用无监督的方式进行训练,具体任务是:MLM(Masked Language Model)和NSP(Next Sentence Prediction)。例如采用MLM任务进行预训练,并采用深层双向的Transformer组件来构建模型,因此,最终生成融合有左右上下文的深层双向语言表征。
在另一些实施例中,BERT模型本身存在参数效率低、参数规模大的问题,可以采用factorized embedding parameterization(词嵌入的因式分解)和cross-layerparameter sharing(交叉层的参数共享)的方式减少模型的规模参数,以提升训练速度。
图7示意性示出了根据本公开实施例的自恢复的流程图。
其中,计算引擎的运行状态包括异常运行状态,在语言模型输出异常运行状态时,如图7所示,该实施例的自恢复包括操作S710~操作S730。
在操作S710,将目标日志文件与自恢复手册表中的至少一个历史日志文件分别进行相似度计算。
例如采用LCS(Longest Common Subsequence,最长公共子串)算法,运用动态规划方法对日志文件之间进行逐行对比,来检测相似文件。例如还可以将日志文件的相似性计算转换为集合相似性计算,如基于shingle的计算方法和基于bloom filter的计算方法,为目标日志文件与对应计算的历史日志文件分别组特征值,以特征值集合来计算相似性。还可以使用协同过滤算法计算相似度,在下文进一步介绍。
在操作S720,确定具有最高相似度的目标历史日志文件,以及目标历史日志文件所对应的解决方案。
每个历史日志文件可以是在计算引擎出现错误信息时保存的,也可以是同步的网络或第三方厂家提供的计算引擎出错的日志文件,并配置有对应的解决方案。
在操作S730,执行解决方案进行自恢复,其中,解决方案包括至少一条自动化恢复步骤。
示例性地,自动化恢复步骤包括利用代码编程实现的自动化执行操作,例如重提、调整计算资源或重启节点服务器等。
根据本公开的实施例,在出现异常状态时,其故障根因可能历史上已经出现过,且在出现相同故障时,基本上日志文件中的内容是大致相同的,因此选择相似度最高的历史日志文件,并以此执行该历史日志文件对应的解决方案,可以实现及时且高效处理异常的效果。
图8示意性示出了根据本公开实施例的相似度计算的流程图。
如图8所示,在操作S710进行相似度计算包括操作S810~操作S820。
在操作S810,获取每个历史日志文件的Q个历史短文本特征,Q大于或等于1,Q的值与K的值相同或不同。
示例性地,可以参照图1~图6,与操作S610~操作S640相同的方式获得Q个历史短文本特征。
在操作S820,利用协同过滤算法对K个短文本特征及每个历史日志文件的Q个历史短文本特征进行相似度计算。
示例性地,协同过滤算法可以用于推荐场景,将历史日志文件作为“用户”,短文本特征作为用户属性,将解决方案作为待推荐的“物品”,实现解决方案推荐的效果。
在一些实施例中,自恢复手册表用于记录不同历史日志文件的模型特征及其对应的解决方案,可供业务录入新增日志模型特征的解决方案,也可以作为可视化模块展示存量解决方案的数据源。自恢复手册表的数据结构如表1所示。
表1
上述日志段模型特征包括Q个历史短文本特征。例如若出现非正常作业的BERT模型输出(即异常状态),则获取BERT模型的输入以及自恢复手册表的存量模型特征。使用协同过滤算法求出非正常作业的BERT模型特征与存量模型特征的相似度(例如使用欧氏距离法、皮尔逊相关系数或余弦相似度等求解),筛选出存量模型中相似度最高的模型特征。解析相似度最高的模型特征对应的解决方案,将解决方案转换为实际系统操作。可以理解,每个历史日志文件可以对应一个或多个解决方案。
根据本公开的实施例,无论是目标日志文件还是历史日志文件,都是将缩短处理后的短文本特征进行对比,能够体现出日志内容的关键信息,且计算量小,效率更高。
基于上述日志监测方法,本公开还提供了日志监测装置。以下将结合图9对日志监测装置进行详细描述。
图9示意性示出了根据本公开实施例的日志监测装置的结构框图。
如图9所示,该实施例的日志监测装置900包括日志获取模块910、长文本获取模块920、缩短处理模块930和运行状态输出模块940。
日志获取模块910可以执行操作S210,用于获取计算引擎运行所生成的日志文件。
在一些实施例中,日志获取模块910还可以执行操作S310~操作S320,操作S410~操作S430,操作S510~操作S520,在此不做赘述。
长文本获取模块920可以执行操作S220,用于基于日志文件获取长文本内容,长文本内容包括至少两条日志的文本。
缩短处理模块930可以执行操作S230,用于对长文本内容进行关键信息抽取,获得K个短文本特征,K大于或等于1。
在一些实施例中,日志获取模块910还可以执行操作S620~操作S640,在此不做赘述。
运行状态输出模块940可以执行操作S240,用于将K个短文本特征输入预先训练的语言模型,获得语言模型输出的计算引擎的运行状态。
在一些实施例中,日志监测装置900还可以包括自恢复模块,该模块可以执行操作S710~操作S730,操作S810~操作S820,在此不做赘述。
日志监测装置900包括分别用于执行如上图2~图8描述的任意一个实施例的各个步骤的模块。
图10示意性示出了根据本公开另一实施例的Spark日志监控分析装置的结构框图。图11示意性示出了根据本公开实施例的故障自恢复模块的运行架构图。图12示意性示出了根据本公开实施例的可视化模块的前端示意图。
如图10所示,该实施例的Spark日志监控分析装置1000包括日志分析模块1010、故障自恢复模块1020和可视化模块1030。Spark日志监控分析装置1000是日志监测装置900的其中一个实施例。
首先,日志分析模块1010用于从Spark批量日志输出中获取日志信息,使用基于一种参数优化的CogLTX思想的BERT模型(即上述MemRecall和两个BERT模型)对日志内容进行模型处理最终输出分类结果,将作业相关信息(作业名、作业开始时间、作业结束时间、作业运行时长、作业运行状态、处理数据量级别、数据处理的服务器IP)记录在数据库的作业运行状态明细表中。
在一些实施例中,作业运行状态明细表的数据结构如表2所示。
表2
接着,获取非正常作业并判断其已通过自恢复方案处理的次数是否大于规定次数(例如预设为3),若超过设定的阈值,则将该作业定义为需手工处理的作业,并其相关信息传输至可视化模块1030,由运维人员手工维护其处理方案,并将该日志及其对应处理方案记录在数据库的自恢复手册表中。若不超过设定的阈值,则传输至自恢复模块1020。
然后,参照图10和图11,故障自恢复模块1020用于接收非正常作业的BERT模型输出,并获取BERT模型的输入(短文本特征),结合数据库的自恢复手册表当中的存量日志及解决方案,使用协同过滤算法,找出当前数据库中相似度最高的日志及其解决方案,将解决方案解析并应用于对应的非正常作业,例如解决方案可以包括重提作业、调整CPU资源参数和调整内存资源参数等。另外,可以继续通过日志分析模块1010观察spark后续日志输出。
最后,可视化模块1010用于提供运维人员根据实际需求查询系统当前的批量运行情况功能,可自定义可视化界面信息,如:当前运行作业状态展示、存量自恢复方案展示和作业自恢复情况查询等。参照图12,可以将数据库当中的作业运行状态明细表、自恢复手册表当中的对当前、历史作业的运行情况以图形界面的形式可视化,运维人员可根据实际需求进行个性化的展示(当前运行作业状态展示、存量自恢复方案展示、作业自恢复情况查询等)。
根据本公开的实施例,针对现有SPARK长日志分析不准确的问题,提出了基于参数优化的CogLTX思想的BERT模型,在缩短BERT模型训练时间的同时提升了日志的分析准确度。提出了故障自恢复方案,加快问题批量的处理时效,并将日志的监控情况实时通过可视化界面展示。能够方便运维人员更加直观了解异常的情况及对应的处理方案,减少运维人员的问题处理时间以保障系统的稳定运行。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
根据本公开的实施例,日志监测装置900或Spark日志监控分析装置1000中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。
根据本公开的实施例,日志监测装置900或Spark日志监控分析装置1000中的至少一个模块可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,日志监测装置900或Spark日志监控分析装置1000中的至少一个模块可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图13示意性示出了根据本公开实施例的适于实现日志监测方法的电子设备的方框图。
如图13所示,根据本公开实施例的电子设备1300包括处理器1301,其可以根据存储在只读存储器(ROM)1302中的程序或者从存储部分1308加载到随机访问存储器(RAM)1303中的程序而执行各种适当的动作和处理。处理器1301例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1301还可以包括用于缓存用途的板载存储器。处理器1301可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1303中,存储有电子设备1300操作所需的各种程序和数据。处理器1301、ROM 1302以及RAM 1303通过总线1304彼此相连。处理器1301通过执行ROM 1302和/或RAM1303中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM 1302和RAM 1303以外的一个或多个存储器中。处理器1301也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1300还可以包括输入/输出(I/O)接口1305,输入/输出(I/O)接口1305也连接至总线1304。电子设备1300还可以包括连接至I/O接口1305的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1306。包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1307。包括硬盘等的存储部分1308。以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的。也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1302和/或RAM 1303和/或ROM 1302和RAM 1303以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的方法。
在该计算机程序被处理器1301执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1309被下载和安装,和/或从可拆卸介质1311被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被处理器1301执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (11)
1.一种日志监测方法,包括:
获取计算引擎运行所生成的日志文件;
基于所述日志文件获取长文本内容,所述长文本内容包括至少两条日志的文本;
对所述长文本内容进行关键信息抽取,获得K个短文本特征,K大于或等于1;
将所述K个短文本特征输入预先训练的语言模型,获得所述语言模型输出的所述计算引擎的运行状态。
2.根据权利要求1所述的方法,其中:
所述计算引擎包括分布式计算引擎,所述分布式计算引擎运行生成N个事件日志文件,N大于或等于2;
其中,所述日志文件包括所述N个事件日志文件,所述获取计算引擎运行所生成的日志文件包括:
从所述N个事件日志文件中确定待监测事件的目标日志文件;
获取所述目标日志文件,及与其具有事件关联关系的至少一个关联日志文件。
3.根据权利要求2所述的方法,其中,所述事件关联关系包括与所述待监测事件来自相同服务器,获取所述至少一个关联日志文件包括:
若所述目标日志文件中具有表征运行错误的日志内容,确定所述分布式计算引擎中运行所述待监测事件的目标服务器;
确定所述目标服务器生成所述目标日志文件的时间;
根据生成所述目标日志文件的时间,获取所述目标服务器在预设时间段内的日志文件,作为所述至少一个关联日志文件。
4.根据权利要求2所述的方法,其中,所述事件关联关系包括与所述待监测事件属于相同运行作业,获取所述至少一个关联日志文件包括:
确定所述相同运行作业下与所述待监测事件具有顺序关系的至少一个关联事件;
将每个所述关联事件的事件日志文件作为所述至少一个关联日志文件。
5.根据权利要求2所述的方法,其中,
所述基于所述日志文件获取长文本内容包括:
将所述目标日志文件及所述至少一个关联日志文件中的全部内容作为所述长文本内容;和/或
所述对所述长文本内容进行关键信息抽取,获得短文本特征包括:
将所述长文本内容拆分为S个文本块,其中每个文本块包括至少一个字符,S大于或等于2;
利用预先训练的评分机模型对所述每个文本块进行打分;
根据打分结果从所述S个文本块中确定部分文本块,来得到所述K个短文本特征。
6.根据权利要求2所述的方法,其中,所述计算引擎的运行状态包括异常运行状态,在所述语言模型输出所述异常运行状态时,所述方法还包括:
将所述目标日志文件与自恢复手册表中的至少一个历史日志文件分别进行相似度计算;
确定具有最高相似度的目标历史日志文件,以及所述目标历史日志文件所对应的解决方案;
执行所述解决方案进行自恢复,其中,所述解决方案包括至少一条自动化恢复步骤。
7.根据权利要求6所述的方法,其中,所述将所述目标日志文件与自恢复手册表中的至少一个历史日志文件分别进行相似度计算包括:
获取每个所述历史日志文件的Q个历史短文本特征,Q大于或等于1,且Q的值与K的值相同或不同;
利用协同过滤算法对所述K个短文本特征及每个所述历史日志文件的Q个历史短文本特征进行相似度计算。
8.一种日志监测装置,包括:
日志获取模块,用于获取计算引擎运行所生成的日志文件;
长文本获取模块,用于基于所述日志文件获取长文本内容,所述长文本内容包括至少两条日志的文本;
缩短处理模块,用于对所述长文本内容进行关键信息抽取,获得K个短文本特征,K大于或等于1;
运行状态输出模块,用于将所述K个短文本特征输入预先训练的语言模型,获得所述语言模型输出的所述计算引擎的运行状态。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~7中任一项所述的方法。
11.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310228251.4A CN116225848A (zh) | 2023-03-03 | 2023-03-03 | 日志监测方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310228251.4A CN116225848A (zh) | 2023-03-03 | 2023-03-03 | 日志监测方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116225848A true CN116225848A (zh) | 2023-06-06 |
Family
ID=86574915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310228251.4A Pending CN116225848A (zh) | 2023-03-03 | 2023-03-03 | 日志监测方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116225848A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627771A (zh) * | 2023-07-18 | 2023-08-22 | 中移(苏州)软件技术有限公司 | 日志采集方法、装置、电子设备和可读存储介质 |
-
2023
- 2023-03-03 CN CN202310228251.4A patent/CN116225848A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627771A (zh) * | 2023-07-18 | 2023-08-22 | 中移(苏州)软件技术有限公司 | 日志采集方法、装置、电子设备和可读存储介质 |
CN116627771B (zh) * | 2023-07-18 | 2023-10-13 | 中移(苏州)软件技术有限公司 | 日志采集方法、装置、电子设备和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10977293B2 (en) | Technology incident management platform | |
US10387899B2 (en) | Systems and methods for monitoring and analyzing computer and network activity | |
US20170109657A1 (en) | Machine Learning-Based Model for Identifying Executions of a Business Process | |
US11429405B2 (en) | Method and apparatus for providing personalized self-help experience | |
US20170109676A1 (en) | Generation of Candidate Sequences Using Links Between Nonconsecutively Performed Steps of a Business Process | |
US20170109668A1 (en) | Model for Linking Between Nonconsecutively Performed Steps in a Business Process | |
US20170109667A1 (en) | Automaton-Based Identification of Executions of a Business Process | |
US20170109636A1 (en) | Crowd-Based Model for Identifying Executions of a Business Process | |
US20170109639A1 (en) | General Model for Linking Between Nonconsecutively Performed Steps in Business Processes | |
EP3916584A1 (en) | Information processing method and apparatus, electronic device and storage medium | |
US11809505B2 (en) | Method for pushing information, electronic device | |
CN113986864A (zh) | 日志数据处理方法、装置、电子设备及存储介质 | |
US20170109638A1 (en) | Ensemble-Based Identification of Executions of a Business Process | |
US20230376372A1 (en) | Multi-modality root cause localization for cloud computing systems | |
US20220318681A1 (en) | System and method for scalable, interactive, collaborative topic identification and tracking | |
CN114138977A (zh) | 日志处理方法、装置、计算机设备和存储介质 | |
CN116225848A (zh) | 日志监测方法、装置、设备和介质 | |
US20170109640A1 (en) | Generation of Candidate Sequences Using Crowd-Based Seeds of Commonly-Performed Steps of a Business Process | |
US11822578B2 (en) | Matching machine generated data entries to pattern clusters | |
Jan et al. | A statistical machine learning approach for ticket mining in IT service delivery | |
CN117785539A (zh) | 日志数据分析方法、装置、计算机设备及存储介质 | |
US20170109637A1 (en) | Crowd-Based Model for Identifying Nonconsecutive Executions of a Business Process | |
US20170109670A1 (en) | Crowd-Based Patterns for Identifying Executions of Business Processes | |
CN113052509B (zh) | 模型评估方法、模型评估装置、电子设备和存储介质 | |
CN112860652B (zh) | 作业状态预测方法、装置和电子设备 |
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 |