CN113111240A - 日志监控方法、装置、电子设备及可读存储介质 - Google Patents

日志监控方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN113111240A
CN113111240A CN202110427695.1A CN202110427695A CN113111240A CN 113111240 A CN113111240 A CN 113111240A CN 202110427695 A CN202110427695 A CN 202110427695A CN 113111240 A CN113111240 A CN 113111240A
Authority
CN
China
Prior art keywords
log
character string
matched
character
keyword
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
CN202110427695.1A
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.)
Kangjian Information Technology Shenzhen Co Ltd
Original Assignee
Kangjian Information Technology Shenzhen Co Ltd
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 Kangjian Information Technology Shenzhen Co Ltd filed Critical Kangjian Information Technology Shenzhen Co Ltd
Priority to CN202110427695.1A priority Critical patent/CN113111240A/zh
Publication of CN113111240A publication Critical patent/CN113111240A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及数据处理,揭露一种日志监控方法,包括:实时获取服务器集群各个节点的第一日志集合,对第一日志集合执行清洗处理,得到第二日志集合;将第二日志集合中的日志分配到多个任务池中,对多个任务池执行排序处理,得到任务池序列,对各个任务池中的日志执行排序处理,得到各个任务池对应的日志序列,基于任务池序列及日志序列对多个任务池中的日志排序,得到日志任务队列;对日志任务队列中的日志执行关键词匹配处理;当某一指定日志与其对应的关键词集合中某一指定关键词匹配成功时,获取指定关键词对应的处理策略,执行所述处理策略。本发明还提供一种日志监控装置、电子设备及可读存储介质。本发明实现了及时发现日志中的异常字符。

Description

