一种基于日志的系统故障预测方法、装置和设备与流程

文档序号:20264142发布日期:2020-04-03 18:10阅读:206来源:国知局
一种基于日志的系统故障预测方法、装置和设备与流程

本发明涉及数据处理技术领域,具体涉及一种基于日志的系统故障预测方法、装置和设备。



背景技术:

现有技术中,当计算机系统或者是其他系统出现故障时,通常都是通过对其进行日志分析,通过日志分析结果来确定系统故障类型的,这些日志中存储有系统的历史运行数据。

可见,现有技术中当前系统的日志分析很被动,都是生产过程中遇到问题后才进行日志分析,然后再根据分析结果调整系统参数和部署策略,当出现问题后,再解决问题,系统运维成本较高。



技术实现要素:

有鉴于此,本发明实施例提供一种基于日志的系统故障预测方法、装置和设备,以实现系统的故障预测。

为实现上述目的,本发明实施例提供如下技术方案:

一种基于日志的系统故障预测方法,包括:

依据预设数据抓取规则获取系统日志数据;

对获取到的日志数据进行数据分类得到异常数据、性能数据以及业务数据;

基于预设人工智能模型对所述异常数据、性能数据以及业务数据的变化趋势进行分析,并输出分析结果。

可选的,上述基于日志的系统故障预测方法中,基于预设人工智能模型对所述异常数据的变化趋势进行分析包括:

基于预设人工智能模型对异常数据的增长量进行分析,得到所述异常数据的增长量达到预设警戒值的时刻,所述异常数据的增长量包括但不限于异常数据在预设时间段内的出现次数,以及所述异常数据的值与正常数据的值的差值。

可选的,上述基于日志的系统故障预测方法中,基于预设人工智能模型对所述性能数据的变化趋势进行分析包括:

基于预设人工智能模型对系统的性能数据的变化趋势进行分析,得到所述性能数据达到预设性能阈值的时刻,所述性能数据包括但不限于系统内存和cpu使用率。

可选的,上述基于日志的系统故障预测方法中,基于预设人工智能模型对所述业务数据的变化趋势进行分析包括:

基于预设人工智能模型对系统的业务数据的变化趋势进行分析,得到各种所述业务数据的数据量的变化趋势。

可选的,上述基于日志的系统故障预测方法中,将获取到的性能数据与预设性能阈值进行对比,当所述性能数据达到所述预设性能阈值时,向上级系统输出扩容请求,以增大系统的系统资源。

一种基于日志的系统故障预测装置,包括:

日志数据抓取单元,用于依据预设数据抓取规则获取系统日志数据;

数据分类单元,用于对获取到的日志数据进行数据分类得到异常数据、性能数据以及业务数据;

数据分析单元,用于基于预设人工智能模型对所述异常数据、性能数据以及业务数据的变化趋势进行分析,并输出分析结果。

可选的,上述基于日志的系统故障预测装置中,所述数据分析单元在基于预设人工智能模型对所述异常数据的变化趋势进行分析时,具体用于:

基于预设人工智能模型对异常数据的增长量进行分析,得到所述异常数据的增长量达到预设警戒值的时刻,所述异常数据的增长量包括但不限于异常数据在预设时间段内的出现次数,以及所述异常数据的值与正常数据的值的差值。

可选的,上述基于日志的系统故障预测装置中,所述数据分析单元在基于预设人工智能模型对所述性能数据的变化趋势进行分析时,具体用于:

基于预设人工智能模型对系统的性能数据的变化趋势进行分析,得到所述性能数据达到预设性能阈值的时刻,所述性能数据包括但不限于系统内存和cpu使用率。

可选的,上述基于日志的系统故障预测装置中,所述数据分析单元在基于预设人工智能模型对所述业务数据的变化趋势进行分析时,具体用于:

基于预设人工智能模型对系统的业务数据的变化趋势进行分析,得到各种所述业务数据的数据量的变化趋势。

可选的,上述基于日志的系统故障预测装置中,所述数据分析单元还用于:将获取到的性能数据与预设性能阈值进行对比,当所述性能数据达到所述预设性能阈值时,向上级系统输出扩容请求,以增大系统的系统资源。

一种基于日志的系统故障预测设备,包括:

存储器和处理器;

所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,当所述程序代码被执行时,用于实现上述任意一项所述的基于日志的系统故障预测方法。

基于上述技术方案,本发明实施例提供的上述方案,采用所述预设人工智能模型对所述异常数据、性能数据以及业务数据的变化趋势进行预测,得到未来一段时间内的异常数据、性能数据以及业务数据的变化趋势,从而,实现了对系统工况的提前预警,系统运维人员可以依据所述异常数据、性能数据以及业务数据的变化趋势对所述系统进行针对性的管理和维护,降低了系统的运维成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例公开的基于日志的系统故障预测方法的流程示意图;

