日志异常处理方法、装置、设备和存储介质与流程

文档序号:30348702发布日期:2022-06-08 10:04阅读:117来源:国知局
日志异常处理方法、装置、设备和存储介质与流程

1.本技术涉及智能化技术领域,尤其涉及一种日志异常处理方法、装置、设备和存储介质。


背景技术:

2.云平台以及区块链等服务系统一般由多台数据处理设备构成。
3.在云平台或者区块链等服务系统中,每台一般都会运行有至少一种组件,每种组件对应的功能不同。如果数据处理设备内出现组件运行异常,则会影响到该数据处理设备无法提供该组件对应的功能,从而影响到服务系统所能实现的功能,导致服务系统出现服务异常。因此,如何减少由于服务系统中的组件运行异常所导致服务异常是本领域技术人员需要解决的技术问题。


技术实现要素:

4.有鉴于此,本技术提供了一种日志异常处理方法、装置、设备和存储介质,以能够及时发现组件运行异常并解决组件运行异常。
5.为实现上述目的,本技术提供了如下技术方案:
6.一方面,本技术提供了一种日志异常处理方法,应用于服务系统中的日志处理设备,所述服务系统包括多台数据处理设备和至少一台日志处理设备,所述数据处理设备中运行有至少一种组件,包括:
7.获得所述数据处理设备中组件运行相关的日志,所述日志包括所述日志的日志元数据,所述日志元数据包括所述日志的日志生成来源,所述日志生成来源表征所述日志所属的目标组件或者组件运行环境;
8.从多个关键词集合中,确定与所述日志生成来源匹配的目标关键词集合,所述目标关键词集合中包括用于表征所述日志生成来源的日志存在异常的多个关键词;
9.将所述日志与目标关键词集合中各关键词进行匹配;
10.如所述目标关键词集合中存在与所述日志匹配的至少一个关键词,基于所述日志的日志生成来源,在服务系统中重构并启动所述目标组件的替代组件或者所述组件运行环境的替代运行环境,并结束所述日志对应的数据处理设备中所述目标组件或者组件运行环境的运行。
11.在一种可能的实现方式中,所述如所述目标关键词集合中存在与所述日志匹配的至少一个关键词,基于所述日志的日志生成来源,在服务系统中重构并启动所述目标组件的替代组件或者所述组件运行环境的替代运行环境,并结束所述日志对应的数据处理设备中所述目标组件或者组件运行环境的运行,包括:
12.在所述目标关键词集合中存在与所述日志匹配的至少一个关键词的情况下,如所述日志生成来源表征所述日志为目标组件产生的日志,在所述数据处理设备中启动并运行所述目标组件的备份组件,并结束所述数据处理设备中所述目标组件的运行;
13.在所述目标关键词集合中存在与所述日志匹配的至少一个关键词的情况下,如所述日志生成来源表征所述日志为组件运行环境相关的日志,启动所述数据处理设备对应的备用设备,并结束所述数据处理设备的运行,所述备用设备具有与所述数据处理设备相同的运行环境。
14.在又一种可能的实现方式中,所述目标关键词集合中各个关键词分别具有风险等级;
15.所述如所述目标关键词集合中存在与所述日志匹配的至少一个关键词,基于所述日志的日志生成来源,在服务系统中重构并启动所述目标组件的替代组件或者所述组件运行环境的替代运行环境,并结束所述日志对应的数据处理设备中所述目标组件或者组件运行环境的运行,包括:
16.如所述目标关键词集合中存在与所述日志匹配的至少一个关键词,且所述至少一个关键词的风险等级均属于设定的低风险等级,则将所述日志的日志生成来源对应的风险次数加一;
17.如所述日志的日志生成来源对应的风险次数达到设定次数,在服务系统中重构并启动所述目标组件的替代组件或者所述组件运行环境的替代运行环境,并结束所述日志对应的数据处理设备中所述目标组件或者组件运行环境的运行。
18.在又一种可能的实现方式中,所述获得所述数据处理设备中组件运行相关的日志,包括:
19.获得待处理的日志队列,所述日志队列包括来自所述多台数据处理设备的多条日志;
20.在所述从多个关键词集合中,确定与所述日志生成来源匹配的目标关键词集合之前,还包括:
21.按照所述日志队列中日志的先后顺序,将所述日志队列中设定数量条日志分配给设定数量条日志处理线程,以使得所述设定数量条日志处理线程并行处理所述设定数量条日志。
22.又一方面,本技术还提供了一种日志异常处理方法,应用于服务系统,所述服务系统包括多台数据处理设备和至少一台日志处理设备,所述数据处理设备中运行有至少一种组件,所述方法包括:
23.所述数据处理设备获得所述数据处理设备上组件运行相关的日志,并为所述日志添加所述日志的日志元数据,所述日志的日志元数据包括所述日志的日志生成来源,所述日志生成来源表征所述日志所属的目标组件或者组件运行环境;
24.所述数据处理设备将添加有日志元数据的日志发送给所述日志处理设备;
25.所述日志处理设备从多个关键词集合中,确定与所述日志生成来源匹配的目标关键词集合,所述目标关键词集合中包括用于表征所述日志生成来源的日志存在异常的多个关键词;
26.所述日志处理设备将所述日志与目标关键词集合中各关键词进行匹配;
27.所述日志处理设备在所述目标关键词集合中存在与所述日志匹配的至少一个关键词的情况下,基于所述日志的日志生成来源,在服务系统中重构并启动所述目标组件的替代组件或者所述组件运行环境的替代运行环境,并结束所述日志对应的数据处理设备中
所述目标组件或者组件运行环境的运行。
28.又一方面,本技术还提供了一种日志异常处理装置,应用于服务系统中的日志处理设备,所述服务系统包括多台数据处理设备和至少一台日志处理设备,所述数据处理设备中运行有至少一种组件,包括:
29.日志获得单元,用于获得所述数据处理设备中组件运行相关的日志,所述日志包括所述日志的日志元数据,所述日志元数据包括所述日志的日志生成来源,所述日志生成来源表征所述日志所属的目标组件或者组件运行环境;
30.集合确定单元,用于从多个关键词集合中,确定与所述日志生成来源匹配的目标关键词集合,所述目标关键词集合中包括用于表征所述日志生成来源的日志存在异常的多个关键词;
31.关键词匹配单元,用于将所述日志与目标关键词集合中各关键词进行匹配;
32.异常恢复单元,用于如所述目标关键词集合中存在与所述日志匹配的至少一个关键词,基于所述日志的日志生成来源,在服务系统中重构并启动所述目标组件的替代组件或者所述组件运行环境的替代运行环境,并结束所述日志对应的数据处理设备中所述目标组件或者组件运行环境的运行。
33.又一方面,本技术还提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上任一项所述的日志异常处理方法。
34.又一方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上任一项所述的日志异常处理方法。
35.由以上内容可知,在本技术的服务系统中,数据处理设备会将自身与组件运行相关的日志上报给日志处理设备,而日志处理设备会将日志与该日志的日志生成来源匹配的关键词集合进行关键词匹配。由于关键词集合中存储的是表征该日志生成来源的日志存在异常的关键词,因此,如果日志与该关键词集合中至少一个关键词匹配,则说明该日志属于存在异常的异常日志,而异常日志实际上表征日志生成来源对应的组件或者组件运行环境存在异常,从而可以及时发现服务器系统的各数据处理设备中组件运行异常。
36.在此基础上,本技术在日志与该关键词集合中至少一个关键词匹配的情况下,还会在服务系统中重构并启动该日志对应的目标组件的替代组件或者日志对应的组件运行环境的替代运行环境,从而可以及时修复服务系统中的某些组件或者组件运行环境的异常,提高服务系统的可用性。
附图说明
37.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
38.图1示出了本技术所适用的一种服务系统的架构示意图;
39.图2示出了本技术提供的一种日志异常处理方法一个实施例的流程示意图;
40.图3示出了本技术提供的一种日志异常处理方法又一个实施例的流程示意图;
41.图4示出了本技术中日志处理线程并行处理日志的一种原理示意图;
42.图5示出了本技术的日志异常处理方法的实现原理框架图;
43.图6示出了本技术的日志异常处理方法的一种流程交互示意图;
44.图7示出了本技术一种日志异常处理装置一个实施例的组成结构示意图;
45.图8示出了本技术一种计算机设备的一种组成架构示意图。
具体实施方式
46.本技术的方案适用于由多台数据处理设备构成的服务系统,该服务系统可以用于数据存储或者数据计算等等处理。
47.为了便于理解,下面先对本技术的方案所适用的一种服务系统的架构进行介绍。如图1所示,其示出了本技术所适用的一种服务系统的组成结构示意图。
48.如图1所示,该服务系统可以包括:多台数据处理设备101,以及至少一台日志分析设备102。
49.其中,数据处理设备101为服务系统用于提供服务的设备,如,提供服务系统相关业务的业务数据的处理等。而日志分析设备为数据处理设备之外,用于对数据处理设备中组件运行异常进行监管的设备,如,日志分析设备也可以为俗称的外围设备。
50.本技术中,每台数据处理设备均可以通过网络与日志分析设备建立有通信连接。
51.其中,数据处理设备中安装并运行有至少一种组件。其中,组件是计算机操作系统中运行的一个程序或者为用户提供特定服务的一组程序。每种组件对应数据处理设备所提供的一种功能。
52.数据处理设备中的组件运行于该数据处理设备的组件运行环境中。组件运行环境是指组件运行的容器等软件环境以及硬件环境。如,组件运行环境可以包括linux系统或者虚拟机。
53.可以理解的是,根据不同的应用需求,服务系统可以实现的功能也会有所不同。
54.如,该服务系统可以为云服务平台,例如,云数据库或者云计算机平台等。
55.相应的,服务系统中的数据处理设备为可以是提供云服务、云计算、云存储、云通信以及大数据和人工智能平台等基础云计算服务的云服务器。
56.其中,云计算服务是基于云技术的计算服务。云技术(cloudtechnology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
57.云技术(cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
58.又如,服务系统可以为区块链系统,在此基础上,数据处理设备可以为区块链中的区块链节点。
59.其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
60.区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
61.平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
62.当然,该服务系统还可以为任何部署有多台数据处理设备的系统,以通过多台数据处理设备来提供相应的功能实现。
63.在本技术实施例中,数据处理设备中运行有日志采集程序,通过日志采集程序可以采集数据处理设备中与组件运行相关的日志,并将采集到的日志上报给日志分析设备。
64.在一种可选方式中,日志分析设备中可以获得用户配置的日志采集规则,日志分析设备存储配置的日志采集规则,并向数据处理设备发送日志采集规则。其中,日志分析设备可以向数据处理设备发送最新版本的日志采集规则,如在日志分析设备检测到日志采集规则存在版本更新后,便向数据处理设备发送最新版本的日志采集规则。
65.如,日志分析设备可以与数据处理设备之间通过心跳机制来维持连接,在此基础上,日志分析设备可以通过向数据处理设备发送心跳包来携带日志采集规则。在该种情况下,日志分析设备可以通过心跳包发送最新版本的日志采集规则。例如,日志分析设备会为配置的日志采集规则分配一个版本号,在此基础上,那么数据处理设备根据心跳包中日志采集规则的版本号,可以判断自身是否已有该版本的日志采集规则,如果尚未存储,则会保存该版本的日志采集规则,并删除之前保存的日志采集规则。
66.其中,该日志采集规则包括所需采集的日志类型以及日志所需具有的元数据等。其中,配置的日志采集规则中包含的日志元数据可以包括所需采集的日志的路径信息以及
日志所在文件的编号,如索引节点的编号,例如,linux中的inode编号,以使得数据处理设备可以根据路径信息和编码定位到日志所在的文件并采集。
67.日志类型用于规定所需采集的组件或者组件运行环境相关的哪些日志数据。如,日志类型可以分为运行日志文件、输出数据日志、组件测试结果日志以及运行环境的状态日志,在实际应用中,可以根据需要日志采集规则中包含这几种日志类型中的一种或者多种。
68.其中,运行日志文件中记录组件在运行过程中一些错误或者关键信息。具体的,组件将运行过程中的错误信息或者关键信息以文本的形式输出到特定文件,如,组件运行中访问磁盘等,如果读取异常,则会报错并记录到该特定文件中。运行日志文件还可以包括运行环境相关的运行日志,
69.当然,运行日志文件还可以是包括组件的运行日志文件和运行环境的运行日志文件。
70.例如,以服务系统为云数据库,该云数据库中运行的组件可以包括结构化查询语言(structured query language,sql)实例,而组件的运行环境可以为linux系统。在场景中,需要采集的日志可以包括sql错误日志;以及linux的系统日志。
71.该输出数据日志为组件运行中输出的数据。
72.组件测试结果为通过向组件发送测试用的执行命令所得到的测试输出。
73.运行环境的状态日志包括表征运行环境状态的状态值。
74.相应的,数据处理设备可以按照日志采集规则采集数据处理设备中与组件运行相关的日志。如,采集运行日志文件中日志以及组件输出结果等。
75.本技术中日志分析设备还可以配置有用于分析日志异常的关键词集合,关键词集合中包括用于表征日志存在异常的多个关键词。可以理解的是,考虑到来自不同种组件或者运行环境的日志中的异常也会有所差别,因此,本技术可以针对不同日志生成来源配置不同关键词集合。日志生成来源表征日志为哪种组件或者运行环境所产生的日志。
76.相应的,日志分析设备可以结合待分析日志的日志生成来源,确定异常分析所依据的关键词集合,并依据该关键词集合分析日志中是否存在异常。
77.下面结合流程图对本技术的日志异常处理方法进行介绍。
78.首先,从日志分析设备侧对本技术的日志异常处理方法进行介绍。如图2所示,其示出了本技术一种日志异常处理方法一个实施例的流程示意图。本实施例的方法应用于日志分析设备。
79.本实施例的方法可以包括:
80.s201,获得数据处理设备中组件运行相关的日志。
81.其中,日志用于记录组件运行相关的信息,日志可以反映出组件运行中运行状况以及可能存在的异常。如,在本技术中日志可以为组件产生的日志,也可以是数据处理设备中组件的组件运行环境所对应的日志。
82.在本技术中每条日志包括日志元数据。日志的日志元数据是由数据处理设备为该数据处理设备采集到的日志添加的元数据。具体的,数据处理设备在获得该数据处理设备上组件运行相关的日志后,为日志添加该日志对应的日志元数据。
83.其中,日志元数据可以为表征日志的采集设备以及日志在计算设备内的来源等属
性信息。在本技术中,日志的日志元数据至少包括日志的日志生成来源。日志生成来源表征日志所属的目标组件或者组件运行环境,也就是说,通过日志生成来源可以确定日志为组件生成的日志,还是组件运行环境的日志。其中,为了便于区分,将产生该日志的组件称为目标组件。
84.可以理解的是,为了区分日志为哪台数据处理设备上报的,该日志的日志元数据中还可以包括采集该日志的数据处理设备的信息。
85.s202,从多个关键词集合中,确定与日志生成来源匹配的目标关键词集合。
86.在本技术中,针对不同种组件以及不同组件运行环境,分别配置了不同的关键词集合。每个关键词集合都包含多个关键词,关键词为表征该关键词集合对应的组件或者组件运行环境存在异常的告警词。
87.如,针对组件运行环境的关键词可以有“device error”,该关键词可以表征磁盘异常。
88.相应的,由于日志的日志生成来源可以表征日志所属的组件或者组件运行环境,因此,可以结合该日志生成来源确定适合异常检测的关键词集合,为了便于区分,本技术将与日志生成来源匹配的关键词集合称为目标关键词集合。其中,目标关键词集合中包括用于表征日志生成来源的日志存在异常的多个关键词。
89.如,日志的日志生成来源表征日志由目标组件产生,则可以目标组件对应的类别,确定该种目标组件对应的目标关键词集合。如果日志的日志生成来源表征日志为数据处理设备中组件运行环境的日志,那么可以查询该种组件运行环境对应的目标关键词集合。
90.s203,将日志与目标关键词集合中各关键词进行匹配。
91.通过将日志与各关键词匹配可以定位出日志中存在的属于目标关键词集合的关键词。
92.其中,将日志与目标关键词集合中各个关键词匹配的具体实现方式可以有多种可能,本技术对此不加限制。
93.在一种可选方式中,为了提高匹配效率,本技术可以采用ac自动机(aho-corasick)算法对日志与目标关键词集合中各关键词进行匹配。其中,ac自动机是一种字符串多模式匹配算法,通过该种ac自动机算法进行关键词匹配可以提高匹配效率和准确度。
94.s204,如目标关键词集合中存在与日志匹配的至少一个关键词,基于日志的日志生成来源,在服务系统中重构并启动目标组件的替代组件或者组件运行环境的替代运行环境,并结束日志对应的数据处理设备中目标组件或者组件运行环境的运行。
95.可以理解的是,如果目标关键词集合中存在与日志匹配的至少一个关键词,则说明日志命中存在异常的关键词,也就说明生成该日志的组件或者组件运行环境中存在运行异常。
96.在一种可能的情况中,日志的日志生成来源表征日志为目标组件产生的日志,即日志生成来源为目标组件,则在服务系统中重构并启动目标组件的替代组件,并结束原目标组件的运行。
97.在一种具体方式中,在服务系统中重构并启动目标组件的替代组件可以是:在数据处理设备中启动并运行该目标组件的备份组件,相应的,可以采集该日志的数据处理设备中该目标组件的运行。
98.例如,数据处理设备内可以通过组件池等形式存储了目标组件的备份组件,在此基础上,如果目标组件存在异常,日志分析设备可以控制启动数据处理设备内的该备份组件。
99.或者,日志分析设备中存储多种组件的备份组件包。在此基础上,如果确定出该数据处理设备内的目标组件存在异常,可以将该目标组件对应的备份组件包传输给计算机,并控制计算机启动并运行备份组件包,以实现在数据处理设备中启动并运行目标组件的备份组件。
100.当然,日志分析设备也可以重新构建目标组件,得到目标组件的备份组件的数据并传输给数据处理设备。
101.在又一种具体方式中,服务系统中重构并启动目标组件的替代组件可以为在该日志对应的数据处理设备之外的其他数据处理设备中启动该目标组件,以替代数据处理设备中运行的该目标组件。
102.在又一种可能的情况中,日志的日志生成来源表征日志为组件运行环境产生的日志,即日志生成来源为组件运行环境,则在服务系统中重构并启动目组件运行环境的替代运行环境。
103.具体的,如日志生成来源为组件运行环境,则可以启动该日志对应的数据处理设备的备用设备,并结束该数据处理设备的运行。其中,备用设备具有与该数据处理设备相同的运行环境。
104.通过启用备用设备,可以通过备用设备来替代原数据处理设备提供该服务系统中相应的服务,从而较为及时恢复服务系统中原数据处理设备所提供的服务,减少用户对异常的感知。
105.由以上内容可知,在本技术的服务系统中,数据处理设备会将自身与组件运行相关的日志上报给日志处理设备,而日志处理设备会将日志与该日志的日志生成来源匹配的关键词集合进行关键词匹配。由于关键词集合中存储的是表征该日志生成来源的日志存在异常的关键词,因此,如果日志与该关键词集合中至少一个关键词匹配,则说明该日志属于存在异常的异常日志,而异常日志实际上表征日志生成来源对应的组件或者组件运行环境存在异常,从而可以及时发现服务器系统的各数据处理设备中组件运行异常。
106.在此基础上,本技术在日志与该关键词集合中至少一个关键词匹配的情况下,还会在服务系统中重构并启动该日志对应的目标组件的替代组件或者日志对应的组件运行环境的替代运行环境,从而可以及时修复服务系统中的某些组件或者组件运行环境的异常,提高服务系统的可用性。
107.可以理解的是,以上实施例是以日志分析设备对一条日志的处理为例进行说明,但是,在日志分析设备同时存在多套待处理的日志的情况下,可以按照本技术以上实施例的方法依次处理各条日志,具体过程相似。
108.在一种可选方式中,服务系统中的各个数据处理设备上报的日志会存储到日志队列,在此基础上,日志分析设备可以获得待处理的日志队列。日志队列包括来自多台数据处理设备的多条日志。该日志队列可以为按照日志的先后顺序,如,日志队列可以为一个时间序列。
109.相应的,日志分析设备可以按照日志队列中日志的先后顺序,将该日志队列中设
定数量条日志分配给设定数量条日志处理线程,以使得设定数量条日志处理线程并行处理该设定数量条日志。
110.其中,针对每条日志处理线程,该日志处理线程在获得分配的日志后,处理日志的过程可以参见前面实施例中s202到s204的相关操作,对此不再赘述。
111.可以理解的是,针对任意一种类型的组件或者组件运行环境,有些情况下日志中存在的异常的风险较低,或者是有些日志中的异常有可能是误报。为了在保证数据处理设备中组件的正常运行,本技术还可以在某个组件或者组件运行环境存在的异常为低风险的情况下,在多次出现该种异常情况后再重构并启动相应的组件或者组件运行环境。
112.为了便于理解,可以参见图3,其示出了本技术一种日志异常处理方法又一个实施例的流程示意图,本实施例的方法应用于日志分析设备。本实施例可以包括:
113.s301,获得待处理的日志队列。
114.该日志队列包括由服务系统中多台数据处理设备组件上报的多条日志。其中,日志的日志元数据包括日志的日志生成来源,该日志生成来源表征该日志所属的目标组件或者组件运行环境。
115.s302,按照日志队列中日志的先后顺序,将日志队列中设定数量条日志分配给设定数量条日志处理线程。
116.其中,可以按照日志队列中日志的先后顺序,依次取出日志并分配给空闲的日志处理线程,以使得该设定数量条日志线程并行处理设定数量条日志处理线程。
117.如,假设日志分析设备中部署有5条日志处理线程,则每次通过这5条日志处理线程并行处理5条不同的日志。同时,如果某条线程完成日志处理,使得该条日志处理线程空闲,则会继续从该日志队列中取出一条待处理的日志分配给该日志处理线程。
118.需要说明是,本实施例是以通过多条日志处理线程并行处理日志为例进行说明,在实际应用中,对于逐条日志进行处理的情况也适用于本实施例,对此不加限制。
119.s303,针对每条日志处理线程,日志处理线程依据分配给该日志处理线程的日志对应的日志生成来源,从多个关键词集合中,确定与该日志生成来源匹配的目标关键词集合,并执行步骤s304。
120.在本技术中,目标关键词集合中包括用于表征日志生成来源的日志存在异常的多个关键词。同时,目标关键词集合中各个关键词分别具有风险等级。
121.如,风险等级可以划分为高风险等级和低风险等级,相应的,根据实际情况,每个关键词的风险等级可以为高风险等级或者低风险等级。
122.当然,在实际应用中,风险等级还可以有更细粒度的划分,对此不加限制。
123.s304,通过日志处理线程将日志与目标关键词集合中各关键词进行匹配。
124.以上步骤s303和s304可以参见前面实施例的相关介绍,在此不再赘述。
125.s305,如该目标关键词集合中存在与该日志匹配的至少一个关键词,检测该至少一个关键词中是否存在属于设定的高风险等级的关键词,如果是,则执行步骤s306;如果否,则执行步骤s307。
126.s306,在服务系统中重构并启动该目标组件的替代组件或者该组件运行环境的替代运行环境,并结束该日志对应的数据处理设备中该目标组件或者组件运行环境的运行。
127.该步骤s306可以参见前面实施例的相关介绍,在此不再赘述。
128.s305,将该日志的日志生成来源对应的风险出现次数加一。
129.s308,如该日志的日志生成来源对应的风险出现次数超过设定次数,在服务系统中重构并启动该目标组件的替代组件或者该组件运行环境的替代运行环境,并结束该日志对应的数据处理设备中该目标组件或者组件运行环境的运行。
130.如,以日志的日志生成来源为目标组件为例,本技术在目标组件的日志匹配的该至少一个关键词均不属于设定的高风险等级的关键词时,确定该目标组件存在低风险,并将目标组件存在低风险的风险出现次数加一。在此基础上,该风险出现次数可以表征目标组件当前已出现低风险的总次数。
131.可以理解的是,针对数据处理设备中某个组件或者组件运行环境而言,该数据处理设备一般会采用设定的频率上报组件以及组件运行环境的日志,因此,在日志生成来源(如目标组件或者组件运行环境)对应的风险出现次数超过设定次数的情况下,则说明日志生成来源出现低风险的频率较高。
132.相应的,如果日志生成来源对应的风险出现次数超过设定次数,说明日志生成来源对应的目标组件或者组件运行环境存在异常,从而需要进行目标组件或者组件运行环境的异常修复。
133.为了便于理解图3,可以参见图4,其示出了本技术采用多线程并行处理日志的一种实现原理示意图。
134.在图4中处理器中可以运行有5条日志处理线程,这5条日志处理线程分别表示为处理器下面的5条带箭头的粗线。
135.在图4中白色的小方块表示一条日志。在图4中处理器中的5条日志处理线程中的每条日志处理线程均处理一条日志。
136.在图4中处理器右侧的方块表示尚未分配给多条日志处理线程处理的日志。如图4中处理器右侧白色的方块所示。
137.在图4中日志经日志处理线程处理后,得到日志对应的异常情况,如图4的处理器左侧的方块表示日志对应的异常情况,如,黑色方块表示日志具有高异常风险,具有多条竖条纹的方块表示日志具有低异常风险,而具有横条纹的方块表示日志不具有异常风险。
138.在图4中,处理器的每条日志处理线程均会将日志与相应的关键词集合进行匹配,得到该日志匹配的关键词。其中,如果日志匹配到的关键词具有高风险的关键词,则该日志对具有高异常风险;类似的,如果日志匹配到的关键词均不具有高风险,但是具有低风险的关键词,则该日志具有低异常风险。相应的,如果日志未匹配到关键词,则日志不具有异常风险。在该种情况下,每条日志处理线程完成一条日志的处理后,都会从处理器后侧尚未被处理的日志中取一个日志继续处理。
139.为了便于描述,以日志为数据处理设备中组件的日志为例说明。日志分析设备针对日志处理线程所分析到的日志与关键词的匹配情况,即日志的异常风险状况,可以执行不同的操作。如,如果检测到某条日志具有高异常风险等级,则可以控制该数据处理设备中启动相应组件的备份组件,并关闭原组件的运行。同时,如果分析出某个组件对应低异常风险,则可以统计处于低异常风险的日志的数量,以便在统计到该组件对应日志出现低异常风险超过设定数量的情况下,控制数据处理设备启动该组件的备份组件等。
140.可以理解的是,图3实施例也属于减少异常误报的一种实现方式。在实际应用中,
为了进一步减少组件或者组件运行环境的异常的误告警,本技术以上任意一个实施例中,在服务系统中重构并启动该目标组件的替代组件或者该组件运行环境的替代运行环境之前,还可以依据设定的误告警测试规则,对该日志的日志生成来源进行测试。
141.其中,针对不同的组件或者组件运行环境,误告警测试规则也会有所不同。针对同一种组件,则该组件的日志所匹配到的关键词不同的情况下,确定出的组件异常状况也会不同,相应的,误告警测试规则也可能会有所不同。
142.如,基于组件的日志匹配到的关键词表示:组件的读写操作申请不到内存,在此基础上,可以向相应的数据处理设备发送模拟组件读写的指令,并获得模拟的结果,如果模拟结果表示可以申请到组件读写所需的内容,则说明日志中的异常为误告警。
143.相应的,如果根据测试结果,确定出日志对应的异常为误告警,则不会重构并启动目标生成来源对应的目标组件或者组件运行环境。如果根据测试结果,确定出日志不存在异常误告警,则执行在在服务系统中重构并启动该目标组件的替代组件或者该组件运行环境的替代运行环境的操作。
144.在本技术中,数据处理设备采集日志并上报的具体方式可以通过在日志处理设备中配置相应的日志采集规则,并由日志处理设备将相应的日志采集规则下发给计算机设备,从而实现控制计算机设备所采集的日志类型等。
145.为了便于理解,可以参见图5,图5示出了本技术的日志异常处理方法的一种实现原理框图。
146.由图5可以看出,在服务系统中设置有配置模块,该配置模块设置于日志处理设备中。配置模块可以获得用户配置的日志采集规则,以及,不同组件和组件运行环境各自的关键词集合。
147.同时,服务系统还设置有日志采集模块,其中,在每台数据处理设备上均会设置有日志采集模块,该日志采集模块可以获得配置模块中配置的日志采集规则,并基于该日志采集规则进行日志采集,采集到的日志会上报给数据处理与告警模块。
148.其中,数据处理与告警模块也设置于日志处理设备中。该数据处理与告警模块可以从配置模块获得配置的不同种组件以及组件运行环境各自的关键词集合。同时,结合关键词集合对日志采集模块上报的日志进行异常检测。
149.在数据处理与告警模块检测到日志存在异常后,会通知组件置换模块对异常日志对应的组件或者组件运行环境进行修复。该组件置换模块设置与日志处理设备中。
150.为了便于理解,下面以配置模块中配置的日志采集规则为采集运行日志文件中的日志为例说明。
151.下面从数据处理设备与日志处理设备之间的流程交互来介绍本技术的日志异常处理方法。如图6所示,其示出了本技术一种日志异常处理方法一种流程交互示意图,本实施例的方法可以包括:
152.s601,数据处理设备确定运行日志文件中已完成日志采集的位置点。
153.其中,该运行日志文件至少包括组件运行过程中运行错误的日志。
154.运行日志文件中已完成日志采集的位置点,用于表征该运行日志文件中已完成采集处理的最后一条日志。如,该已完成日志采集的位置点为运行日志文件中最后一条被采集的日志对应的偏移量。通过该位置点可以表征出运行日志文件中待采集的日志的起始
点。
155.在一种可选方式中,本技术通过一个位置点记录文件来记录运行日志文件中已完成日志采集的位置点。考虑到相同路径下文件编号(如索引节点的编号)发生变化,则说明文件被重写了,因此,本技术中该位置点记录文件中还可以记录日志的路径信息和文件编号,以便在文件编号变化后,重新读取该路径信息下的文件中的日志。
156.s602,数据处理设备依据该位置点,从该运行日志文件中获取未被采集的日志,并为该日志添加日志元数据。
157.在本技术实施例中该日志元数据可以包括日志的日志生成来源,日志生成来源可以生成该日志的具体组件,或者生成该日志的组件运行环境。
158.如,运行日志文件中每条日志可以关联有生成该日志的组件的信息,基于此可以得到该日志的日志生成来源。当然,数据处理设备还可以通过其他方式确定自身存储的日志对应的日志生成来源,本技术对此不加限制。
159.同时,为了后续日志处理设备可以区分出该日志为哪台数据处理设备上报的日志,在该日志的日志元数据中还可以包括采集该日志的数据处理设备的信息,如该数据处理设备的设备标识等。
160.可以理解的是,为了后续更新该位置点,以及使得日志处理设备可以确定数据处理设备的日志采集进度等,日志元数据还包括日志在运行日志文件中的偏移量。
161.s603,数据处理设备将具有日志元数据的日志发送给日志处理设备。
162.需要说明的是,在本实施例是以配置模块中配置的需要采集的日志类型为日志运行文件为例说明,在实际应用中,需要采集的日志还可以包括前面提到的其他几种情况。
163.如,需要采集的日志包括组件运行过程中输出的输出数据。相应的,数据处理设备获取组件运行过程中输出的输出数据,将该输出数据确定为一条日志,在为该日志添加日志元数据后,可以向日志处理设备发送该条日志。
164.又如,需要采集的日志包括数据处理设备利用测试命令对组件进行运行测试所得到的测试结果,则数据处理设备获得该测试结果,为该测试结果添加上该组件的标识,得到一条日志。
165.s604,数据处理设备将该日志在运行日志文件中的偏移量记录为运行日志文件中已完成日志采集的位置点。
166.通过记录当前已上报的日志对应的偏移量,可以确定出已完成采集上报处理的日志。在此基础上,无论由于任何原因导致日志采集中断,均可以依据该已完成日志采集的位置点,确定未采集的日志,并继续进行日志采集,而无需重新从运行日志文件的开始重复采集日志。
167.如,可以位置点记录文件中记录的已完成日志采集的位置点更新为该日志的偏移量。
168.可以理解的是,考虑到数据处理设备中可能会不断持续产生日志,而日志处理设备的日志处理能力有限,为了避免日志堆积,减少日志处理设备的处理压力。在数据处理设备已上报且未被日志处理设备处理的日志超过日志处理设备的最大处理数量,则可以丢弃该数据处理设备采集到的日志,在此基础上,将已采集且丢弃的日志的偏移量同样记录为该已完成日志采集的位置点。
169.s605,日志处理设备将各数据处理设备上报的日志存储到日志队列中。
170.s606,日志处理设备按照日志队列中日志的先后顺序,将日志队列中设定数量条日志分配给设定数量条日志处理线程。
171.需要说明是,本实施例是以通过多条日志处理线程并行处理日志为例进行说明,对于前面提到的逐条日志处理的情况也适用于本实施例。
172.s607,针对每条日志处理线程,日志处理线程依据分配的日志对应的日志生成来源,从多个关键词集合中,确定与该日志生成来源匹配的目标关键词集合,并执行步骤s608。
173.s608,日志处理设备通过日志处理线程将日志与目标关键词集合中各关键词进行匹配。
174.s609,在目标关键词集合中存在与该日志匹配的至少一个关键词的情况下,如基于日志的日志生成来源确定日志为目标组件产生的日志,依据该日志的日志元数据中数据处理设备的信息,指示该数据处理设备中启动并运行该组件的备份组件,并结束该数据处理设备中该目标组件的运行。
175.其中,步骤s609为重构并启动目标组件的备份组件的一种实现方式为例说明,对于其他实现方式也同样适用于本实施例。
176.s610,在目标关键词集合中存在与日志匹配的至少一个关键词的情况下,如日志生成来源表征日志为组件运行环境相关的日志,依据日志的日志元数据中数据处理设备的信息,启动该数据处理设备对应的备用设备,并结束该数据处理设备的运行。
177.其中,数据处理设备对应的备用设备具有与该数据处理设备相同的运行环境。
178.在本实施例中,为了日志采集异常,该数据处理设备还会对日志采集情况进行自检。
179.如,在一种可能情况中,运行日志文件中已完成日志采集的位置点保存在位置点记录文件中,且已完成日志采集的位置点为已完成日志采集的最后一条日志的偏移量。
180.相应的,数据处理设备可以检测最后一条日志的偏移量与运行日志文件的大小的偏移差,如果该偏移差小于设定值,则确定日志采集异常,并向日志处理设备发送日志采集异常的报警信息。
181.其中,最后一条日志的偏移量与运行日志文件的大小的偏移差较小,则说明数据处理设备又重新从运行日志文件的起始位置开始采集日志,使得日志采集存在异常。通过向日志处理设备发送该日志采集异常的报警信息,可以由日志处理设备及时处理该日志采集异常。例如,日志处理设备可以依据日志处理设备已获得的日志,确定已采集日志的位置点,并指示数据处理设备按照该位置点采集该运行日志文件中的日志。
182.另外,数据处理设备还可以在检测到该位置点记录文件中记录的已完成日志采集的位置点超过设定时长未存在更新,则向日志处理设备发送位置点更新异常警报,以便日志处理设备及时处理该异常情况。
183.对应本技术的一种日志异常处理方法中日志处理设备侧的操作,本技术还提供了一种日志异常处理装置。
184.如图7所示,其示出了本技术一种日志异常处理方法又一个实施例的流程示意图,本实施例的方法应用于服务系统中的日志处理设备,该服务系统包括多台数据处理设备和
至少一台日志处理设备,该数据处理设备中运行有至少一种组件,包括:
185.日志获得单元701,用于获得该数据处理设备中组件运行相关的日志,该日志包括该日志的日志元数据,该日志元数据包括该日志的日志生成来源,该日志生成来源表征该日志所属的目标组件或者组件运行环境;
186.集合确定单元702,用于从多个关键词集合中,确定与该日志生成来源匹配的目标关键词集合,该目标关键词集合中包括用于表征该日志生成来源的日志存在异常的多个关键词;
187.关键词匹配单元703,用于将该日志与目标关键词集合中各关键词进行匹配;
188.异常恢复单元704,用于如该目标关键词集合中存在与该日志匹配的至少一个关键词,基于该日志的日志生成来源,在服务系统中重构并启动该目标组件的替代组件或者该组件运行环境的替代运行环境,并结束该日志对应的数据处理设备中该目标组件或者组件运行环境的运行。
189.在一种可能的实现方式中,该异常恢复单元可以包括:
190.第一异常处理单元,用于在该目标关键词集合中存在与该日志匹配的至少一个关键词的情况下,如该日志生成来源表征该日志为目标组件产生的日志,在该数据处理设备中启动并运行该目标组件的备份组件,并结束该数据处理设备中该目标组件的运行;
191.第二异常处理单元,用于在该目标关键词集合中存在与该日志匹配的至少一个关键词的情况下,如该日志生成来源表征该日志为组件运行环境相关的日志,启动该数据处理设备对应的备用设备,并结束该数据处理设备的运行,该备用设备具有与该数据处理设备相同的运行环境。
192.在又一种可能的实现方式中,该集合确定单元确定的目标关键词集合中各个关键词分别具有风险等级;
193.该异常恢复单元,包括:
194.风险累积子单元,用于如该目标关键词集合中存在与该日志匹配的至少一个关键词,且该至少一个关键词的风险等级均属于设定的低风险等级,则将该日志的日志生成来源对应的风险次数加一;
195.异常恢复子单元,用于如该日志的日志生成来源对应的风险次数达到设定次数,在服务系统中重构并启动该目标组件的替代组件或者该组件运行环境的替代运行环境,并结束该日志对应的数据处理设备中该目标组件或者组件运行环境的运行。
196.在又一种可能的实现方式中,日志获得单元,包括:
197.队列获得单元,用于获得待处理的日志队列,该日志队列包括来自该多台数据处理设备的多条日志;
198.该装置还包括:
199.线程分配单元,用于在该从多个关键词集合中,确定与该日志生成来源匹配的目标关键词集合之前,按照该日志队列中日志的先后顺序,将该日志队列中设定数量条日志分配给设定数量条日志处理线程,以使得该设定数量条日志处理线程并行处理该设定数量条日志。
200.又一方面,本技术还提供了一种计算机设备,该计算机设备可以为前面提到日志处理设备或者数据处理设备。
201.如图8,其示出了本技术提供的计算机设备的一种组成架构示意图。在图8中,该计算机设备800可以包括:处理器801和存储器802。
202.可选的,该计算机设备还可以包括:通信接口803、输入单元804和显示器805和通信总线806。
203.其中,处理器801、存储器802、通信接口803、输入单元804和显示器805均通过通信总线806完成相互间的通信。
204.在本技术实施例中,该处理器801,可以为中央处理器,特定应用集成电路等。
205.存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上实施例中提到的日志异常处理方法。
206.在一种可能的实现方式中,该存储器802可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、以上所提到的程序等;存储数据区可存储根据计算机设备的使用过程中所创建的数据。
207.该通信接口803可以为通信模块的接口。
208.本技术还可以包括输入单元804,该输入单元可以包括触摸感应单元、键盘等等。
209.该显示器805包括显示面板,如触摸显示面板等。
210.当然,图8所示的计算机设备结构并不构成对本技术实施例中计算机设备的限定,在实际应用中计算机设备可以包括比图8所示的更多或更少的部件,或者组合某些部件。
211.另一方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上任意一个实施例的日志异常处理方法。
212.本技术还提出了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述日志异常处理方法方面或日志异常处理装置方面的各种可选实现方式中所提供方法,具体实现过程可以参照上述相应实施例的描述,不做赘述。
213.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。同时,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本技术。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
214.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
215.对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
216.以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1