CN112882795A - 虚拟机异常诊断方法、装置、设备及存储介质 - Google Patents
虚拟机异常诊断方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112882795A CN112882795A CN202110212534.0A CN202110212534A CN112882795A CN 112882795 A CN112882795 A CN 112882795A CN 202110212534 A CN202110212534 A CN 202110212534A CN 112882795 A CN112882795 A CN 112882795A
- Authority
- CN
- China
- Prior art keywords
- data
- virtual machine
- diagnosis
- type
- abnormal
- 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
- 238000003745 diagnosis Methods 0.000 title claims abstract description 234
- 238000000034 method Methods 0.000 title claims abstract description 78
- 230000002159 abnormal effect Effects 0.000 claims abstract description 136
- 230000003068 static effect Effects 0.000 claims abstract description 95
- 230000005856 abnormality Effects 0.000 claims abstract description 81
- 230000008859 change Effects 0.000 claims abstract description 73
- 238000010801 machine learning Methods 0.000 claims abstract description 68
- 238000012545 processing Methods 0.000 claims abstract description 38
- 238000001514 detection method Methods 0.000 claims description 110
- 238000012549 training Methods 0.000 claims description 19
- 230000015654 memory Effects 0.000 claims description 17
- 230000000737 periodic effect Effects 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 15
- 230000007547 defect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000002829 reductive effect Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 238000012800 visualization Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000003339 best practice Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种虚拟机异常诊断方法、装置、设备及存储介质,其中,方法包括:获取用于表征虚拟机的多个性能指标的时序数据;时序数据包括第一类型数据和第二类型数据;对第一类型数据通过静态阈值模型进行处理,获得第一诊断结果;对第二类型数据通过机器学习模型进行处理,获得第二诊断结果;当第一诊断结果和第二诊断结果中至少一个为异常时,确定虚拟机为异常。本申请中,将静态阈值模型和机器学习模型相结合,对虚拟机中每个指标进行检测,提高了异常诊断的效率;同时该诊断方法能够适应实际环境的变化,提高了异常诊断的准确性。
Description
技术领域
本申请实施例涉及虚拟机技术领域,涉及但不限于一种虚拟机异常诊断方法、装置、设备及存储介质。
背景技术
云计算领域中,进行虚拟机异常诊断的解决办法通常是采用静态扫描检测法,即以预定义的最佳实践为基线,扫描当前虚拟机的配置与性能指标,将偏离基线的配置或指标判定为异常。
但是,使用静态扫描检测法时,无法记录与分析虚拟机的历史异常,只能扫描虚拟机当前仍存在的异常,并且无法保证异常诊断的准确性。
发明内容
本申请实施例提供一种虚拟机异常诊断方法、装置、设备及存储介质。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种虚拟机异常诊断方法,包括:
获取用于表征虚拟机的多个性能指标的时序数据;所述时序数据包括第一类型数据和第二类型数据;
对所述第一类型数据通过静态阈值模型进行处理,获得第一诊断结果;
对所述第二类型数据通过机器学习模型进行处理,获得第二诊断结果;
当所述第一诊断结果和所述第二诊断结果中至少一个为异常时,确定所述虚拟机为异常。
在一些实施例中,所述第一类型数据对应的性能指标与一个目标静态阈值之间具有映射关系,且同一业务对应的所述目标静态阈值为固定值;所述第二类型数据为具有周期性的数据。
在一些实施例中,所述静态阈值模型中至少包括指标数值检测模块和异常持续时间检测模块;所述对所述第一类型数据通过静态阈值模型进行处理,获得第一诊断结果,包括:通过所述指标数值检测模块,确定所述第一类型数据与所述目标静态阈值之间的第一差值;当所述第一差值大于预设阈值时,确定所述第一类型数据为异常数据;通过所述异常持续时间检测模块,检测所述异常数据的持续时长;根据所述持续时长,确定所述第一诊断结果。如此,通过静态阈值模型,能够对第一类型数据进行准确的分析,并且能够消除第一类型数据中的瞬时值和数据误差的影响,提高了异常诊断的精确度。
在一些实施例中,所述根据所述持续时长,确定所述第一诊断结果,包括:当所述持续时长大于时长阈值时,确定出所述第一诊断结果为所述第一类型数据对应的性能指标为异常。
在一些实施例中,所述机器学习模型中至少包括规律检测模块、数据预测模块和数据诊断模块;所述第二类型数据为目标时间段内的数据;所述对所述第二类型数据通过机器学习模型进行处理,获得第二诊断结果,包括:获取预设历史时间段内的历史数据;将所述历史数据和所述第二类型数据,输入至预先训练得到的机器学习模型中;通过所述规律检测模块,对所述历史数据进行周期性规律检测,以确定所述历史数据的变化规律;通过所述数据预测模块,根据所述变化规律,确定在所述预设历史时间段之后的所述目标时间段内的预测数据;通过所述数据诊断模块,根据所述预测数据和所述第二类型数据,确定所述第二诊断结果。如此,通过机器学习模型,无需对虚拟机中每个指标都设置静态阈值,减少了工作量,提高了虚拟机异常诊断的效率。
在一些实施例中,所述机器学习模型通过以下步骤训练得到:将第一样本数据和第二样本数据输入至所述机器学习模型中;通过所述规律检测模块,对所述第一样本数据进行周期性规律检测,以确定所述第一样本数据在样本时间段内的样本变化规律;通过所述数据预测模块,根据所述样本变化规律,确定在所述样本时间段之后的目标样本时间段内的样本预测数据;通过所述数据诊断模块,根据所述样本预测数据和所述第二样本数据,确定样本诊断结果;将所述样本诊断结果输入至预设损失模型中,得到损失结果;根据所述损失结果,对所述规律检测模块、所述数据预测模块和所述数据诊断模块中的参数进行修正,以得到训练后的机器学习模型。如此,通过训练后的机器学习模型对虚拟机中第二类型数据进行诊断,提高了虚拟机异常诊断的准确性。
在一些实施例中,所述方法还包括:对所述历史数据和所述第二类型数据分别进行去噪处理,对应得到去噪后的历史数据和去噪后的第二类型数据;对应地,将所述去噪后的历史数据和所述去噪后的第二类型数据,输入至所述预先训练得到的机器学习模型中进行处理,以获得所述第二诊断结果。如此,通过去噪处理能够获得平稳有序的时序数据,减小虚拟机异常诊断时的误差,提高虚拟机异常诊断的精确度。
在一些实施例中,所述根据所述预测数据和所述第二类型数据,确定所述第二诊断结果,包括:确定目标时间段内所述预测数据的预测变化规律和所述第二类型数据的实际变化规律;当所述实际变化规律与所述预测变化规律不同时,确定出所述第二诊断结果为所述第二类型数据对应的性能指标为异常。
在一些实施例中,所述方法还包括:当确定出所述虚拟机为异常时,根据所述第一类型数据和所述第二类型数据确定所述虚拟机的异常原因;将所述第一诊断结果、所述第二诊断结果和所述异常原因存储至数据库中。
在一些实施例中,所述方法还包括:当确定出所述虚拟机为异常时,根据所述第一诊断结果和所述第二诊断结果形成第一告警信息,向终端发送所述第一告警信息;或者,当通过多个时序数据进行虚拟机异常诊断时的诊断结果均为异常诊断结果时,获取针对于相同业务的多个异常诊断诊断结果;将相同业务对应的多个异常诊断结果进行合并,得到合并诊断结果;根据所述合并诊断结果形成第二告警信息,并向所述终端发送所述第二告警信息。如此,当虚拟机业务数据出现异常时,能够及时告警通知接收者并提出建议,从而提高了解决虚拟机异常的效率,提高了虚拟机的工作效率。
本申请实施例提供一种虚拟机异常诊断装置,包括:
获取模块,用于获取用于表征虚拟机的多个性能指标的时序数据;所述时序数据包括第一类型数据和第二类型数据;
第一处理模块,用于对所述第一类型数据通过静态阈值模型进行处理,获得第一诊断结果;
第二处理模块,用于对所述第二类型数据通过机器学习模型进行处理,获得第二诊断结果;
确定模块,用于当所述第一诊断结果和所述第二诊断结果中至少一个为异常时,确定所述虚拟机为异常。
本申请实施例提供一种虚拟机异常诊断设备,包括:
存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现上述的虚拟机异常诊断方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现上述的虚拟机异常诊断方法。
本申请实施例中,在对虚拟机进行异常诊断时,获取虚拟机中多个性能指标的时序数据,该时序数据包括第一类型数据和第二类型数据,通过静态阈值模型对第一类型数据进行处理,获取第一诊断结果,通过机器学习模型对第二类型数据进行处理,获取第二诊断结果,当第一诊断结果和第二诊断结果中至少一个为异常时,确定该虚拟机为异常。如此,通过将静态阈值模型和机器学习模型相结合,对虚拟机中每个指标进行检测,提高了异常诊断的效率;同时该诊断方法能够适应实际环境的变化,提高了异常诊断的准确性。
附图说明
图1是本申请实施例提供的虚拟机异常诊断方法的一个可选的流程示意图;
图2是本申请实施例提供的虚拟机异常诊断方法的应用场景示意图;
图3是本申请实施例提供的虚拟机异常诊断方法的一个可选的流程示意图;
图4是本申请实施例提供的虚拟机异常诊断方法的一个可选的流程示意图;
图5是本申请实施例提供的机器学习模型训练方法的一个可选的流程示意图;
图6是本申请实施例提供的虚拟机异常诊断方法的一个可选的流程示意图;
图7是本申请实施例提供的虚拟机异常诊断系统的一个架构示意图;
图8是本申请实施例提供的虚拟机异常诊断方法的一个可选的流程示意图;
图9是本申请实施例提供的虚拟机异常诊断装置的组成结构示意图;
图10是本申请实施例提供的虚拟机异常诊断设备的组成结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本申请实施例所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在解释本申请实施例的方案之前,首先对本申请实施例找所涉及到的名词和专用术语进行解释:
1)人工智能(AI,Artificial Intelligence):是用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。在本申请实施例中,人工智能指虚拟机异常诊断系统能够正确解释外部数据,从这些数据中学习,并利用这些数据通过灵活适应实现特定目标和任务的能力。
2)WebHook:Webhook是一个应用程序接口(API,Application ProgrammingInterface)概念。Webhook作为一个轻量的事件处理应用,简单来说就是一种反向API机制,类似于触发器的一样。使用webhook就需要为对应的服务端设计一个统一资源定位符(hookurl),用于接收服务端的请求。
3)Dashboard:商业智能仪表盘(Business Intelligence Dashboard),是用于向企业展示度量信息和关键业务指标现状的数据虚拟化工具。
基于相关技术中所存在的问题,本申请实施例提出一种虚拟机异常诊断方法,在对虚拟机进行异常诊断时,获取虚拟机中多个性能指标的时序数据,该时序数据包括第一类型数据和第二类型数据,通过静态阈值模型对第一类型数据进行处理,获取第一诊断结果,通过机器学习模型对第二类型数据进行处理,获取第二诊断结果,当第一诊断结果和第二诊断结果中至少一个为异常时,确定该虚拟机为异常。如此,通过将静态阈值模型和机器学习模型相结合对虚拟机中每个指标进行检测,提高了异常诊断的效率;同时该诊断方法能够适应实际环境的变化,提高了异常诊断的准确性。
下面说明本申请实施例提供的虚拟机异常诊断设备的示例性应用,本申请实施例提供的虚拟机异常诊断设备可以实施为笔记本电脑、平板电脑、台式计算机、移动设备等各种类型的终端,也可以实施为服务器。下面,将说明虚拟机异常诊断设备实施为服务器时的示例性应用。
参见图1,图1是本申请实施例提供的虚拟机异常诊断方法的一个可选的流程示意图,将结合图1示出的步骤进行说明。
步骤S101、获取用于表征虚拟机的多个性能指标的时序数据。
这里,时序数据是指虚拟机在不同时间点收集到的性能指标的数据,时序数据用于描述性能指标对应的数据随时间变化的情况。
在本申请实施例中,时序数据包括第一类型数据和第二类型数据,其中,第一类型数据对应的性能指标与一个目标静态阈值之间具有映射关系,且同一业务对应的所述目标静态阈值为固定值;第二类型数据为具有周期性的数据。
本申请实施例提供的虚拟机异常诊断可以是实时诊断,也可以是非实时诊断,即时序数据可以是当前的数据,也可以是历史数据。当虚拟机异常诊断为实时诊断时,时序数据为当前数据,比如,在虚拟机异常诊断时设置每10秒检测一次,即时序数据为当前以及前10秒的数据;当异常诊断为非实时诊断时,时序数据可以是当前数据,也可以是历史数据,比如,今天可以检测昨天虚拟机的数据是否异常。
在一些实施例中,时序数据可以是由采集器采集,经过压缩处理后存储在数据库中。在对虚拟机某项业务进行异常检测时,从数据库中取出一段数据作为时序数据进行异常检测。
在一些实施例中,时序数据也可以是虚拟机当前时刻或某一时刻多个性能指标的数据集合,对此本申请不作限制。本申请实施例以时序数据为虚拟机中某一性能指标对应的数据加以解释。
在一些实施例中,虚拟机待检测数据可以是对应于主机中央处理器(CPU,CentralProcessing Unit)利用率、虚拟机CPU利用率、虚拟机CPU等待时间、主机内存页交换、主机内存空闲状态、主机气球活动、磁盘吞吐量或磁盘IO延时等评估指标。
步骤S102、对所述第一类型数据通过静态阈值模型进行处理,获得第一诊断结果。
需要说明的是,第一类型数据是指受业务影响较小的时序数据,即第一类型数据与一个目标静态阈值之间有映射关系,且同一业务对应的所述目标静态阈值为固定值。因此,同一性能指标的第一类型数据对应一个目标静态阈值,该目标静态阈值不随时间的变化而改变。静态阈值库用于存储第一类型数据对应的目标静态阈值。
在一些实施例中,静态阈值模型中包括虚拟机中多个性能指标的预设阈值,即目标静态阈值。
在一些实施例中,虚拟机不同业务性能指标的数据特征不同。当虚拟机的部分业务的性能指标数据受业务变化的影响小时,则服务器可以对该业务对应的性能指标数值测算出一个目标静态阈值,并将该目标静态阈值存储放入静态阈值库中。服务器可以通过该目标静态阈值对该业务性能指标的时序数据进行诊断,获得第一诊断结果,以判断虚拟机是否异常。
步骤S103、对所述第二类型数据通过机器学习模型进行处理,获得第二诊断结果。
这里,第二类型数据是指具有周期性的数据,且第二类型数据为目标时间段内的数据。预设历史时间段是指当前时刻之前,与目标时间段相对应的一段时间,其中,目标时间段与预设历史时间段的时长可以相同,例如:预设历史时间段为当前时间之前的一周时间(即上周一至周日),则目标时间段为本周一至周日;目标时间段与预设历史时间段的时长也可以不同,例如:历史时间段为当前时间之前的三周时间,则目标时间段为本周一至周日,那么,由于第二类型数据具有周期性,如果目标时间段中的第二类型数据为一个周期,则历史时间段中的第二类型数据为三个周期。
在一些实施例中,当虚拟机部分性能指标的时序数据受业务变化的影响大时,无法为该性能指标的时序数据准确的设置一个合理的静态阈值,此时,该性能指标的时序数据在静态阈值库中不能匹配到一个合适的静态阈值。因此,在对该时序数据进行异常诊断时,获取预设历史时间段内该性能指标的时序数据,通过机器学习模型对目标时间段内的时序数据进行预测,根据预测后的预测数据对该业务性能指标的第二类型数据进行诊断,获得第二诊断结果,以判断虚拟机是否异常。
在一些实施例中,当虚拟机运行的性能指标的时序数据不具备周期性时,可以通过函数选择AI模型引擎中的其他的机器学习模型来对该性能指标的时序数据进行异常诊断,本申请实施例对此不做限制。
步骤S104、当所述第一诊断结果和所述第二诊断结果中至少一个为异常时,确定所述虚拟机为异常。
在本申请实施例中,当使用静态阈值模型和机器学习模型对虚拟机的多个性能指标的时序数据进行诊断时,如果第一诊断结果和第二诊断结果中至少一个诊断结果为异常时,则确定虚拟机运行异常。
本申请实施例对虚拟机的多个性能指标的时序数据,通过静态阈值模型和机器学习模型进行诊断,通过诊断结果判断虚拟机是否异常,如此,本申请实施例提供的虚拟机诊断方法将静态阈值模型和机器学习模型相结合对虚拟机中每个指标进行检测,减少了工作量,提高了异常诊断的效率;同时该诊断方法能够适应实际环境的变化,提高了异常诊断的准确性。
参见图2,图2是本申请实施例提供的虚拟机异常诊断方法的应用场景示意图。为实现对虚拟机指标数据进行异常,本申请实施例提供的虚拟机异常诊断系统20中包括终端100、网络200和服务器300,其中,终端100上运行有虚拟机,在进行虚拟机异常诊断时,服务器可以采用本申请实施例的方法,自动确定出虚拟机的数据是否异常,并形成后续告警信息并发送。在进行异常检测时,服务器300通过网络200获取终端100的时序数据,通过静态阈值模型和机器学习模型进行诊断,通过诊断结果判断虚拟机是否异常,当第一诊断结果和第二诊断结果中至少一个诊断结果为异常时,形成虚拟机异常提示消息,并通过网络200将虚拟机异常提示消息发送给终端100,以实现对虚拟机使用人员进行虚拟机异常提示。当终端100接收到虚拟机异常提示消息之后,可以在当前界面100-1上直接显示接收到的虚拟机异常提示消息。
在一些实施例中,虚拟机中部分指标的数值受业务变化影响小,可以测算出静态阈值,这类指标可以用静态阈值模型来检测虚拟机是否异常,其中,静态阈值模型中至少包括指标数值检测模块和异常持续时间检测模块。基于前述实施例,图3是本申请实施例提供的虚拟机异常诊断方法的一个可选的流程示意图,如图3所示,在一些实施例中,步骤S102可以通过以下步骤实现:
步骤S301、通过所述指标数值检测模块,确定所述第一类型数据与所述目标静态阈值之间的第一差值。
这里,指标数值检测模块用于检测数据与目标静态阈值之间的差值。
在一些实施例中,虚拟机中部分指标数据的数值受业务变化影响小,这类指标对应的第一类型数据在静态阈值库能够匹配到一个合适的目标静态阈值,获取第一类型数据与目标静态阈值之间的第一差值,用于判断所述第一类型数据对应的指标是否异常。
步骤S302、当所述第一差值大于预设阈值时,确定所述第一类型数据为异常数据。
需要说明的是,预设阈值是指第一类型数据与目标静态阈值之间的第一差值的一个临界值,当第一差值大于预设阈值时,确定该虚拟机异常。
步骤S303、通过所述异常持续时间检测模块,检测所述异常数据的持续时长。
这里,异常持续时间检测模块用于检测异常数据的持续时间。
步骤S304、当所述持续时长大于时长阈值时,确定出所述第一诊断结果为所述第一类型数据对应的性能指标为异常。
需要说明的是,时长阈值是异常数据持续时间的临界值,当异常数据的持续时长大于时长阈值时,得到第一诊断结果为该第一类型数据对应的性能指标为异常,即虚拟机异常。
本申请实施例通过静态阈值模型对部分受业务变化的影响小的时序数据进行诊断,以异常数据持续的时长判断虚拟机是否异常,使得本申请实施例提供的虚拟机异常诊断方法能够消除瞬时值和数据误差的影响,提高了异常诊断的精确度。
在一些实施例中,虚拟机中部分指标的数值具有周期性,因此可以使用机器学习模型学习时序数据的规律来对虚拟机进行异常检测,其中,机器学习模型中至少包括规律检测模块、数据预测模块和数据诊断模块。基于前述实施例,图4是本申请实施例提供的虚拟机异常诊断方法的一个可选的流程示意图,如图4所示,在一些实施例中,步骤S103可以通过以下步骤实现:
步骤S401、获取预设历史时间段内的历史数据。
需要说明的是,历史数据是指预设历史时间段内,与第二类型数据对应指标的时序数据。
步骤S402、将所述历史数据和所述第二类型数据,输入至预先训练得到的机器学习模型中。
在一些实施例中,在将历史数据和第二类型数据输入机器学习模型之前,还可以对历史数据和第二类型数据分别进行去噪处理。
需要说明的是,去噪处理是指去除掉所述历史数据和第二类型数据中的离群值,和/或通过求差值的方法填充历史数据和第二类型数据中未采集到的数值,以得到去噪后的历史数据和第二类型数据。比如,在数据采集中采集到了偏离指标数据的离群值时,将该点从指标数据中去掉;如果在数据采集过程中某个时间点的数据未采集到,将该点前后的指标数据通过求差值的方法计算出该点的数值。
在一些实施例中,对指标数据进行去噪处理是为了获得平稳有序的数据,减小虚拟机数据诊断时的误差。
步骤S403、通过所述规律检测模块,对所述历史数据进行周期性规律检测,以确定所述历史数据的变化规律。
这里,由于第二类型数据具有周期性,所以第二类型数据对应指标的历史数据也具备周期性,通过规律检测模块,可以得到历史数据的变化规律。
步骤S404、通过所述数据预测模块,根据所述变化规律,确定在所述预设历史时间段之后的所述目标时间段内的预测数据。
在一些实施例中,目标时间段是与预设历史时间段之后,切与预设历史时间段相对应的一段时间。假设目标时间段与预设历史时间段的时长相同,即设历史时间段为当前时间之前的一周时间(即上周一至周日),则目标时间段为本周一至周日。
需要说明的是,由与第二类型数据具有周期性,因此在获取了预设历史时间段内历史数据的变化规律后,可以通过数据预测模块,确定目标时间段内时序数据的预测值,即预测数据。
步骤S405、确定目标时间段内所述预测数据的预测变化规律和所述第二类型数据的实际变化规律。
这里,预测变化规律是指预测数据的变化规律;实际变化规律是指虚拟机在实际运行中产生的第二类型数据的变化规律。
步骤S406、当所述实际变化规律与所述预测变化规律不同时,确定出所述第二诊断结果为所述第二类型数据对应的性能指标为异常。
在一些实施例中,实际变化规律与预测变化规律不同,可以是实际变化规律的趋势与预测变化规律的趋势不同,举例来说,预测数据的预测变化规律显示本周一至本周日的数据呈正弦变化,但实际变化规律显示本周一至本周日虚拟机运行产生的时序数据呈余弦变化,则实际变化规律的趋势与预测变化规律的趋势不同。
本申请实施例中,当实际变化规律与预测变化规律不同时,确定出第二诊断结果为第二类型数据对应的性能指标为异常,即虚拟机异常。
本申请实施例通过预设历史时间段内的历史数据,根据机器学习模型确定出目标时间段内的预测数据,根据预测数据的预测变化规律和目标时间段内第二类型数据的实际变化规律来判断虚拟机是否异常,使得本申请实施例提供的虚拟机异常诊断方法无需对虚拟机中每个指标都设置静态阈值,减少了工作量,提高了虚拟机异常诊断的效率。
基于前述实施例,图5是本申请实施例提供的机器学习模型训练方法的一个可选的流程示意图,如图5所示,在一些实施例中,机器学习模型的训练可以通过以下步骤实现:
步骤S501、将第一样本数据和第二样本数据输入至所述机器学习模型中。
这里,第一样本数据和第二样本数据是指相同时长的第二类型数据。
在一些实施例中,第一样本数据和第二样本数据是已知的,通过已知的时序数据对机器模型进行修正,已得到正确的机器学习模型。第二样本数据为预先标注好的数据,即可以预先标注出第二样本数据对应的诊断结果。
步骤S502、通过规律检测模块,对所述第一样本数据进行周期性规律检测,以确定所述第一样本数据在样本时间段内的样本变化规律。
步骤S503、通过数据预测模块,根据所述样本变化规律,确定在所述样本时间段之后的目标样本时间段内的样本预测数据。
需要说明的是,目标样本时间段是指样本时间段之后,且与样本时间段相对应的一段时间,比如,样本时间段为上周一至周日,则目标样本时间段为本周一至周日。
步骤S504、通过所述数据诊断模块,根据所述样本预测数据和所述第二样本数据,确定样本诊断结果。
步骤S505、根据所述变化规律和所述映射关系,对所述业务在所述目标时间段内的目标指标数据进行预测。
步骤S506、将所述样本诊断结果输入至预设损失模型中,得到损失结果。
本申请实施例中,预设损失模型中包括损失函数,通过损失函数计算样本诊断结果与预先标注的损失结果之间的相似度,将所得到的相似度确定为该损失结果。
在一些实施例中,样本诊断结果与预先标注的损失结果之间的相似度可以取值0到100%。这里,可以预先设置一相似度阈值,当样本诊断结果与预先标注的损失结果之间的相似度大于相似度阈值时,表明机器学习模型能够准确的预测出第二样本数据的变化规律,因此无需对机器学习模型进行进一步的训练,即可以停止对机器学习的继续训练;样本诊断结果与预先标注的损失结果之间的相似度小于或等于相似度阈值时,表明机器学习模型不能准确的预测出第二样本数据的变化规律,因此需要继续对机器学习模型进行进一步的训练。
在一些实施例中,还可以设置机器学习模型训练过程的收敛条件,例如,收敛条件可以是当训练时长达到时长阈值时,则停止对机器学习模型的训练,或者,收敛条件可以是当训练次数达到次数阈值时,则停止对机器学习模型的训练,或者,收敛条件可以是当机器学习模型输出的样本诊断结果与预先标注的损失结果之间的相似度大于上述相似度阈值时,则停止对机器学习模型的训练。
步骤S507、根据所述损失结果,对所述规律检测模块、所述数据预测模块和所述数据诊断模块中的参数进行修正,以得到训练后的机器学习模型。
这里,对规律检测模块、数据预测模块和数据诊断模块中的参数进行修正是指,修正机器学习模型的参数,使得将第一样本数据输入机器学习模型后得到的预测数据的变化规律与第二样本数据的变化规律相同。
本申请实施例通过样本数据对机器学习模型进行修正,得到训练后的机器学习模型,因此,在检测时通过训练后的机器学习模型对虚拟机中第二类型数据进行诊断,提高了虚拟机异常诊断的准确性。
在一些实施例中,在检测出虚拟机异常后,保存诊断结果并发送告警通知至用户终端。基于前述实施例,图6是本申请实施例提供的虚拟机异常诊断方法的一个可选的流程示意图,如图6所示,在一些实施例中,在检测出虚拟机异常后,还可以有以下步骤:
步骤S601、根据第一类型数据和第二类型数据确定所述虚拟机的异常原因。
在一些实施例中,虚拟机异常的原因通常有:存储阵列无法在存储卷中找到对应故障的快照、命名通过站点恢复管理器(SRM,Site Recovery Manager)工具被手动变更或安装了新的SRM等。
这里,根据第一诊断结果和第二诊断结果确定出虚拟机异常后,根据第一类型数据和第二类型数据确定虚拟机的异常原因。举例来说:对于业务A,如果A对应的时序数据为第一类型数据,则检查第一类型数据中出现异常的时间和异常持续时间,根据异常时间查找问题事件,假如在异常点时两个站点之间的命名被改变,那么该异常的原因是命名通过站点恢复管理器工具被手动变更或者安装了新的SRM。
步骤S602、将第一诊断结果、第二诊断结果和异常原因存储至数据库中。
这里,数据库用于对采集到的数据进行集中存储,当虚拟机的诊断结果为异常时,可以将检测得到的第一诊断结果、第二诊断结果和异常原因存储至数据库中。
在一些实施例中,数据库可以是时序数据库,数据库中存储的数据至少包括时序数据和诊断结果,其中,异常诊断的结果可以包括:异常名称、异常描述、异常级别、异常类型、异常原因、异常建议等字段。
在一些实施例中,数据库还可以是云端存储器对应的数据库,即可以将时序数据和诊断结果等存储至云端存储器中。
步骤S603、根据所述第一诊断结果和所述第二诊断结果形成第一告警信息,向终端发送所述第一告警信息。
需要说明的是,第一告警信息是根据诊断结果形成的,第一告警信息可以包括:异常名称、异常描述和异常建议等。
在一些实施例中,用户预先设置了告警接收者,用于接受虚拟机的异常告警。服务器对异常结果进行收敛后形成告警信息,发送至预定义的告警接收者的终端。
在一些实施例中,当某次异常诊断时的诊断结果表明该虚拟机的异常对虚拟机运行无影响时,则该异常结果可以不形成告警信息,且不通知预定义的告警接收者。
步骤S604、获取针对于相同业务的多个异常诊断诊断结果。
在一些实施例中,虚拟机中同一业务可能出现几处错误运行数据,根据多个时序数据可以对应获取多个异常诊断结果。
步骤S605、将相同业务对应的多个异常诊断结果进行合并,得到合并诊断结果。
在一些实施例中,为了避免告警风暴,需要将相同业务的多个异常诊断结果合并为一个合并诊断结果。举例来说,对于业务A,采集了多个时序数据,根据这多个时序数据进行异常诊断,对应得到多个结果;如果这多个结果均为异常诊断结果,那么,为了避免在异常诊断告警时进行多次告警,形成告警风暴,可以将多个异常诊断结果合并为一个结果,这样,在进行异常诊断告警时,只需要进行一次告警即可,不仅避免了告警风暴,还降低了告警信息上报时的带宽消耗。
步骤S606、根据所述合并诊断结果形成第二告警信息,并向所述终端发送所述第二告警信息。
在一些实施例中,当业务A的多个时序数据均诊断出异常,将多个异常诊断结果合并为一个合并诊断结果,将合并诊断结果的异常名称、异常描述和异常建议整合为一条告警信息,将除告警信息记载的诊断结果之外的其他诊断结果的异常名称、异常描述和异常建议等进行收敛,放入告警信息中一并发送至用户终端,用户需要时再进行查看。
本申请实施例对虚拟机诊断的异常结果进行处理,使得虚拟机业务数据出现异常时,能够及时通知告警接收者并提出建议,从而提高了解决虚拟机异常的效率,提高了虚拟机的工作效率。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
图7是本申请实施例提供的虚拟机异常诊断系统的一个架构示意图,如图7所示,所述虚拟机异常诊断系统700包括数据库模块710、异常检测引擎720、告警管理模块730和可视化模块740。
在一些实施例中,数据库模块710负责对数据进行集中存储,在一些实施例中,可以使用时序数据库。数据存储的数据包括指标时序数据与异常诊断结果两部分。
在一些实施例中,异常检测引擎720是本申请实施例提供的虚拟机异常诊断系统的核心模块,负责检测指标异常。本申请实施例提供的异常检测引擎720包括静态阈值引擎(即静态阈值模型)与AI模型引擎(即机器学习模型),在应用中对不同性能指标的时序数据分别通过静态阈值模型与AI模型来判定该指标是否异常。异常检测引擎720从数据库710中读取性能指标的时序数据,并将异常检测结果写回数据库710,同时,异常检测引擎720会发送异常告警到告警管理模块730,由告警管理模块730对异常告警进行下一步处理。
在一些实施例中,部分业务指标的数值受业务变化影响小,可以测算出一个静态的阈值(即目标静态阈值),因此可以直接通过静态阈值检测的方式来对虚拟机进行异常检测。静态阈值引擎720读取采集的虚拟机性能指标数据(即时序数据),逐个判断数值是否超过阈值,若数值超过阈值且持续了一定时间即视虚拟机的该性能指标数据为异常。
本申请实施例中的静态阈值引擎可以分析虚拟机历史性能数据,解决了相关技术中使用静态扫描检测法无法分析虚拟机历史异常的缺陷。
在一些实施例中,大多数虚拟机业务指标的数值具有周期性,因此可以使用AI模型引擎学习数据的规律以此来进行异常检测。AI异常检测引擎的原理是学习过去一段时间内该业务指标的变化规律(即第二类型数据在所述预设历史时间段内的变化规律),并输出未来时间段的预测数据(目标时间段内的预测数据),即输出性能指标时序数据的预测值,然后用性能指标的实际值与预测值进行比较,如果数值偏差过大则将其视为异常。
本申请实施例使用AI模型引擎进行异常检测不需要提前设置每个业务指标的静态阈值,引擎会根据数值变化自适应地进行检测,当虚拟机业务发生变化时,指标数值的规律也会发生变化。如果使用静态阈值,则需要手动调整阈值,而AI模型引擎不需要对阈值进行手动调整,AI模型引擎会根据规律的变化自动更新模型。
在一些实施例中,AI模型引擎可以分析历史性能数据,解决了静态扫描检测法无法分析历史异常的缺陷,AI模型引擎同时能够解决静态阈值检测法预定义阈值工作量大,且阈值无法适应不断变化的实际环境的缺陷。
本申请实施例中,告警管理模块730负责对异常检测引擎的异常检测结果进行集中处理。告警管理模块730具有告警定义、告警收敛、告警静默、告警分组四大功能,将处理后的告警通知发送给定义好的接收端(即预定义的告警接受者),接收告警通知的形式可以是电子邮件(Email)、短信息(SMS)、事件处理应用(WebHook)形式。
本申请实施例中,可视化模块740负责对指标数据与告警结果进行可视化展示。可视化模块740具有三个功能,包括:商业智能仪表盘功能(Dashboard)、告警中心和分析图表。
在一些实施例中,Dashboard用于总览虚拟机集群的整体状态,并展示各虚拟机异常状态;告警中心用于集中展示告警通知,可视化模块740支持集群视角与虚拟机视角查看,支持时间、虚拟机名、告警类型、告警级别等筛选项,数据通过告警管理模块的接口获取;分析图表用于展示虚拟机内各项分析图表,供虚拟机用户进一步分析虚拟机的性能瓶颈,分析图表从数据库中获取指标原始数据,通过统计分析后转换成图表形式。
本申请实施例提供的虚拟机异常诊断系统,提供了对虚拟机进行异常检测、告警管理、告警分析可视化的完整流程与功能,提高了运维人员排查虚拟机性能问题的效率,节省运维成本。
基于上述虚拟机异常诊断系统,图8是本申请实施例提供的虚拟机异常诊断方法的一个可选的流程示意图,如图8所示,在一些实施例中,虚拟机异常诊断方法可以通过以下步骤实现:
步骤S801、将时序数据输入虚拟机异常诊断系统。
在一些实施例中,时序数据是指业务性能指标的原始数据,包括时间戳以及指标数值两部分。时序数据由采集器采集,经过处理后存储在时序数据库中。
本申请实施例中,对虚拟机某项指标进行异常检测时,首先需要从数据库中取出一段时序数据输入系统。
步骤S802、根据预设配置选择异常检测引擎对虚拟机进行异常诊断。
在一些实施例中,虚拟机异常诊断系统预定义了异常检测策略,为虚拟机不同业务的运行数据分配了不同的异常检测方式。虚拟机不同业务的运行数据特征不同,有的运行数据受业务变化影响小,可以测算出静态阈值,此类业务的运行数据适合用静态阈值引擎来检测。而有些运行数据受业务变化影响较大,无法准确的设置一个合理的静态阈值,更适合用AI模型引擎来学习业务的运行数据变化规律,进行动态异常检测。
在一些实施例中,服务器根据预设配置,选择对虚拟机异常数据进行诊断的异常检测引擎。
步骤S803、对时序数据的指标数值进行异常检测,得到异常时序数据。
在一些实施例中,当虚拟机的部分业务指标的数据受业务变化的影响小于预设数值时,可以测算出静态阈值,当该业务指标的数据可以测算出静态阈值时(即目标静态阈值),根据该静态阈值对时序数据的指标数值进行异常检测,得到异常时序数据。
本申请实施例中,当时序数据的指标数值超过静态阈值时,继续执行步骤S804。
步骤S804、对所述异常时序数据的异常持续时间进行检测,得到第一检测数据。
在一些实施例中,当时序数据的指标数值超过静态阈值时得到异常时序数据,继续对异常时序数据的异常持续时间进行检测,当异常数据持续一段时间确定当前时序数据为第一检测数据。
本申请实施例中的静态阈值引擎721通过指标数值检测、异常持续时间检测两个步骤,其中,静态阈值引擎首先将当前指标数值按照静态阈值进行条件判断,若当前指标超过静态阈值,则视当前指标数值为一个异常点。其次,为了消除瞬时值和数据误差的影响,异常点需要持续一段时间才会生成一个异常告警。因此,通过本申请实施例提供的虚拟机异常诊断方法能够消除瞬时值和数据误差的影响,使得诊断结果更准确。
在一些实施例中,静态阈值引擎中至少包括静态阈值模型。
步骤S805、采用AI模型引擎对所述时序数据进行检测,得到第二检测数据。
在一些实施例中,大多数时序数据的数值具有周期性,因此可以使用AI模型引擎722学习数据的规律,来对时序数据进行异常检测,得到第二检测数据。这里,AI模型引擎中至少包括机器学习模型。
本申请实施例提供的AI模型引擎722使用了基于机器学习的时序预测模型,根据指标数值的周期性自适应地进行异常检测,不需要手动设置静态阈值,且AI模型引擎会根据业务地变化自动更新。使得采用AI模型引擎722对时序数据进行检测,解决了静态扫描检测法无法分析历史异常的缺陷,同时解决了单纯静态阈值检测法预定义阈值工作量大,且阈值无法适应不断变化的实际环境的缺陷。
步骤S806、判断所述第一检测数据或所述第二检测数据是否出现异常。
在一些实施例中,若所述第一检测数据或所述第二检测数据为异常数据时,执行步骤S807;若该所述第一检测数据或所述第二检测数据未检测出异常,则回到步骤S801进行下一轮的检测。
步骤S807、当所述第一检测数据或所述第二检测数据为异常数据时,生成异常检测结果,并将异常检测结果存储进数据库中。
在一些实施例中,当虚拟机异常检测结果表示该时序数据为异常数据时,生成异常检测结果,并将对该时序数据异常检测的结果存储进数据库中,其中,异常检测的结果包括:异常名称、异常描述、异常级别、异常类型、异常原因、异常建议等字段。
步骤S808、对异常检测结果进行告警收敛。
在一些实施例中,为了避免造成对告警信息接收者的告警风暴,需要对异常告警进行收敛。告警收敛是指将同一对象同一类型的告警合并,作为一个告警发出通知,以此减少告警的数量,减轻用户处理告警的工作量。
步骤S809、基于所述异常检测结果形成告警信息并发送。
在一些实施例中,用户预先设置了告警接收者,用于接受虚拟机的异常告警。对异常检测结果进行告警收敛后,形成告警信息,将该告警信息发送至预定义的告警接收者。
本申请实施例采用静态阈值检测法,结合基于预测的AI模型引擎检测法,解决了相关技术中静态扫描检测法无法分析历史异常的缺陷,同时解决了单纯静态阈值检测法预定义阈值工作量大,且阈值无法适应不断变化的实际环境的缺陷。
本申请实施例针对云计算领域的虚拟机异常检测问题,采用静态阈值检测法结合基于预测的AI检测法,解决了静态扫描检测法无法分析历史异常的缺陷,解决了单纯静态阈值检测法预定义阈值工作量大,且阈值无法适应不断变化的实际环境的缺陷。本申请实施例设计的虚拟机性能异常在线诊断系统,实现了异常检测、告警管理、告警分析可视化的完整流程与功能,能够提高运维人员排查虚拟机性能问题的效率,节省运维成本。
图9是本申请实施例提供的虚拟机异常诊断装置的组成结构示意图,如图9所示,该虚拟机异常诊断装置900包括:
获取模块901,用于获取用于表征虚拟机的多个性能指标的时序数据;所述时序数据包括第一类型数据和第二类型数据;第一处理模块902,用于对所述第一类型数据通过静态阈值模型进行处理,获得第一诊断结果;第二处理模块903,用于对所述第二类型数据通过机器学习模型进行处理,获得第二诊断结果;确定模块904,用于当所述第一诊断结果和所述第二诊断结果中至少一个为异常时,确定所述虚拟机为异常。
在一些实施例中,所述静态阈值模型中至少包括指标数值检测模块和异常持续时间检测模块;所述第一处理模块还用于通过所述指标数值检测模块,确定所述第一类型数据与所述目标静态阈值之间的第一差值;当所述第一差值大于预设阈值时,确定所述第一类型数据为异常数据;通过所述异常持续时间检测模块,检测所述异常数据的持续时长;根据所述持续时长,确定所述第一诊断结果。
在一些实施例中,所述确定模块还用于当所述持续时长大于时长阈值时,确定出所述第一诊断结果为所述第一类型数据对应的性能指标为异常。
在一些实施例中,所述机器学习模型中至少包括规律检测模块、数据预测模块和数据诊断模块;所述第二类型数据为目标时间段内的数据;所述第二处理模块还用于获取预设历史时间段内的历史数据;将所述历史数据和所述第二类型数据,输入至预先训练得到的机器学习模型中;通过所述规律检测模块,对所述历史数据进行周期性规律检测,以确定所述历史数据的变化规律;通过所述数据预测模块,根据所述变化规律,确定在所述预设历史时间段之后的所述目标时间段内的预测数据;通过所述数据诊断模块,根据所述预测数据和所述第二类型数据,确定所述第二诊断结果。
在一些实施例中,机器学习模型训练装置包括:输入模块,用于将第一样本数据和第二样本数据输入至所述机器学习模型中;第一确定模块,用于通过所述规律检测模块,对所述第一样本数据进行周期性规律检测,以确定所述第一样本数据在样本时间段内的样本变化规律;第二确定模块,用于通过所述数据预测模块,根据所述样本变化规律,确定在所述样本时间段之后的目标样本时间段内的样本预测数据;第三确定模块,用于通过所述数据诊断模块,根据所述样本预测数据和所述第二样本数据,确定样本诊断结果;第一得到模块,用于将所述样本诊断结果输入至预设损失模型中,得到损失结果;第二得到模块,用于根据所述损失结果,对所述规律检测模块、所述数据预测模块和所述数据诊断模块中的参数进行修正,以得到训练后的机器学习模型。
在一些实施例中,所述装置还包括:去噪模块,用于对所述历史数据和所述第二类型数据分别进行去噪处理,对应得到去噪后的历史数据和去噪后的第二类型数据;第二处理模块,用于将所述去噪后的历史数据和所述去噪后的第二类型数据,输入至所述预先训练得到的机器学习模型中进行处理,以获得所述第二诊断结果。
在一些实施例中,所述第二处理模块,还用于确定目标时间段内所述预测数据的预测变化规律和所述第二类型数据的实际变化规律;当所述实际变化规律与所述预测变化规律不同时,确定出所述第二诊断结果为所述第二类型数据对应的性能指标为异常。
在一些实施例中,所述装置还包括:存储模块,用于当确定出所述虚拟机为异常时,根据所述第一类型数据和所述第二类型数据确定所述虚拟机的异常原因;将所述第一诊断结果、所述第二诊断结果和所述异常原因存储至数据库中。
在一些实施例中,所述装置还包括:第一发送模块,用于当确定出所述虚拟机为异常时,根据所述第一诊断结果和所述第二诊断结果形成第一告警信息,向终端发送所述第一告警信息;或者,获取模块,用于当通过多个时序数据进行虚拟机异常诊断时的诊断结果均为异常诊断结果时,获取针对于相同业务的多个异常诊断诊断结果;第三得到模块,用于将相同业务对应的多个异常诊断结果进行合并,得到合并诊断结果;第二发送模块,用于根据所述合并诊断结果形成第二告警信息,并向所述终端发送所述第二告警信息。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的虚拟机异常诊断方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
本申请实施例提供一种虚拟机异常诊断设备,图10是本申请实施例提供的虚拟机异常诊断设备的组成结构示意图,如图10所示,所述虚拟机异常诊断设备110至少包括:处理器111和配置为存储可执行指令的计算机可读存储介质112,其中处理器111通常控制所述虚拟机异常诊断设备的总体操作。计算机可读存储介质112配置为存储由处理器111可执行的指令和应用,还可以缓存待处理器111和虚拟机异常诊断设备110中各模块待处理或已处理的数据,可以通过闪存或随机访问存储器(RAM,Random Access Memory)实现。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的虚拟机异常诊断方法,例如,如图1示出的方法。
在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(FRAM,Ferromagnetic Random Access Memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read Only Memory)、带电可擦可编程只读存储器(EEPROM,Electrically Erasable Programmable Read Only Memory)、闪存、磁表面存储器、光盘、或光盘只读存储器(CD-ROM,Compact Disk-Read Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种虚拟机异常诊断方法,其特征在于,所述方法包括:
获取用于表征虚拟机的多个性能指标的时序数据;所述时序数据包括第一类型数据和第二类型数据;
对所述第一类型数据通过静态阈值模型进行处理,获得第一诊断结果;
对所述第二类型数据通过机器学习模型进行处理,获得第二诊断结果;
当所述第一诊断结果和所述第二诊断结果中至少一个为异常时,确定所述虚拟机为异常。
2.根据权利要求1所述的方法,其特征在于,所述第一类型数据对应的性能指标与一个目标静态阈值之间具有映射关系,且同一业务对应的所述目标静态阈值为固定值;
所述第二类型数据为具有周期性的数据。
3.根据权利要求2所述的方法,其特征在于,所述静态阈值模型中至少包括指标数值检测模块和异常持续时间检测模块;
所述对所述第一类型数据通过静态阈值模型进行处理,获得第一诊断结果,包括:
通过所述指标数值检测模块,确定所述第一类型数据与所述目标静态阈值之间的第一差值;
当所述第一差值大于预设阈值时,确定所述第一类型数据为异常数据;
通过所述异常持续时间检测模块,检测所述异常数据的持续时长;
根据所述持续时长,确定所述第一诊断结果。
4.根据权利要求3所述的方法,其特征在于,所述根据所述持续时长,确定所述第一诊断结果,包括:
当所述持续时长大于时长阈值时,确定出所述第一诊断结果为所述第一类型数据对应的性能指标为异常。
5.根据权利要求1所述的方法,其特征在于,所述机器学习模型中至少包括规律检测模块、数据预测模块和数据诊断模块;所述第二类型数据为目标时间段内的数据;
所述对所述第二类型数据通过机器学习模型进行处理,获得第二诊断结果,包括:
获取预设历史时间段内的历史数据;
将所述历史数据和所述第二类型数据,输入至预先训练得到的机器学习模型中;
通过所述规律检测模块,对所述历史数据进行周期性规律检测,以确定所述历史数据的变化规律;
通过所述数据预测模块,根据所述变化规律,确定在所述预设历史时间段之后的所述目标时间段内的预测数据;
通过所述数据诊断模块,根据所述预测数据和所述第二类型数据,确定所述第二诊断结果。
6.根据权利要求5所述的方法,其特征在于,所述机器学习模型通过以下步骤训练得到:
将第一样本数据和第二样本数据输入至所述机器学习模型中;
通过所述规律检测模块,对所述第一样本数据进行周期性规律检测,以确定所述第一样本数据在样本时间段内的样本变化规律;
通过所述数据预测模块,根据所述样本变化规律,确定在所述样本时间段之后的目标样本时间段内的样本预测数据;
通过所述数据诊断模块,根据所述样本预测数据和所述第二样本数据,确定样本诊断结果;
将所述样本诊断结果输入至预设损失模型中,得到损失结果;
根据所述损失结果,对所述规律检测模块、所述数据预测模块和所述数据诊断模块中的参数进行修正,以得到训练后的机器学习模型。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
对所述历史数据和所述第二类型数据分别进行去噪处理,对应得到去噪后的历史数据和去噪后的第二类型数据;
对应地,将所述去噪后的历史数据和所述去噪后的第二类型数据,输入至所述预先训练得到的机器学习模型中进行处理,以获得所述第二诊断结果。
8.根据权利要求5所述的方法,其特征在于,所述根据所述预测数据和所述第二类型数据,确定所述第二诊断结果,包括:
确定目标时间段内所述预测数据的预测变化规律和所述第二类型数据的实际变化规律;
当所述实际变化规律与所述预测变化规律不同时,确定出所述第二诊断结果为所述第二类型数据对应的性能指标为异常。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
当确定出所述虚拟机为异常时,根据所述第一类型数据和所述第二类型数据确定所述虚拟机的异常原因;
将所述第一诊断结果、所述第二诊断结果和所述异常原因存储至数据库中。
10.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
当确定出所述虚拟机为异常时,根据所述第一诊断结果和所述第二诊断结果形成第一告警信息,向终端发送所述第一告警信息;
或者,
当通过多个时序数据进行虚拟机异常诊断时的诊断结果均为异常诊断结果时,获取针对于相同业务的多个异常诊断诊断结果;
将相同业务对应的多个异常诊断结果进行合并,得到合并诊断结果;
根据所述合并诊断结果形成第二告警信息,并向所述终端发送所述第二告警信息。
11.一种虚拟机异常诊断装置,其特征在于,包括:
获取模块,用于获取用于表征虚拟机的多个性能指标的时序数据;所述时序数据包括第一类型数据和第二类型数据;
第一处理模块,用于对所述第一类型数据通过静态阈值模型进行处理,获得第一诊断结果;
第二处理模块,用于对所述第二类型数据通过机器学习模型进行处理,获得第二诊断结果;
确定模块,用于当所述第一诊断结果和所述第二诊断结果中至少一个为异常时,确定所述虚拟机为异常。
12.一种虚拟机异常诊断设备,其特征在于,包括:
存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至10任一项所述的虚拟机异常诊断方法。
13.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现权利要求1至10任一项所述的虚拟机异常诊断方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110212534.0A CN112882795A (zh) | 2021-02-25 | 2021-02-25 | 虚拟机异常诊断方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110212534.0A CN112882795A (zh) | 2021-02-25 | 2021-02-25 | 虚拟机异常诊断方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112882795A true CN112882795A (zh) | 2021-06-01 |
Family
ID=76054467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110212534.0A Pending CN112882795A (zh) | 2021-02-25 | 2021-02-25 | 虚拟机异常诊断方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112882795A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113726771A (zh) * | 2021-08-30 | 2021-11-30 | 上海仪电(集团)有限公司中央研究院 | 一种基于疫苗模型的云平台病毒查杀方法及查杀系统 |
CN113743532A (zh) * | 2021-09-16 | 2021-12-03 | 睿云奇智(重庆)科技有限公司 | 异常检测方法、装置、设备及计算机存储介质 |
CN114168260A (zh) * | 2021-11-15 | 2022-03-11 | 北京中科院软件中心有限公司 | 一种虚拟机异常修复方法及装置 |
CN116661954A (zh) * | 2023-07-21 | 2023-08-29 | 苏州浪潮智能科技有限公司 | 虚拟机异常预测方法、装置、通信设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693177A (zh) * | 2011-03-23 | 2012-09-26 | 中国移动通信集团公司 | 虚拟机故障诊断方法、处理方法及其装置和系统 |
CN108228308A (zh) * | 2016-12-21 | 2018-06-29 | 中国电信股份有限公司 | 虚拟机的监控方法以及装置 |
CN109697207A (zh) * | 2018-12-25 | 2019-04-30 | 苏州思必驰信息科技有限公司 | 时序数据的异常监控方法及系统 |
CN109933500A (zh) * | 2019-03-27 | 2019-06-25 | 新奥数能科技有限公司 | 设备故障告警方法、装置、可读介质及电子设备 |
CN110008079A (zh) * | 2018-12-25 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 监控指标异常检测方法、模型训练方法、装置及设备 |
-
2021
- 2021-02-25 CN CN202110212534.0A patent/CN112882795A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693177A (zh) * | 2011-03-23 | 2012-09-26 | 中国移动通信集团公司 | 虚拟机故障诊断方法、处理方法及其装置和系统 |
CN108228308A (zh) * | 2016-12-21 | 2018-06-29 | 中国电信股份有限公司 | 虚拟机的监控方法以及装置 |
CN109697207A (zh) * | 2018-12-25 | 2019-04-30 | 苏州思必驰信息科技有限公司 | 时序数据的异常监控方法及系统 |
CN110008079A (zh) * | 2018-12-25 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 监控指标异常检测方法、模型训练方法、装置及设备 |
CN109933500A (zh) * | 2019-03-27 | 2019-06-25 | 新奥数能科技有限公司 | 设备故障告警方法、装置、可读介质及电子设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113726771A (zh) * | 2021-08-30 | 2021-11-30 | 上海仪电(集团)有限公司中央研究院 | 一种基于疫苗模型的云平台病毒查杀方法及查杀系统 |
CN113743532A (zh) * | 2021-09-16 | 2021-12-03 | 睿云奇智(重庆)科技有限公司 | 异常检测方法、装置、设备及计算机存储介质 |
CN113743532B (zh) * | 2021-09-16 | 2024-03-19 | 睿云奇智(重庆)科技有限公司 | 异常检测方法、装置、设备及计算机存储介质 |
CN114168260A (zh) * | 2021-11-15 | 2022-03-11 | 北京中科院软件中心有限公司 | 一种虚拟机异常修复方法及装置 |
CN116661954A (zh) * | 2023-07-21 | 2023-08-29 | 苏州浪潮智能科技有限公司 | 虚拟机异常预测方法、装置、通信设备及存储介质 |
CN116661954B (zh) * | 2023-07-21 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 虚拟机异常预测方法、装置、通信设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112882795A (zh) | 虚拟机异常诊断方法、装置、设备及存储介质 | |
US7310590B1 (en) | Time series anomaly detection using multiple statistical models | |
US10444121B2 (en) | Fault detection using event-based predictive models | |
US10503146B2 (en) | Control system, control device, and control method | |
CN110262939B (zh) | 算法模型运行监控方法、装置、计算机设备和存储介质 | |
CN112436968A (zh) | 一种网络流量的监测方法、装置、设备及存储介质 | |
US10901398B2 (en) | Controller, control program, control system, and control method | |
JP2018180759A (ja) | システム分析装置、及びシステム分析方法 | |
CN112882796A (zh) | 异常根因分析方法和装置,及存储介质 | |
CN113931258B (zh) | 自我诊断方法和无负压叠压供水设备 | |
Lu et al. | LADRA: Log-based abnormal task detection and root-cause analysis in big data processing with Spark | |
CN110782045A (zh) | 一种运维告警系统动态阈值的生成方法及装置 | |
JP6777142B2 (ja) | システム分析装置、システム分析方法、及び、プログラム | |
CN110059894A (zh) | 设备状态评估方法、装置、系统及存储介质 | |
US20230038164A1 (en) | Monitoring and alerting system backed by a machine learning engine | |
US20210375123A1 (en) | Dynamic gauges for displaying present and predicted machine status | |
CN102141948A (zh) | 带噪声的监控器检测和间歇故障隔离 | |
CN117367807A (zh) | 航空发动机的故障诊断方法、系统、设备及介质 | |
CN118113508A (zh) | 网卡故障风险预测方法、装置、设备及介质 | |
US20160170395A1 (en) | Case management linkage of updates, evidence, and triggers | |
WO2008050323A2 (en) | Method for measuring health status of complex systems | |
JP2007293553A (ja) | フィールド機器診断システムおよびフィールド機器診断方法 | |
CN116244444A (zh) | 设备故障诊断方法和装置 | |
Avritzer et al. | Automated generation of test cases using a performability model | |
CN113674797B (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 |