图2为本申请实施例公开的基于日志的系统故障预测方法对异常数据进行预测的流程示意图;

图3为本申请实施例公开的基于日志的系统故障预测方法对性能数据进行预测的流程示意图;

图4为本申请实施例公开的基于日志的系统故障预测方法对业务数据进行预测的流程示意图;

图5为本申请实施例公开的基于日志的系统故障预测装置的结构示意图;

图6为本申请实施例公开的基于日志的系统故障预测设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

针对于现有技术中,只有当系统出现故障后,才对日志数据进行分析,而对生产造成较大损失的问题,本申请公开了一种基于日志的系统故障预测方法,包括:

步骤s101:依据预设数据抓取规则获取系统日志数据;

在本方案中,系统内会存储有多个日志文件,不同日志文件用于存储系统内不同模块的日志信息,在本方案中,本申请会预先针对每个日志文件配置不同的数据抓取规则,在抓取日志数据时,基于所述预设抓取规则由所述日志文件中抓取日志数据,其中,所述日志文件包括但不限于中间件日志(apache、jboss等)、应用日志、系统运行指标和系统运行日志等;

步骤s102:对获取到的日志数据进行数据分类得到异常数据、性能数据以及业务数据;

在本步骤中,采用数据加工模块对采集到的日志数据进行数据过滤、加工,最后加工出来的日志数据分为三大部分:异常数据、性能数据以及业务数据;

所述异常数据,除了包括所述异常数据本身之外,还可以包括所述异常数据的异常发生的时间、异常内容、异常操作、异常级别、异常是否为可恢复的异常等信息中的一项或多项;

所述性能数据,除了包括系统性能数据本身之外,还可以包括系统获取到的请求数据的响应时间,以及其他用于表征系统对数据的响应能力的其他数据;

所述业务数据除了包括系统所处理的业务数据本身之外,还可以包括不同业务数据的请求时间分布、请求频率等信息。

为了便于数据管理,在本申请实施例公开的技术方案中,还配置有与所述异常数据、性能数据以及业务数据一一对应的数据表,所述异常数据、性能数据以及业务数据均可以存储在与之对应的数据表中。

步骤s103:基于预设人工智能模型对所述异常数据、性能数据以及业务数据的变化趋势进行分析,并输出分析结果;

人工智能模型为现有技术中常用的数据处理、预测方案,其主要是通过构建基础模型,再采用训练数据对基础模型进行训练得到。基于所处理的数据对象不同,所述人工智能模型预加载的基础模型不同,但其训练过程基本相同,在执行本方案之前,可以预先构建与所述异常数据、性能数据以及业务数据一一对应的人工智能模型,在得到所述异常数据、性能数据以及业务数据后,将所述异常数据、性能数据以及业务数据加载到与之对应的预设人工智能模型内,采用所述预设人工智能模型对所述异常数据、性能数据以及业务数据的变化趋势进行预测,得到未来一段时间内的异常数据、性能数据以及业务数据的变化趋势,从而,实现了对系统工况的提前预警,系统运维人员可以依据所述异常数据、性能数据以及业务数据的变化趋势对所述系统进行针对性的管理和维护,降低了系统的运维成本。

进一步的,在本申请实施例公开的技术方案中,所述异常数据类型不同,监控所述异常数据的标准也就不同,通常来讲,其可以分为异常数据值的大小监控和异常数据出现的频率监控,对此,在采用所述预设人工智能模型对所述异常数据进行分析时,可以预先依据所述异常数据的监控对象对所述异常数据进行分类,所述预设人工智能模型每次分析同一类型的异常数据,其输出结果可以包括本次输入所述预设人工智能模型的异常数据的异常数据值的增长速率以及所述异常数据的出现频率。

参见图2,上述方法中,基于预设人工智能模型对所述异常数据的变化趋势进行分析可以包括:

步骤s1031:基于预设人工智能模型对所加载的异常数据的增长量进行分析,预测得到未来预设时长内所述异常数据的增长趋势曲线;

步骤s1032:由所述异常数据的增长趋势曲线中获取异常数据的增长量达到预设警戒值的时刻。

所述异常数据的增长量包括但不限于异常数据出现的频次,即异常数据在预设时间段内的出现次数,以及所述异常数据的值与正常数据的值的差值。在本方案中,通过所述预设人工智能模型对所加载的异常数据的出现频率增长趋势以及异常数据的大小的变化趋势进行预测,得到未来一定时间段内的异常数据的变化趋势,并预测异常数据的值达到预设警戒值以及其出现频率达到预设警戒频率的时刻,实现了对系统故障的预测,能够有效避免系统因故障而停机。