日志监控方法、装置、电子设备及可读存储介质
技术领域
本发明涉及数据处理领域,尤其涉及一种日志监控方法、装置、电子设备及可读存储介质。
背景技术
随着互联网技术的发展,服务器集群的应用越来越广泛,为了保证服务器集群的正常运行,通常需要从硬件层面(例如,CPU负载、内存资源、网卡等)和软件层面对服务器集群中各个节点进行全面的监控。
当前,通常通过监控服务器集群中各节点对应的日志中是否出现异常字符判断各节点的软件系统是否异常,然而因日志的产生量巨大,且服务器集群中不同节点对应不同的系统,导致产生的日志类型不同,从而日志的分析、处理较为缓慢。因此,亟需一种日志监控方法,以及时发现日志中的异常字符。
发明内容
鉴于以上内容,有必要提供一种日志监控方法,旨在及时发现日志中的异常字符。
本发明提供的日志监控方法,包括:
实时获取服务器集群中各个节点产生的第一日志集合,对所述第一日志集合执行清洗处理,得到各个节点对应的第二日志集合;
确定所述第二日志集合中各个日志的日志类别,根据所述日志类别将所述第二日志集合中的日志分配到多个任务池中,对所述多个任务池执行第一排序处理,得到任务池序列,对各个任务池中的日志执行第二排序处理,得到各个任务池对应的日志序列,基于所述任务池序列及日志序列对所述多个任务池中的日志排序,得到日志任务队列;
从第一数据库中获取各种日志类别的日志对应的关键词集合,基于所述关键词集合对所述日志任务队列中的日志执行关键词匹配处理;
当某一指定日志与其对应的关键词集合中某一指定关键词匹配成功时,从第二数据库中获取所述指定关键词对应的处理策略,执行所述处理策略,并将关键词匹配结果及所述处理策略发送到预设客户端。
可选的,所述对所述第一日志集合执行清洗处理,得到各个节点对应的第二日志集合,包括:
剔除所述第一日志集合中日志格式不是预设格式的日志,得到第三日志集合;
剔除所述第三日志集合中日志名称中含有预设字符的日志,得到第二日志集合。
可选的,所述基于所述关键词集合对所述日志任务队列中的日志执行关键词匹配处理,包括:
将所述日志任务队列中排序最前的待匹配日志的内容作为待匹配字符串,抽取所述待匹配日志对应的关键词集合中第一个关键字作为标准字符串;
将所述待匹配字符串与所述标准字符串左对齐,以标准字符串从左往右的移动方式、以字符从右往左的匹配顺序将所述标准字符串与所述待匹配字符串进行匹配,当所述待匹配字符串中出现与所述标准字符串完全匹配的字符串,或者当所述标准字符串的尾部字符与所述待匹配字符串的尾部字符对齐时,结束本次匹配;
抽取所述待匹配日志对应的关键词集合中的下一个关键词作为新的标准字符串继续与所述待匹配字符串进行匹配,直至无法从所述待匹配日志对应的关键词集合中抽取新的关键词。
可选的,所述以标准字符串从左往右的移动方式、以字符从右往左的匹配顺序将所述标准字符串与所述待匹配字符串进行匹配,包括:
在将所述待匹配字符串与所述标准字符串左对齐后,从标准字符串的右侧开始以从右往左的顺序逐个字符匹配,将所述待匹配字符串中第一个匹配失败的字符作为失败字符,将所述待匹配字符串中匹配失败前匹配成功的字符作为成功字符;
基于失败字符的位置及第一公式计算所述标准字符串需要移动的第一距离值,基于成功字符的位置及第二公式计算所述标准字符串需要移动的第二距离值;
将所述第一距离值及第二距离值中数值较大的距离值作为目标距离值,将所述标准字符串右移所述目标距离值后继续匹配,确定新的失败字符及新的成功字符;
根据所述新的失败字符及新的成功字符确定新的第一距离值、新的第二距离值及新的目标距离值,将所述标准字符串右移所述新的目标距离值后继续匹配。
可选的,当所述标准字符串中含有一个或多个失败字符时,第一公式为:y1=P-Q,其中,y1为第一距离值,P为失败字符在待匹配字符串中的位置,Q为标准字符串中最后一个失败字符的位置;
若标准字符串中没有失败字符,则第一公式为:y1=L,其中,y1为第一距离值,L为标准字符串的长度。
可选的,当标准字符串中含有多个成功字符时,第二公式为:y2=M-N,其中,y2为第二距离值,M为成功字符在待匹配字符串中的位置,N为标准字符串中倒数第二个成功字符的位置;
若标准字符串中仅含有一个成功字符,则第二公式为:y2=M-L,其中,y2为第二距离值,M为成功字符在待匹配字符串中的位置,L为标准字符串的长度。
可选的,在将所述待匹配字符串中第一个匹配失败的字符作为失败字符之后,所述方法还包括:
若所述待匹配字符串中没有匹配成功的字符,则将所述标准字符串的长度作为目标距离值。
为了解决上述问题,本发明还提供一种日志监控装置,所述装置包括:
清洗模块,用于实时获取服务器集群中各个节点产生的第一日志集合,对所述第一日志集合执行清洗处理,得到各个节点对应的第二日志集合;
排序模块,用于确定所述第二日志集合中各个日志的日志类别,根据所述日志类别将所述第二日志集合中的日志分配到多个任务池中,对所述多个任务池执行第一排序处理,得到任务池序列,对各个任务池中的日志执行第二排序处理,得到各个任务池对应的日志序列,基于所述任务池序列及日志序列对所述多个任务池中的日志排序,得到日志任务队列;
匹配模块,用于从第一数据库中获取各种日志类别的日志对应的关键词集合,基于所述关键词集合对所述日志任务队列中的日志执行关键词匹配处理;
处理模块,用于当某一指定日志与其对应的关键词集合中某一指定关键词匹配成功时,从第二数据库中获取所述指定关键词对应的处理策略,执行所述处理策略,并将关键词匹配结果及所述处理策略发送到预设客户端。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的日志监控程序,所述日志监控程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述日志监控方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有日志监控程序,所述日志监控程序可被一个或者多个处理器执行,以实现上述日志监控方法。
相较现有技术,本发明首先实时获取服务器集群中各个节点产生的第一日志集合,对第一日志集合执行清洗处理,得到各个节点对应的第二日志集合,本步骤减少了待分析的日志的数量,提高了日志处理效率;接着,确定第二日志集合中各个日志的日志类别,根据日志类别将第二日志集合中的日志分配到多个任务池中,对所述多个任务池执行第一排序处理,得到任务池序列,对各个任务池中的日志执行第二排序处理,得到各个任务池对应的日志序列,基于所述任务池序列及日志序列对所述多个任务池中的日志排序,得到日志任务队列,该步骤中的两次排序处理使得最为紧急的日志被最先处理;然后,从第一数据库中获取各种日志类别的日志对应的关键词集合,基于关键词集合对日志任务队列中的日志执行关键词匹配处理;最后,当某一指定日志与其对应的关键词集合中某一指定关键词匹配成功时,从第二数据库中获取所述指定关键词对应的处理策略,执行所述处理策略,本步骤在匹配到异常字符后立即执行对应的处理策略,避免了软件层面的异常导致服务器集群的节点宕机的情况发生。因此,本发明实现了及时发现日志中的异常字符并立即处理该异常字符对应的异常情况。
附图说明
图1为本发明一实施例提供的日志监控方法的流程示意图;
图2为本发明一实施例提供的日志监控装置的模块示意图;
图3为本发明一实施例提供的实现日志监控方法的电子设备的结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供一种日志监控方法。参照图1所示,为本发明一实施例提供的日志监控方法的流程示意图。该方法可以由一个电子设备执行,该电子设备可以由软件和/或硬件实现。
本实施例中,日志监控方法包括:
S1、实时获取服务器集群中各个节点产生的第一日志集合,对所述第一日志集合执行清洗处理,得到各个节点对应的第二日志集合。
第一日志集合为服务器集群中各个节点对应的软件系统产生的日志的集合,各个节点对应的软件系统包括各个节点的操作系统、各个节点上的应用程序及各个节点上的数据库,则第一日志集合包括操作系统产生的日志、应用程序产生的日志及数据库产生的日志。
因第一日志集合中的日志量巨大,需要对第一日志集合中的日志进行清洗处理,例如,规范日志格式,剔除格式不统一的日志;剔除日志内容与节点是否正常运行关联不大的日志,清洗处理后得到的第二日志集合的日志量将大大减少。
所述对所述第一日志集合执行清洗处理,得到各个节点对应的第二日志集合,包括:
A11、剔除所述第一日志集合中日志格式不是预设格式的日志,得到第三日志集合;
本实施例中,预先设置了服务器集群中各节点均应以预设格式生成日志,以便于后续批量对日志进行分析、处理,所述预设格式为JSON格式,剔除第一日志集合中非JSON格式的日志,得到第三日志集合。
A12、剔除所述第三日志集合中日志名称中含有预设字符的日志,得到第二日志集合。
本实施例中,日志的命名规则为:节点ID+软件系统类别+信息类别,软件系统类别包括软件系统大类类别及软件系统小类类别,软件系统大类类别包括操作系统、数据库及应用程序,其中,操作系统的小类类别包括windows及linux操作系统,数据库的小类类别包括mysql及redis数据库,应用程序的小类类别包括重要应用程序及普通应用程序。
所述信息类别包括错误信息(记录启动、运行、停止过程中的错误信息)、查询信息(记录被执行的查询语句及查询结果)、运行信息(记录运行过程中的状态信息)、延时信息(记录执行超时相关信息),其中,查询信息记录的内容与节点是否正常运行的关联较小,因此,可将信息类型为查询信息的日志从第三日志集合中剔除,即删除第三日志集合中日志名称中含有“query”字符的日志,得到第二日志集合。
S2、确定所述第二日志集合中各个日志的日志类别,根据所述日志类别将所述第二日志集合中的日志分配到多个任务池中,对所述多个任务池执行第一排序处理,得到任务池序列,对各个任务池中的日志执行第二排序处理,得到各个任务池对应的日志序列,基于所述任务池序列及日志序列对所述多个任务池中的日志排序,得到日志任务队列。
本实施例中,将各个日志的日志名称中的软件系统大类类别、软件系统小类类别及信息类别组成的三元数组作为各个日志的日志类别,例如,若日志1的日志名称为“T01_OS(windows)_error”,则日志1是服务器集群中01节点的windows操作系统产生的错误信息日志,日志1的日志类别为(OS,windows,error)。
因共有3个软件系统大类,每个软件系统大类包括2个小类,则共有3*2=6种软件类型类别;若第二日志集合中仅有错误信息、运行信息及延时信息这三种信息类别的日志,则第二日志集合中共有6*3=18种日志类别,然后将这18种日志类别的日志分别放入18个任务池中。
本实施例中,预先设置了软件系统大类与优先级的映射关系、软件系统小类与优先级的映射关系及信息类别与优先级的映射关系,根据上述三个映射关系可生成日志类别对应的优先级顺序表,根据所述优先级顺序表可对上述18个任务池执行第一排序处理,得到任务池序列。
对于软件系统大类,因操作系统的异常可能会造成节点宕机,影响最大,故设置操作系统的优先级最高,数据库异常对节点的影响稍小,应用程序异常较数据库异常对节点的影响更小,则软件系统大类的优先级顺序为操作系统->数据库->应用程序。
操作系统对应的小类包括windows和linux,若用户将更为重要的资料放在windows操作系统对应的节点中,或者更多用户操作由windows操作系统对应的节点执行,则可设置操作系统对应的小类的优先级顺序为windows->linux。
日志类别对应的优先级顺序表可以如下表1所示:
Figure BDA0003029739270000071
表1
根据表1即可对各个任务池进行排序,得到任务池序列。
每个任务池中日志的日志类别相同,只是不同的日志是由不同的节点产生的。
所述对各个任务池中的日志执行第二排序处理,包括:
根据日志名称中的节点ID从第三数据库中获取各个任务池中每个日志对应的节点的硬件指标值,按照硬件指标值从高到低的顺序对每个任务池中的日志进行排序。
本实施例中,除了监控服务器集群中各节点产生的日志外,同时还监控各节点的硬件指标值。
节点硬件层面异常可能也会导致软件层面异常,故将硬件指标值高的节点产生的日志排在各个任务池的前面进行处理,可更快发现节点软件层面的异常。
通过第二排序处理,得到各个任务池对应的日志序列,基于所述任务池序列及日志序列对所述多个任务池中的日志排序,得到日志任务队列。
S3、从第一数据库中获取各种日志类别的日志对应的关键词集合,基于所述关键词集合对所述日志任务队列中的日志执行关键词匹配处理。
本实施例中,第一数据库中预先存储了各种日志类别的日志对应的关键词集合,所述关键词集合中的关键字为会导致服务器集群中节点的软件层面出现异常的字符,例如,日志类别为(OS,linux,error)的日志对应的关键词集合可以是:{passwd,useradd,userdel,ssh,git,rz,sz,curl,shutdown,reboot,halt,wget}。
所述基于所述关键词集合对所述日志任务队列中的日志执行关键词匹配处理,包括:
B11、将所述日志任务队列中排序最前的待匹配日志的内容作为待匹配字符串,抽取所述待匹配日志对应的关键词集合中第一个关键字作为标准字符串;
依照日志在日志任务队列中的顺序对各个日志执行关键词匹配处理,例如,将日志任务队列中的第一个日志中的字符串作为待匹配字符串,假设这个日志的日志类别为(OS,linux,error),则抽取(OS,linux,error)日志类别对应的关键词集合中的第一个关键字passwd作为标准字符串。
B12、将所述待匹配字符串与所述标准字符串左对齐,以标准字符串从左往右的移动方式、以字符从右往左的匹配顺序将所述标准字符串与所述待匹配字符串进行匹配,当所述待匹配字符串中出现与所述标准字符串完全匹配的字符串,或者当所述标准字符串的尾部字符与所述待匹配字符串的尾部字符对齐时,结束本次匹配;
因通常情况下待匹配字符串比标准字符串的字符数量多很多,而每次匹配时,仅能将待匹配字符串中与标准字符串的字符数量相同的字符串进行匹配,故而,需要多次移动标准字符串,确定新的字符匹配范围,例如,若标准字符串的字符数量为6,则每次只能将待匹配字符串中的6个连续字符与标准字符串进行匹配,当某次匹配的6个连续字符串与标准字符串一致时,说明匹配成功,该日志对应的节点出现了软件层面的异常;当标准字符串的尾部字符与待匹配字符串的尾部字符对齐时,说明标准字符串已无法继续移动,此时标准字符串已与日志中的所有字符匹配过,该日志中没有与标准字符串相同的字符串。
B13、抽取所述待匹配日志对应的关键词集合中的下一个关键词作为新的标准字符串继续与所述待匹配字符串进行匹配,直至无法从所述待匹配日志对应的关键词集合中抽取新的关键词。
例如,passwd与日志任务队列中的第一个日志中的字符串匹配完成后,需将该日志对应的关键词集合中的下一个关键词useradd作为新的标准字符串继续与该日志中的字符串进行匹配,依次类推,将该日志对应的关键词集合中的12个关键词都与该日志中的字符串匹配完成后,将日志任务队列中下一个待匹配日志中的字符串作为新的待匹配字符串,获取所述下一个待匹配日志对应的关键词集合中的第一个关键词作为新的标准字符串继续进行关键词匹配处理。
所述以标准字符串从左往右的移动方式、以字符从右往左的匹配顺序将所述标准字符串与所述待匹配字符串进行匹配,包括:
C11、在将所述待匹配字符串与所述标准字符串左对齐后,从标准字符串的右侧开始以从右往左的顺序逐个字符匹配,将所述待匹配字符串中第一个匹配失败的字符作为失败字符,将所述待匹配字符串中匹配失败前匹配成功的字符作为成功字符;
例如,若待匹配字符串为:nuiadsopwfsx、标准字符串为dapsd。
nuiadsopwfsx
dapsd
左对齐后,从右侧的d开始从右往左逐个字符进行比较,第一个字符d匹配成功,第二个字符匹配失败,则失败字符为a,成功字符为d。
C12、基于失败字符的位置及第一公式计算所述标准字符串需要移动的第一距离值,基于成功字符的位置及第二公式计算所述标准字符串需要移动的第二距离值;
本实施例中,当所述标准字符串中含有一个或多个失败字符时,第一公式为:y1=P-Q,其中,y1为第一距离值,P为失败字符在待匹配字符串中的位置,Q为标准字符串中最后一个失败字符的位置;
若标准字符串中没有失败字符,则第一公式为:y1=L,其中,y1为第一距离值,L为标准字符串的长度。
当标准字符串中含有多个成功字符时,第二公式为:y2=M-N,其中,y2为第二距离值,M为成功字符在待匹配字符串中的位置,N为标准字符串中倒数第二个成功字符的位置;
若标准字符串中仅含有一个成功字符,则第二公式为:y2=M-L,其中,y2为第二距离值,M为成功字符在待匹配字符串中的位置,L为标准字符串的长度。
因标准字符串dapsd中含有一个失败字符a,a在nuiadsopwfsx中的位置为4,a在dapsd中的位置为2,则第一距离值为4-2=2;因标准字符串dapsd中含有2个成功字符d,d在nuiadsopwfsx中的位置为5,dapsd中第一个d的位置为1,则第二距离值为5-1=4。
C13、将所述第一距离值及第二距离值中数值较大的距离值作为目标距离值,将所述标准字符串右移所述目标距离值后继续匹配,确定新的失败字符及新的成功字符;
若计算得到的第一距离值为2,第二距离值为4,则目标距离值为4,将标准字符串dapsd右移4位后继续比对。
C14、根据所述新的失败字符及新的成功字符确定新的第一距离值、新的第二距离值及新的目标距离值,将所述标准字符串右移所述新的目标距离值后继续匹配。
每次移动后,皆可确定新的失败字符及新的成功字符,进而可确定新的第一、第二距离值及新的目标距离值,根据新的目标距离值移动标准字符串后继续匹配、移动,直至待匹配字符串中参与匹配的字符串与标准字符串一致或者标准字符串的尾部字符已与待匹配字符串的尾部字符对齐。
本实施例中,在将所述待匹配字符串中第一个匹配失败的字符作为失败字符之后,所述方法还包括:
若所述待匹配字符串中没有匹配成功的字符,则将所述标准字符串的长度作为目标距离值。
例如,若待匹配字符串为:nuiadsopwfsx、标准字符串为ssh,左对齐后第一次匹配时无匹配成功的字符,则目标距离值为3,将ssh从左往右移动3位后继续进行匹配。
本实施例中采用以从左往右的移动方式、以字符从右往左的匹配顺序的匹配方法,相较于现有技术中从左往右的逐个字符的匹配方法,本方案可一次移动多个位置,加快了匹配过程,提高了匹配效率。
S4、当某一指定日志与其对应的关键词集合中某一指定关键词匹配成功时,从第二数据库中获取所述指定关键词对应的处理策略,执行所述处理策略,并将关键词匹配结果及所述处理策略发送到预设客户端。
本实施例中,第二数据库中预先存储有各个关键词集合中每个关键词代表的异常对应的处理策略,当某一指定日志与其对应的关键词集合中某一指定关键词匹配成功时,代表该指定日志对应的节点出现异常,执行该指定关键词对应的处理策略以解决该异常。
由上述实施例可知,本发明提出的日志监控方法,首先,实时获取服务器集群中各个节点产生的第一日志集合,对第一日志集合执行清洗处理,得到各个节点对应的第二日志集合,本步骤减少了待分析的日志的数量,提高了日志处理效率;接着,确定第二日志集合中各个日志的日志类别,根据日志类别将第二日志集合中的日志分配到多个任务池中,对所述多个任务池执行第一排序处理,得到任务池序列,对各个任务池中的日志执行第二排序处理,得到各个任务池对应的日志序列,基于所述任务池序列及日志序列对所述多个任务池中的日志排序,得到日志任务队列,该步骤中的两次排序处理使得最为紧急的日志被最先处理;然后,从第一数据库中获取各种日志类别的日志对应的关键词集合,基于关键词集合对日志任务队列中的日志执行关键词匹配处理;最后,当某一指定日志与其对应的关键词集合中某一指定关键词匹配成功时,从第二数据库中获取所述指定关键词对应的处理策略,执行所述处理策略,本步骤在匹配到异常字符后立即执行对应的处理策略,避免了软件层面的异常导致服务器集群的节点宕机的情况发生。因此,本发明实现了及时发现日志中的异常字符并立即处理该异常字符对应的异常情况。
如图2所示,为本发明一实施例提供的日志监控装置的模块示意图。
本发明所述日志监控装置100可以安装于电子设备中。根据实现的功能,所述日志监控装置100可以包括清洗模块110、排序模块120、匹配模块130及处理模块140。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
清洗模块110,用于实时获取服务器集群中各个节点产生的第一日志集合,对所述第一日志集合执行清洗处理,得到各个节点对应的第二日志集合。
第一日志集合为服务器集群中各个节点对应的软件系统产生的日志的集合,各个节点对应的软件系统包括各个节点的操作系统、各个节点上的应用程序及各个节点上的数据库,则第一日志集合包括操作系统产生的日志、应用程序产生的日志及数据库产生的日志。
因第一日志集合中的日志量巨大,需要对第一日志集合中的日志进行清洗处理,例如,规范日志格式,剔除格式不统一的日志;剔除日志内容与节点是否正常运行关联不大的日志,清洗处理后得到的第二日志集合的日志量将大大减少。
所述对所述第一日志集合执行清洗处理,得到各个节点对应的第二日志集合,包括:
A21、剔除所述第一日志集合中日志格式不是预设格式的日志,得到第三日志集合;
本实施例中,预先设置了服务器集群中各节点均应以预设格式生成日志,以便于后续批量对日志进行分析、处理,所述预设格式为JSON格式,剔除第一日志集合中非JSON格式的日志,得到第三日志集合。
A22、剔除所述第三日志集合中日志名称中含有预设字符的日志,得到第二日志集合。
本实施例中,日志的命名规则为:节点ID+软件系统类别+信息类别,软件系统类别包括软件系统大类类别及软件系统小类类别,软件系统大类类别包括操作系统、数据库及应用程序,其中,操作系统的小类类别包括windows及linux操作系统,数据库的小类类别包括mysql及redis数据库,应用程序的小类类别包括重要应用程序及普通应用程序。
所述信息类别包括错误信息(记录启动、运行、停止过程中的错误信息)、查询信息(记录被执行的查询语句及查询结果)、运行信息(记录运行过程中的状态信息)、延时信息(记录执行超时相关信息),其中,查询信息记录的内容与节点是否正常运行的关联较小,因此,可将信息类型为查询信息的日志从第三日志集合中剔除,即删除第三日志集合中日志名称中含有“query”字符的日志,得到第二日志集合。
排序模块120,用于确定所述第二日志集合中各个日志的日志类别,根据所述日志类别将所述第二日志集合中的日志分配到多个任务池中,对所述多个任务池执行第一排序处理,得到任务池序列,对各个任务池中的日志执行第二排序处理,得到各个任务池对应的日志序列,基于所述任务池序列及日志序列对所述多个任务池中的日志排序,得到日志任务队列。
本实施例中,将各个日志的日志名称中的软件系统大类类别、软件系统小类类别及信息类别组成的三元数组作为各个日志的日志类别,例如,若日志1的日志名称为“T01_OS(windows)_error”,则日志1是服务器集群中01节点的windows操作系统产生的错误信息日志,日志1的日志类别为(OS,windows,error)。
因共有3个软件系统大类,每个软件系统大类包括2个小类,则共有3*2=6种软件类型类别;若第二日志集合中仅有错误信息、运行信息及延时信息这三种信息类别的日志,则第二日志集合中共有6*3=18种日志类别,然后将这18种日志类别的日志分别放入18个任务池中。
本实施例中,预先设置了软件系统大类与优先级的映射关系、软件系统小类与优先级的映射关系及信息类别与优先级的映射关系,根据上述三个映射关系可生成日志类别对应的优先级顺序表,根据所述优先级顺序表可对上述18个任务池执行第一排序处理,得到任务池序列。
对于软件系统大类,因操作系统的异常可能会造成节点宕机,影响最大,故设置操作系统的优先级最高,数据库异常对节点的影响稍小,应用程序异常较数据库异常对节点的影响更小,则软件系统大类的优先级顺序为操作系统->数据库->应用程序。
操作系统对应的小类包括windows和linux,若用户将更为重要的资料放在windows操作系统对应的节点中,或者更多用户操作由windows操作系统对应的节点执行,则可设置操作系统对应的小类的优先级顺序为windows->linux。
日志类别对应的优先级顺序表可以如上表1所示。
根据上表1即可对各个任务池进行排序,得到任务池序列。
每个任务池中日志的日志类别相同,只是不同的日志是由不同的节点产生的。
所述对各个任务池中的日志执行第二排序处理,包括:
根据日志名称中的节点ID从第三数据库中获取各个任务池中每个日志对应的节点的硬件指标值,按照硬件指标值从高到低的顺序对每个任务池中的日志进行排序。
本实施例中,除了监控服务器集群中各节点产生的日志外,同时还监控各节点的硬件指标值。
节点硬件层面异常可能也会导致软件层面异常,故将硬件指标值高的节点产生的日志排在各个任务池的前面进行处理,可更快发现节点软件层面的异常。
通过第二排序处理,得到各个任务池对应的日志序列,基于所述任务池序列及日志序列对所述多个任务池中的日志排序,得到日志任务队列。
匹配模块130,用于从第一数据库中获取各种日志类别的日志对应的关键词集合,基于所述关键词集合对所述日志任务队列中的日志执行关键词匹配处理。
本实施例中,第一数据库中预先存储了各种日志类别的日志对应的关键词集合,所述关键词集合中的关键字为会导致服务器集群中节点的软件层面出现异常的字符,例如,日志类别为(OS,linux,error)的日志对应的关键词集合可以是:{passwd,useradd,userdel,ssh,git,rz,sz,curl,shutdown,reboot,halt,wget}。
所述基于所述关键词集合对所述日志任务队列中的日志执行关键词匹配处理,包括:
B21、将所述日志任务队列中排序最前的待匹配日志的内容作为待匹配字符串,抽取所述待匹配日志对应的关键词集合中第一个关键字作为标准字符串;
依照日志在日志任务队列中的顺序对各个日志执行关键词匹配处理,例如,将日志任务队列中的第一个日志中的字符串作为待匹配字符串,假设这个日志的日志类别为(OS,linux,error),则抽取(OS,linux,error)日志类别对应的关键词集合中的第一个关键字passwd作为标准字符串。
B22、将所述待匹配字符串与所述标准字符串左对齐,以标准字符串从左往右的移动方式、以字符从右往左的匹配顺序将所述标准字符串与所述待匹配字符串进行匹配,当所述待匹配字符串中出现与所述标准字符串完全匹配的字符串,或者当所述标准字符串的尾部字符与所述待匹配字符串的尾部字符对齐时,结束本次匹配;
因通常情况下待匹配字符串比标准字符串的字符数量多很多,而每次匹配时,仅能将待匹配字符串中与标准字符串的字符数量相同的字符串进行匹配,故而,需要多次移动标准字符串,确定新的字符匹配范围,例如,若标准字符串的字符数量为6,则每次只能将待匹配字符串中的6个连续字符与标准字符串进行匹配,当某次匹配的6个连续字符串与标准字符串一致时,说明匹配成功,该日志对应的节点出现了软件层面的异常;当标准字符串的尾部字符与待匹配字符串的尾部字符对齐时,说明标准字符串已无法继续移动,此时标准字符串已与日志中的所有字符匹配过,该日志中没有与标准字符串相同的字符串。
B23、抽取所述待匹配日志对应的关键词集合中的下一个关键词作为新的标准字符串继续与所述待匹配字符串进行匹配,直至无法从所述待匹配日志对应的关键词集合中抽取新的关键词。
例如,passwd与日志任务队列中的第一个日志中的字符串匹配完成后,需将该日志对应的关键词集合中的下一个关键词useradd作为新的标准字符串继续与该日志中的字符串进行匹配,依次类推,将该日志对应的关键词集合中的12个关键词都与该日志中的字符串匹配完成后,将日志任务队列中下一个待匹配日志中的字符串作为新的待匹配字符串,获取所述下一个待匹配日志对应的关键词集合中的第一个关键词作为新的标准字符串继续进行关键词匹配处理。
所述以标准字符串从左往右的移动方式、以字符从右往左的匹配顺序将所述标准字符串与所述待匹配字符串进行匹配,包括:
C21、在将所述待匹配字符串与所述标准字符串左对齐后,从标准字符串的右侧开始以从右往左的顺序逐个字符匹配,将所述待匹配字符串中第一个匹配失败的字符作为失败字符,将所述待匹配字符串中匹配失败前匹配成功的字符作为成功字符;
例如,若待匹配字符串为:nuiadsopwfsx、标准字符串为dapsd。
nuiadsopwfsx
dapsd
左对齐后,从右侧的d开始从右往左逐个字符进行比较,第一个字符d匹配成功,第二个字符匹配失败,则失败字符为a,成功字符为d。
C22、基于失败字符的位置及第一公式计算所述标准字符串需要移动的第一距离值,基于成功字符的位置及第二公式计算所述标准字符串需要移动的第二距离值;
本实施例中,当所述标准字符串中含有一个或多个失败字符时,第一公式为:y1=P-Q,其中,y1为第一距离值,P为失败字符在待匹配字符串中的位置,Q为标准字符串中最后一个失败字符的位置;
若标准字符串中没有失败字符,则第一公式为:y1=L,其中,y1为第一距离值,L为标准字符串的长度。
当标准字符串中含有多个成功字符时,第二公式为:y2=M-N,其中,y2为第二距离值,M为成功字符在待匹配字符串中的位置,N为标准字符串中倒数第二个成功字符的位置;
若标准字符串中仅含有一个成功字符,则第二公式为:y2=M-L,其中,y2为第二距离值,M为成功字符在待匹配字符串中的位置,L为标准字符串的长度。
因标准字符串dapsd中含有一个失败字符a,a在nuiadsopwfsx中的位置为4,a在dapsd中的位置为2,则第一距离值为4-2=2;因标准字符串dapsd中含有2个成功字符d,d在nuiadsopwfsx中的位置为5,dapsd中第一个d的位置为1,则第二距离值为5-1=4。
C23、将所述第一距离值及第二距离值中数值较大的距离值作为目标距离值,将所述标准字符串右移所述目标距离值后继续匹配,确定新的失败字符及新的成功字符;
若计算得到的第一距离值为2,第二距离值为4,则目标距离值为4,将标准字符串dapsd右移4位后继续比对。
C24、根据所述新的失败字符及新的成功字符确定新的第一距离值、新的第二距离值及新的目标距离值,将所述标准字符串右移所述新的目标距离值后继续匹配。
每次移动后,皆可确定新的失败字符及新的成功字符,进而可确定新的第一、第二距离值及新的目标距离值,根据新的目标距离值移动标准字符串后继续匹配、移动,直至待匹配字符串中参与匹配的字符串与标准字符串一致或者标准字符串的尾部字符已与待匹配字符串的尾部字符对齐。
本实施例中,在将所述待匹配字符串中第一个匹配失败的字符作为失败字符之后,所述匹配模块130还用于:
若所述待匹配字符串中没有匹配成功的字符,则将所述标准字符串的长度作为目标距离值。
例如,若待匹配字符串为:nuiadsopwfsx、标准字符串为ssh,左对齐后第一次匹配时无匹配成功的字符,则目标距离值为3,将ssh从左往右移动3位后继续进行匹配。
本实施例中采用以从左往右的移动方式、以字符从右往左的匹配顺序的匹配方法,相较于现有技术中从左往右的逐个字符的匹配方法,本方案可一次移动多个位置,加快了匹配过程,提高了匹配效率。
处理模块140,用于当某一指定日志与其对应的关键词集合中某一指定关键词匹配成功时,从第二数据库中获取所述指定关键词对应的处理策略,执行所述处理策略,并将关键词匹配结果及所述处理策略发送到预设客户端。
本实施例中,第二数据库中预先存储有各个关键词集合中每个关键词代表的异常对应的处理策略,当某一指定日志与其对应的关键词集合中某一指定关键词匹配成功时,代表该指定日志对应的节点出现异常,执行该指定关键词对应的处理策略以解决该异常。
如图3所示,为本发明一实施例提供的实现日志监控方法的电子设备的结构示意图。
所述电子设备1是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。所述电子设备1可以是计算机、也可以是单个网络服务器、多个网络服务器组成的服务器组或者基于云计算的由大量主机或者网络服务器构成的云,其中云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
在本实施例中,电子设备1包括,但不仅限于,可通过系统总线相互通信连接的存储器11、处理器12、网络接口13,该存储器11中存储有日志监控程序10,所述日志监控程序10可被所述处理器12执行。图3仅示出了具有组件11-13以及日志监控程序10的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
其中,存储器11包括内存及至少一种类型的可读存储介质。内存为电子设备1的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等的非易失性存储介质。在一些实施例中,可读存储介质可以是电子设备1的内部存储单元,例如该电子设备1的硬盘;在另一些实施例中,该非易失性存储介质也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。本实施例中,存储器11的可读存储介质通常用于存储安装于电子设备1的操作系统和各类应用软件,例如存储本发明一实施例中的日志监控程序10的代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行与其他设备进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行日志监控程序10等。
网络接口13可包括无线网络接口或有线网络接口,该网络接口13用于在所述电子设备1与客户端(图中未画出)之间建立通信连接。
可选的,所述电子设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选的,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的日志监控程序10是多个指令的组合,在所述处理器12中运行时,可以实现:
实时获取服务器集群中各个节点产生的第一日志集合,对所述第一日志集合执行清洗处理,得到各个节点对应的第二日志集合;
确定所述第二日志集合中各个日志的日志类别,根据所述日志类别将所述第二日志集合中的日志分配到多个任务池中,对所述多个任务池执行第一排序处理,得到任务池序列,对各个任务池中的日志执行第二排序处理,得到各个任务池对应的日志序列,基于所述任务池序列及日志序列对所述多个任务池中的日志排序,得到日志任务队列;
从第一数据库中获取各种日志类别的日志对应的关键词集合,基于所述关键词集合对所述日志任务队列中的日志执行关键词匹配处理;
当某一指定日志与其对应的关键词集合中某一指定关键词匹配成功时,从第二数据库中获取所述指定关键词对应的处理策略,执行所述处理策略,并将关键词匹配结果及所述处理策略发送到预设客户端。
具体地,所述处理器12对上述日志监控程序10的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以是非易失性的,也可以是非易失性的。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
所述计算机可读存储介质上存储有日志监控程序10,所述日志监控程序10可被一个或者多个处理器执行,本发明计算机可读存储介质具体实施方式与上述日志监控方法各实施例基本相同,在此不作赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种日志监控方法,其特征在于,所述方法包括:
实时获取服务器集群中各个节点产生的第一日志集合,对所述第一日志集合执行清洗处理,得到各个节点对应的第二日志集合;
确定所述第二日志集合中各个日志的日志类别,根据所述日志类别将所述第二日志集合中的日志分配到多个任务池中,对所述多个任务池执行第一排序处理,得到任务池序列,对各个任务池中的日志执行第二排序处理,得到各个任务池对应的日志序列,基于所述任务池序列及日志序列对所述多个任务池中的日志排序,得到日志任务队列;
从第一数据库中获取各种日志类别的日志对应的关键词集合,基于所述关键词集合对所述日志任务队列中的日志执行关键词匹配处理;
当某一指定日志与其对应的关键词集合中某一指定关键词匹配成功时,从第二数据库中获取所述指定关键词对应的处理策略,执行所述处理策略,并将关键词匹配结果及所述处理策略发送到预设客户端。
2.如权利要求1所述的日志监控方法,其特征在于,所述对所述第一日志集合执行清洗处理,得到各个节点对应的第二日志集合,包括:
剔除所述第一日志集合中日志格式不是预设格式的日志,得到第三日志集合;
剔除所述第三日志集合中日志名称中含有预设字符的日志,得到第二日志集合。
3.如权利要求1所述的日志监控方法,其特征在于,所述基于所述关键词集合对所述日志任务队列中的日志执行关键词匹配处理,包括:
将所述日志任务队列中排序最前的待匹配日志的内容作为待匹配字符串,抽取所述待匹配日志对应的关键词集合中第一个关键字作为标准字符串;
将所述待匹配字符串与所述标准字符串左对齐,以标准字符串从左往右的移动方式、以字符从右往左的匹配顺序将所述标准字符串与所述待匹配字符串进行匹配,当所述待匹配字符串中出现与所述标准字符串完全匹配的字符串,或者当所述标准字符串的尾部字符与所述待匹配字符串的尾部字符对齐时,结束本次匹配;
抽取所述待匹配日志对应的关键词集合中的下一个关键词作为新的标准字符串继续与所述待匹配字符串进行匹配,直至无法从所述待匹配日志对应的关键词集合中抽取新的关键词。
4.如权利要求3所述的日志监控方法,其特征在于,所述以标准字符串从左往右的移动方式、以字符从右往左的匹配顺序将所述标准字符串与所述待匹配字符串进行匹配,包括:
在将所述待匹配字符串与所述标准字符串左对齐后,从标准字符串的右侧开始以从右往左的顺序逐个字符匹配,将所述待匹配字符串中第一个匹配失败的字符作为失败字符,将所述待匹配字符串中匹配失败前匹配成功的字符作为成功字符;
基于失败字符的位置及第一公式计算所述标准字符串需要移动的第一距离值,基于成功字符的位置及第二公式计算所述标准字符串需要移动的第二距离值;
将所述第一距离值及第二距离值中数值较大的距离值作为目标距离值,将所述标准字符串右移所述目标距离值后继续匹配,确定新的失败字符及新的成功字符;
根据所述新的失败字符及新的成功字符确定新的第一距离值、新的第二距离值及新的目标距离值,将所述标准字符串右移所述新的目标距离值后继续匹配。
5.如权利要求4所述的日志监控方法,其特征在于,当所述标准字符串中含有一个或多个失败字符时,第一公式为:y1=P-Q,其中,y1为第一距离值,P为失败字符在待匹配字符串中的位置,Q为标准字符串中最后一个失败字符的位置;
若标准字符串中没有失败字符,则第一公式为:y1=L,其中,y1为第一距离值,L为标准字符串的长度。
6.如权利要求4所述的日志监控方法,其特征在于,当标准字符串中含有多个成功字符时,第二公式为:y2=M-N,其中,y2为第二距离值,M为成功字符在待匹配字符串中的位置,N为标准字符串中倒数第二个成功字符的位置;
若标准字符串中仅含有一个成功字符,则第二公式为:y2=M-L,其中,y2为第二距离值,M为成功字符在待匹配字符串中的位置,L为标准字符串的长度。
7.如权利要求4所述的日志监控方法,其特征在于,在将所述待匹配字符串中第一个匹配失败的字符作为失败字符之后,所述方法还包括:
若所述待匹配字符串中没有匹配成功的字符,则将所述标准字符串的长度作为目标距离值。
8.一种日志监控装置,其特征在于,所述装置包括:
清洗模块,用于实时获取服务器集群中各个节点产生的第一日志集合,对所述第一日志集合执行清洗处理,得到各个节点对应的第二日志集合;
排序模块,用于确定所述第二日志集合中各个日志的日志类别,根据所述日志类别将所述第二日志集合中的日志分配到多个任务池中,对所述多个任务池执行第一排序处理,得到任务池序列,对各个任务池中的日志执行第二排序处理,得到各个任务池对应的日志序列,基于所述任务池序列及日志序列对所述多个任务池中的日志排序,得到日志任务队列;
匹配模块,用于从第一数据库中获取各种日志类别的日志对应的关键词集合,基于所述关键词集合对所述日志任务队列中的日志执行关键词匹配处理;
处理模块,用于当某一指定日志与其对应的关键词集合中某一指定关键词匹配成功时,从第二数据库中获取所述指定关键词对应的处理策略,执行所述处理策略,并将关键词匹配结果及所述处理策略发送到预设客户端。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的日志监控程序,所述日志监控程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的日志监控方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有日志监控程序,所述日志监控程序可被一个或者多个处理器执行,以实现如权利要求1至7任一项所述的日志监控方法。
CN202110427695.1A 2021-04-20 2021-04-20 日志监控方法、装置、电子设备及可读存储介质 Pending CN113111240A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110427695.1A CN113111240A (zh) 2021-04-20 2021-04-20 日志监控方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110427695.1A CN113111240A (zh) 2021-04-20 2021-04-20 日志监控方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN113111240A true CN113111240A (zh) 2021-07-13