在本方案中,随着系统所处理的数据量越来越大,其所需的内存、cpu等资源要求也越来越高,在本方案中,所述故障不仅仅指的是计算机数据处理过程中因数据处理错误而造成的系统故障,还可以包括因系统数据处理能力不足而造成而产生的故障,例如,因系统数据处理速度过慢,而导致某些数据或请求的响应超时,因此,在本方案中,还可以通过对系统性能进行检测,以预测系统对数据的处理速度和响应速度的变化趋势,此时,参见图3,上述方案中,基于预设人工智能模型对所述性能数据的变化趋势进行分析可以包括:

步骤s1033:基于预设人工智能模型对系统的性能数据的变化趋势进行分析,预测得到未来预设时长内所述性能数据的变化趋势曲线;

步骤s1034:由所述性能数据的增长趋势曲线中获取性能数据的增长量达到预设性能阈值的时刻。

所述性能数据包括但不限于系统内存和cpu使用率,即,在对所述性能数据进行预测时,也需要预先对所述性能数据进行分类,每次将同一类型的性能数据加载到所述预设人工智能模型中,例如,将用于表征系统的内存使用率的性能数据加载至所述预设人工智能模型,采用所述预设人工智能模型对所述系统的内存使用率的变化趋势进行预测,得到所述系统的内存使用率的增长趋势,基于所述增长趋势,得到所述系统的内存使用率达到内存使用率的时刻;将用于表征系统的cpu使用率的性能数据加载至所述预设人工智能模型,采用所述预设人工智能模型对所述系统的cpu使用率的变化趋势进行预测,得到所述系统的cpu使用率的增长趋势,基于所述增长趋势,得到所述系统的cpu使用率达到内存使用率的时刻。

采用本方案,还可以通过所述业务数据的变化趋势对用户需求趋势进行预测,以便于系统端合理分配系统资源,同理,上述方案中,在对所述业务数据的变化趋势进行预测时,同样需要对所述业务数据进行分类,每次将同一类型的业务数据加载到所述预设人工智能模型中,所述基于预设人工智能模型对所述业务数据的变化趋势进行分析包括:基于预设人工智能模型对系统的业务数据的变化趋势进行分析,得到各种所述业务数据的数据量的变化趋势,通过该数据量的变化趋势可以表明在未来一段时间内用户所需求的业务数据的变化情况,系统可以依据所述业务数据的变化趋势合理调整各个业务所占用的系统资源。

进一步的,在本申请实施例公开的技术方案中,在对所述性能数据进行分析时,检测到所述系统的性能数据已经达到预设性能阈值时,可以向上级系统发送扩容请求,以增大应用本方法的系统的系统资源,即,参见图4,上述方法还可以包括:

步骤s104:将获取到的性能数据与预设性能阈值进行对比,判断所述性能数据是否大于预设性能阈值;如果是,执行步骤s105;

步骤s105:当所述性能数据达到所述预设性能阈值时,向上级系统输出扩容请求,以增大系统的系统资源;

在本方案中,所述判断所述性能数据是否大于预设性能阈值可以指的是,预设时间段内所获取到的性能数据均大于预设性能阈值的情况,或者是,预设时间段内所获取到的性能数据的平均值大于预设性能阈值的情况。

对应于上述方法,本申请还公开了一种基于日志的系统故障预测装置,本实施例中所述基于日志的系统故障预测装置的各个单元的具体工作内容,请参见上述方法实施例的内容,下面对本发明实施例提供的基于日志的系统故障预测装置进行描述,下文描述的基于日志的系统故障预测装置与上文描述的基于日志的系统故障预测方法可相互对应参照。

参见图5,本申请实施例公开的基于日志的系统故障预测装置可以包括:

日志数据抓取单元100、数据分类单元200和数据分析单元300;

与上述方法相对应,所述日志数据抓取单元100,用于依据预设数据抓取规则获取系统日志数据;

与上述方法相对应,所述数据分类单元200用于对获取到的日志数据进行数据分类得到异常数据、性能数据以及业务数据,具体的,所述异常数据,除了包括所述异常数据本身之外,还可以包括所述异常数据的异常发生的时间、异常内容、异常操作、异常级别、异常是否为可恢复的异常等信息中的一项或多项;所述性能数据,除了包括系统性能数据本身之外,还可以包括系统获取到的请求数据的响应时间,以及其他用于表征系统对数据的响应能力的其他数据;所述业务数据除了包括系统所处理的业务数据本身之外,还可以包括不同业务数据的请求时间分布、请求频率等信息。在本方案中,为了便于数据管理,所述数据分类单元200中还配置有与所述异常数据、性能数据以及业务数据一一对应的数据表,所述异常数据、性能数据以及业务数据均可以存储在与之对应的数据表中;

与上述方法相对应,所述数据分析单元300用于基于预设人工智能模型对所述异常数据、性能数据以及业务数据的变化趋势进行分析,并输出分析结果。

在本方案中,所述数据分析单元300中存储有与所述异常数据、性能数据以及业务数据一一对应的人工智能模型,在得到所述异常数据、性能数据以及业务数据后,将所述异常数据、性能数据以及业务数据加载到与之对应的预设人工智能模型内,采用所述预设人工智能模型对所述异常数据、性能数据以及业务数据的变化趋势进行预测,即可得到未来一段时间内的异常数据、性能数据以及业务数据的变化趋势,从而,实现了对系统工况的提前预警,系统运维人员可以依据所述异常数据、性能数据以及业务数据的变化趋势对所述系统进行针对性的管理和维护,降低了系统的运维成本。

与上述方法相对应,所述数据分析单元在基于预设人工智能模型对所述异常数据的变化趋势进行分析时,可以预先依据所述异常数据的监控对象对所述异常数据进行分类,所述预设人工智能模型每次分析同一类型的异常数据,所述预设人工智能模型的输出结果可以包括本次输入所述预设人工智能模型的异常数据的异常数据值的增长速率以及所述异常数据的出现频率,所述数据分析单元300基于预设人工智能模型对所述异常数据的变化趋势进行分析可以包括:基于预设人工智能模型对所加载的异常数据的增长量进行分析,预测得到所述异常数据的增长量达到预设警戒值的时刻,所述异常数据的增长量包括但不限于异常数据出现的频次,即异常数据在预设时间段内的出现次数,以及所述异常数据的值与正常数据的值的差值。所述数据分析单元300通过所述预设人工智能模型对所加载的异常数据的出现频率增长趋势以及异常数据的大小的变化趋势进行预测,得到未来一定时间段内的异常数据的变化趋势,并预测异常数据的值达到预设警戒值以及其出现频率达到预设警戒频率的时刻,实现了对系统故障的预测,能够有效避免系统因故障而停机。

与上述方法相对应,所述数据分析单元在基于预设人工智能模型对所述性能数据的变化趋势进行分析时,具体用于:

基于预设人工智能模型对系统的性能数据的变化趋势进行分析,得到所述性能数据达到预设性能阈值的时刻,所述性能数据包括但不限于系统内存和cpu使用率,即,与上述方法实施例相同,所述数据分析单元在对所述性能数据进行预测时,也需要预先对所述性能数据进行分类,每次将同一类型的性能数据加载到所述预设人工智能模型中,例如,将用于表征系统的内存使用率的性能数据加载至所述预设人工智能模型,采用所述预设人工智能模型对所述系统的内存使用率的变化趋势进行预测,得到所述系统的内存使用率的增长趋势,基于所述增长趋势,得到所述系统的内存使用率达到内存使用率的时刻;将用于表征系统的cpu使用率的性能数据加载至所述预设人工智能模型,采用所述预设人工智能模型对所述系统的cpu使用率的变化趋势进行预测,得到所述系统的cpu使用率的增长趋势,基于所述增长趋势,得到所述系统的cpu使用率达到内存使用率的时刻。

与上述方法相对应,所述数据分析单元在基于预设人工智能模型对所述业务数据的变化趋势进行分析时,具体用于:

基于预设人工智能模型对系统的业务数据的变化趋势进行分析,得到各种所述业务数据的数据量的变化趋势,通过该数据量的变化趋势可以表明在未来一段时间内用户所需求的业务数据的变化情况,系统可以依据所述业务数据的变化趋势合理调整各个业务所占用的系统资源。与上述方法实施例相同,在获取到所述业务数据时,所述数据分析单元也可以先对所述业务数据进行分类。

进一步的,本申请实施例公开的上述方案中,所述数据分析单元还可以用于:将获取到的性能数据与预设性能阈值进行对比,当所述性能数据达到所述预设性能阈值时,向上级系统输出扩容请求,以增大系统的系统资源。

进一步的,参见图5,本申请实施例公开的上述方法中,还可以包括日志展示系统,所述日志展示系统用于展示所述数据分析单元300的预测结果。

对应的,本申请还公开了一种基于日志的系统故障预测设备,参见图6,该设备可以包括:

存储器400和处理器500;

所述干扰设备还包括通信接口600以及通信总线700,其中,存储器400、处理器500以及通信接口600通信均通过通信总线700实现相互间的通信。

所述存储器400用于存储程序代码;所述程序代码包括计算机操作指令。

存储器400可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

所述处理器500可以是一个中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。所述处理器500用于调用所述程序代码,当所述程序代码被执行时,用于执行本申请上述任意一项实施例所述的方法。

为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本发明时可以把各模块的功能在同一个或多个软件和/或硬件中实现。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1