Family

ID=76718912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110427695.1A Pending CN113111240A (zh) 2021-04-20 2021-04-20 日志监控方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN113111240A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150025875A1 (en) * 2013-07-19 2015-01-22 Tibco Software Inc. Semantics-oriented analysis of log message content
CN107181630A (zh) * 2017-07-24 2017-09-19 郑州云海信息技术有限公司 云系统中服务故障的处理方法和装置
CN107391746A (zh) * 2017-08-10 2017-11-24 深圳前海微众银行股份有限公司 日志分析方法、设备和计算机可读存储介质
CN108521339A (zh) * 2018-03-13 2018-09-11 广州西麦科技股份有限公司 一种基于集群日志的反馈式节点故障处理方法及系统
CN109271272A (zh) * 2018-10-15 2019-01-25 江苏物联网研究发展中心 基于非结构化日志的大数据组件故障辅助修复系统
CN110297711A (zh) * 2019-05-16 2019-10-01 平安科技(深圳)有限公司 批量数据处理方法、装置、计算机设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150025875A1 (en) * 2013-07-19 2015-01-22 Tibco Software Inc. Semantics-oriented analysis of log message content
CN107181630A (zh) * 2017-07-24 2017-09-19 郑州云海信息技术有限公司 云系统中服务故障的处理方法和装置
CN107391746A (zh) * 2017-08-10 2017-11-24 深圳前海微众银行股份有限公司 日志分析方法、设备和计算机可读存储介质
CN108521339A (zh) * 2018-03-13 2018-09-11 广州西麦科技股份有限公司 一种基于集群日志的反馈式节点故障处理方法及系统
CN109271272A (zh) * 2018-10-15 2019-01-25 江苏物联网研究发展中心 基于非结构化日志的大数据组件故障辅助修复系统
CN110297711A (zh) * 2019-05-16 2019-10-01 平安科技(深圳)有限公司 批量数据处理方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN110737592B (zh) 一种链路异常识别方法、服务器及计算机可读存储介质
CN112559535B (zh) 基于多线程的异步任务处理方法、装置、设备及介质
CN112527599A (zh) 智能监控方法、装置、电子设备及可读存储介质
CN112860737B (zh) 数据查询方法、装置、电子设备及可读存储介质
CN115146865A (zh) 基于人工智能的任务优化方法及相关设备
CN111860377A (zh) 基于人工智能的直播方法、装置、电子设备及存储介质
CN109933502B (zh) 电子装置、用户操作记录的处理方法和存储介质
CN112597135A (zh) 用户分类方法、装置、电子设备及可读存储介质
CN112506486A (zh) 搜索系统建立方法、装置、电子设备及可读存储介质
CN111258799A (zh) 报错信息处理方法、电子装置及计算机可读存储介质
CN113485889A (zh) 埋点数据校验方法、装置、电子设备及存储介质
CN112733531A (zh) 虚拟资源分配方法、装置、电子设备及计算机存储介质
CN114547696A (zh) 文件脱敏方法、装置、电子设备及存储介质
CN112199483B (zh) 信息录入辅助方法、装置、电子设备及存储介质
CN113344433A (zh) 产品匹配方法、装置、电子设备及可读存储介质
CN112527280A (zh) 界面展示方法、装置、服务器及可读存储介质
CN111429085A (zh) 合同数据生成方法、装置、电子设备及存储介质
CN116132448A (zh) 基于人工智能的数据分流方法及相关设备
CN113590703B (zh) Es数据导入方法、装置、电子设备及可读存储介质
CN114116811B (zh) 日志处理方法、装置、设备及存储介质
CN113111240A (zh) 日志监控方法、装置、电子设备及可读存储介质
CN115562934A (zh) 基于人工智能的业务流量切换方法及相关设备
CN113656586A (zh) 情感分类方法、装置、电子设备及可读存储介质
CN113064984A (zh) 意图识别方法、装置、电子设备及可读存储介质
CN113850260A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210713

RJ01 Rejection of invention patent application after publication