CN110471822A - 用于监控主机系统的方法、装置、计算机系统和介质 - Google Patents
用于监控主机系统的方法、装置、计算机系统和介质 Download PDFInfo
- Publication number
- CN110471822A CN110471822A CN201910757331.2A CN201910757331A CN110471822A CN 110471822 A CN110471822 A CN 110471822A CN 201910757331 A CN201910757331 A CN 201910757331A CN 110471822 A CN110471822 A CN 110471822A
- Authority
- CN
- China
- Prior art keywords
- unit interval
- time
- predetermined period
- reporting quantities
- message
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
Abstract
本公开提供了一种用于监控主机系统的方法,包括:监测所述主机系统在每个预定时间周期中的每个单位时间段内关于指定消息的报告数量,其中,所述预定时间周期包括多个所述单位时间段;基于机器学习算法和多个在前预定时间周期内的所述报告数量,确定当前预定时间周期中第M个单位时间段的所述报告数量是否异常,其中,M是大于等于1的整数;以及在所述第M个单位时间段的所述报告数量出现异常时,推送与所述指定消息对应的业务关于所述第M个单位时间段的报警信息。本公开还提供了一种用于监控主机系统的装置、计算机系统和介质。
Description
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种用于监控主机系统的方法、装置、计算机系统和计算机可读介质。
背景技术
主机系统在运行过程中,在操作系统或应用程序中会产生并返回各种类型的日志消息。例如,通过*I(一般级别消息提示,如AOF571I,*代表字母、数字或字符“表字母、数字或字等的组合)、*W(运行警告消息提示,如GEO2641W)、*E(运行报错消息提示,如+CSQX599E)型的消息,来表征主机系统的各种运行结果。相关技术中,运维人员需要到手册中查看相关日志消息的触发原因和解决方法来确认主机系统的运行状态。主机系统每秒报出的日志消息的数量大概在百级以上,前期运维人员主要通过到系统日志中肉眼观察定性严重且出现频率低、数量相对较少的*E级日志消息。然而,*I级消息出现频率相对更高,且生产环境中出现过主机系统运行报错之前,就有某*I级消息大量突增的情况,但由于运维人员无法及时发现,导致后期报错无法避免。
发明内容
本公开的一个方面提供了一种用于监控主机系统的方法,包括:监测主机系统在每个预定时间周期中的每个单位时间段内关于指定消息的报告数量。其中,预定时间周期包括多个单位时间段。然后,基于机器学习算法和多个在前预定时间周期内的报告数量,确定当前预定时间周期中第M个单位时间段的报告数量是否异常。其中,M是大于等于1的整数。接着,在第M个单位时间段的报告数量出现异常时,推送与指定消息对应的业务关于第M个单位时间段的报警信息。
可选地,指定消息包括:处于指定安全状态的指定业务的日志消息。其中指定安全状态包括:普通状态、警告状态、或报错状态。
可选地,上述基于机器学习算法和多个在前预定时间周期的报告数量,确定当前预定时间周期中第M个单位时间段的报告数量是否异常包括:基于多个在前预定时间周期的多个报告数量构建孤立森林模型。然后,将当前预定时间周期中第M个单位时间段的报告数量输入至孤立森林模型中,经由孤立森林模型计算第M个单位时间段的报告数量的评分。如果第M个单位时间段的报告数量的评分小于等于预定阈值,确定第M个单位时间段所监测的报告数量出现异常。
可选地,上述方法还包括:在第M个单位时间段的报告数量出现异常时,获取灵敏度阈值。上述推送与指定消息对应的业务关于第M个单位时间段的报警信息包括:如果第M个单位时间段的报告数量大于灵敏度阈值,则向指定客户端推送与指定消息对应的业务关于第M个单位时间段的报警信息。
可选地,上述获取灵敏度阈值包括:基于多个在前预定时间周期中的每个在前预定时间周期中第M个单位时间段的报告数量,计算报告数量的均值和方差,再基于所述均值和方差确定灵敏度阈值。
可选地,上述方法还包括:确定初始灵敏度阈值。上述获取灵敏度阈值包括:接收针对所述初始灵敏度阈值的调节信息,基于所述调节信息确定所述灵敏度阈值。
可选地,上述方法还包括:在第M个单位时间段的报告数量出现异常时,基于多个在前预定时间周期中的每个在前预定时间周期中第M个单位时间段的报告数量以及当前预定时间周期中第M个单位时间段的报告数量,得到报告数量的第一变化曲线。然后,获取关于另一指定消息的报告数量的第二变化曲线。再计算第一变化曲线和第二变化曲线的相关性。当相关性满足预定条件时,确定指定消息和所述另一指定消息相关联。
可选地,上述方法还包括:在确定指定消息和另一指定消息相关联的情况下,在推送与指定消息对应的业务关于第M个单位时间段的报警信息时,关联地推送与另一指定消息对应的业务关于第M个单位时间段的报警信息。
本公开的另一方面提供了一种用于监控主机系统的装置,包括:监测模块、异常挖掘模块、以及报警模块。监测模块用于监测所述主机系统在每个预定时间周期中的每个单位时间段内关于指定消息的报告数量,其中,所述预定时间周期包括多个所述单位时间段。异常挖掘模块用于基于机器学习算法和多个在前预定时间周期内的所述报告数量,确定当前预定时间周期中第M个单位时间段的所述报告数量是否异常,其中,M是大于等于1的整数。报警模块用于在所述第M个单位时间段的所述报告数量出现异常时,推送与所述指定消息对应的业务关于所述第M个单位时间段的报警信息。
本公开的另一方面提供了一种计算机系统,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例,将主机系统在每个预定时间周期中的每个单位时间段内产生的各类别的日志消息的报告数量作为监控对象,从日志消息的报告数量的维度出发来分析主机系统的运行状态。具体地,在已获取的多个在前预定时间周期中关于指定消息的报告数量的分布规律的基础上,利用机器学习算法挖掘当前预定时间周期中的任一单位时间段内关于指定消息的报告数量的异常性,从而在出现异常时进行报警,以提醒运维人员及时关注主机系统的运行状况。相关技术中,往往要等到主机系统报出异常类别的日志消息时,才能确认主机系统出现问题。然而在一些情况下,主机系统存在一些潜在问题,其运行状态尚未表现异常,但其正常类别的日志消息的报告数量已出现异常。对于此种情况相关技术无法及时发现,容易导致问题积累造成较为严重的后果。依据本实施例的技术方案,可以及时发现主机系统的潜在问题,以便进行后续补救措施。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的应用用于监控主机系统的方法和装置的示例性系统架构;
图2示意性示出了根据本公开实施例的用于监控主机系统的方法的流程图;
图3示意性示出了根据本公开实施例的日志中心消息异常检测页面的示例示意图;
图4示意性示出了根据本公开另一实施例的日志中心消息异常检测页面的示例示意图;
图5示意性示出了根据本公开实施例的用于监控主机系统的装置的框图;以及
图6示意性示出了根据本公开实施例的适于实现用于监控主机系统的方法的计算机系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开的实施例提供了一种用于监控主机系统的方法、装置、计算机系统以及介质。该方法包括监测过程、异常挖掘过程、以及报警过程。在监测过程,监测主机系统在每个预定时间周期中的每个单位时间段内关于指定消息的报告数量。其中,一个预定时间周期包括多个单位时间段。对于当前预定时间周期中的第M(M为正整数)个单位时间段可以通过异常挖掘过程来确定第M个单位时间段的报告数量是否异常。具体可以基于机器学习算法和多个在前预定时间周期内的报告数量,来确定当前预定时间周期中第M个单位时间段的报告数量是否异常。在当前预定时间周期中的第M个单位时间段的报告数量出现异常时,进入报警过程,推送与指定消息对应的业务关于第M个单位时间段的报警信息。
图1示意性示出了根据本公开实施例的可以应用用于监控主机系统的方法和装置的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括监控设备101、102、103,网络104和主机系统105。网络104用以在监控设备101、102、103和主机系统105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
监控设备101、102、103上可以安装有各种客户端应用,例如监控类应用等(仅为示例)。监控设备101、102、103可以通过以上客户端应用与主机系统105对外暴露的安全端口进行交互,以在主机系统105运行过程中从主机系统105实时获取监控数据存放至数据库并进行分析处理以得到主机系统105的运行状态。
监控设备101、102、103可以是具有计算能力的各种电子设备,包括但不限于服务器、膝上型便携计算机和台式计算机等等。主机系统105可以是提供各种服务支持的大型主机系统(仅为示例),具有较高的可靠性和稳定性,用于进行业务相关的各种数据的分析处理等。
需要说明的是,本公开实施例所提供的用于监控主机系统的方法一般可以由监控设备101、102、103执行。相应地,本公开实施例所提供的用于监控主机系统的装置一般可以设置于监控设备101、102、103中。本公开实施例所提供的用于监控主机系统的方法也可以由不同于监控设备101、102、103且能够与监控设备101、102、103和/或主机系统105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的用于监控主机系统的装置也可以设置于不同于监控设备101、102、103且能够与监控设备101、102、103和/或主机系统105通信的服务器或服务器集群中。
应该理解,图1中的监控设备、网络和主机系统的数目仅仅是示意性的。根据实际需要,可以具有任意数目的监控设备、网络和主机系统。
图2示意性示出了根据本公开实施例的用于监控主机系统的方法的流程图。
如图2所示,该方法可以包括以下操作S201~S203。
在操作S201,监测主机系统在每个预定时间周期中的每个单位时间段内关于指定消息的报告数量。
其中,主机系统在运行过程中会不断产生日志消息以记录主机系统的运行情况。一个预定时间周期包括多个单位时间段。本操作S201所监测的对象为:主机系统在每个预定时间周期中的每个单位时间段内关于指定消息(任一类别的日志消息)的报告数量,下文中所称的报告数量,除特别说明外,均指关于指定消息的报告数量。预定时间周期和单位时间段可以根据监控需求和监控粒度进行设置,在此不做限制。
在操作S202,基于机器学习算法和多个在前预定时间周期内的报告数量,确定当前预定时间周期中第M个单位时间段的报告数量是否异常。
其中,M是大于等于1的整数。当前预定时间周期是指当前时间点所落入的预定时间周期,当前预定时间周期随着时间而变化。在前预定时间周期是指当前预定时间周期之前的预定时间周期。本操作S202可以基于机器学习算法和多个在前预定时间周期内主机系统关于指定消息的报告数量来确定:当前预定时间周期中的任一个单位时间段内主机系统关于指定消息的报告数量是否异常。
在操作S203,在所述第M个单位时间段的报告数量出现异常时,推送与指定消息对应的业务关于所述第M个单位时间段的报警信息。
其中,所述第M个单位时间段指当前预定时间周期中第M个单位时间段。例如,与指定消息对应的业务为业务A,在确定当前预定时间周期中的第2个单位时间段内主机系统关于指定消息的报告数量出现异常时,本操作S203推送表征业务A在第2个单位时间段出现异常的报警信息。
本领域技术人员可以理解,图2所示的方法将主机系统在每个预定时间周期中的每个单位时间段内产生的各类别的日志消息的报告数量作为监控对象,从日志消息的报告数量的维度出发来分析主机系统的运行状态。具体地,在已获取的多个在前预定时间周期中关于指定消息的报告数量的分布规律的基础上,利用机器学习算法挖掘当前预定时间周期中的任一单位时间段内关于指定消息的报告数量的异常性,从而在出现异常时进行报警,以提醒运维人员及时关注主机系统的运行状况。相关技术中,往往要等到主机系统报出异常类别的日志消息(如报错状态的日志消息)时,才能确认主机系统出现问题。然而在一些情况下,主机系统存在一些潜在问题,其运行状态尚未表现异常,但其正常类别的日志消息的报告数量已出现异常。对于此种情况相关技术无法及时发现,容易导致问题积累造成较为严重的后果。依据本实施例的技术方案,可以及时发现主机系统的潜在问题,以便进行后续补救措施。
在本公开的一个实施例中,上述指定消息可以是指:处于指定安全状态的指定业务的日志消息。其中指定安全状态可以包括普通状态、警告状态、或报错状态。示例性地,主机系统为大型主机系统,主机系统在运行过程中,在操作系统或应用程序中会产生并返回如下日志消息,每个日志消息的标识信息(MessageID,MSGID)中可以包含相应的安全状态信息和业务信息。如对于业务GEO2641,处于普通状态的该业务的日志消息的标识信息为“GEO2641I”,该标识信息末尾的字母“I”表征普通状态的日志消息(Information)。处于警告状态的该业务的日志消息的标识信息为“GEO2641W”,该标识信息末尾的字母“W”表征警告状态的日志消息(Warning)。处于报错状态的该业务的日志消息的标识信息为“GEO2641E”,该标识信息末尾的字母“E”表征普通状态的日志消息(Error)。因此,指定消息可以通过一个唯一的MSGID来标识。
为了在已获取的多个在前预定时间周期中关于指定消息的报告数量的分布规律的基础上,利用机器学习算法挖掘当前预定时间周期中的任一单位时间段内关于指定消息的报告数量的异常性。示例性地,本实施例选取孤立森林(Isolation Forest)算法进行无监督学习。上述基于机器学习算法和多个在前预定时间周期的报告数量,确定当前预定时间周期中第M个单位时间段的报告数量是否异常包括:首先,基于多个在前预定时间周期的多个报告数量构建孤立森林模型。然后,将当前预定时间周期中第M个单位时间段的报告数量输入至该孤立森林模型中,经由该孤立森林模型计算当前预定时间周期中的第M个单位时间段内的关于指定消息的报告数量的评分。如果当前预定时间周期中的第M个单位时间段内关于指定消息的报告数量的评分小于等于预定阈值,确定当前预定时间周期中的第M个单位时间段所监测的关于指定消息的报告数量出现异常。
上述实施例采用了孤立森林算法进行异常报告数量的挖掘。孤立森林算法在异常数据挖掘方面的分离度很高,可以适用于连续数据的异常检测,该算法将异常定义为“易被孤立的离群点(more likely to be separated)”进行异常挖掘,并且不需要验证数据分布、定义数学模型或进行标签标记。在查询异常数据点的过程中,孤立森林算法的思想是使用随机生成超平面切割子空间并不断循环,直到每个子空间里只有一个数据点为止。本领域技术人员可以直观地理解,那些密度很高的簇(由较为接近的数据点构成的簇)需要被切割很多次才会停止切割,而离群点大概率很早就停到一个子空间。孤立森林算法在执行时,会随机生成超平面,形成t个孤立树(Isolation Tree,iTree)。每个iTree是一个二叉树结构,其上下子节点分别是切割点的左右值空间,且两两iTree之间相互独立。对于一个训练数据x,令其遍历其每棵iTree,可计算x最终落在每棵树中作为叶子节点所得高度的平均值,通过设定预定阈值(边界值),低于此预定阈值的测试数据即为异常。
例如,预定时间周期为每天的13:20~13:29(10分钟的时间区间),单位时间段为1分钟。当前预定时间周期为今天的13:20~13:29。多个在前预定时间周期为前30天中每天的13:20~13:29。通过监测过程获取到前30天中每天的13:20~13:29中的每分钟内主机系统关于指定消息的报告数量,称为在前监测数据。例如,在前监测数据共300个数据点,每个数据点表征一个分钟内关于指定消息的报告数量。并且获取今天的13:20~13:29中的每分钟内主机系统关于指定消息的报告数量,称为当前监测数据,例如,当前监测数据共10个数据点,每个数据点表征一个分钟内关于指定消息的报告数量。利用在前监测数量作为作为训练集数据来训练孤立森林模型,假设预定阈值为0,分离正常点(值稳定在点聚集群附近附近,模型会自动识别并为其打分为+1)和异常点(值远离点聚集群,突变的值,模型会自动识别并为其打分为-1)。再将当前监测数据作为测试集,检测异常突增的点,定位出现异常的点所属的单位时间段,如是第2分钟(即今天的13:21这一分钟)内关于指定消息的报告数量出现异常,则可以推送表征与指定消息对应的业务在今天的13:21出现异常的报警信息。
上述过程形成主机系统的异常监控的自动化机制,能提前告警主机系统可能潜在的问题,并极大节省人力。相关技术中常用的检测异常值的方法主要有3σ原则(基于正态分布的数据)、距离突增、k近邻等。而由于主机系统运行数据的出现时间和数量不能人为设定,利用孤立森林算法无需检测数据分布形态、数学原理简单有效,通过模型打分可以有效避免毛刺对数据整体均值和方差造成的影响。另外,孤立森林算法在处理高维数据上非常有效,上述实施例只针对日志消息的报告数量这一维度进行处理,在其他实施例中也可以引入其他维度,例如引入主机系统的CPU使用率、内存使用率、不同逻辑分区等指标联合分析时,该孤立森林模型可以向上兼容,异常挖掘过程与单一维度时逻辑相同,在此不再赘述。
在本公开的一个实施例中,在基于机器学习算法确定一个单位时间段内关于指定消息的报告数量出现异常时,可以直接进行相应的报警,也可以更灵活地增加一层筛选机制后再进行报警。对于后者,例如可以按照如下方式进行:在确定第M个单位时间段的关于指定消息的报告数量出现异常时,获取灵敏度阈值。将该第M个单位时间段的关于指定消息的报告数量与该灵敏度阈值进行比较。如果该第M个单位时间段的关于指定消息的报告数量大于该灵敏度阈值,则向指定客户端推送与指定消息对应的业务关于该第M个单位时间段的报警信息。
其中,灵敏度阈值可以是基于预定规则计算得到的,或者也可以是由运维人员自己设置的。指定客户端可以是负责管理与指定消息对应的业务的运维人员所使用的客户端。
示例性地,上述获取灵敏度阈值可以包括:基于多个在前预定时间周期中的每个在前预定时间周期中第M个单位时间段的关于指定消息的报告数量,计算关于第M个单位时间段的关于指定消息的报告数量的均值和方差。然后,基于该均值和方差确定灵敏度阈值。
例如,预定时间周期为每天的13:20~13:29(10分钟的时间区间),单位时间段为1分钟。基于多个在前预定时间周期中的每个在前时间周期中的第2分钟(如前3天中每天的13:20~13:29中的第13:21这一分钟)内关于指定消息的报告数量,如第一天的13:21内关于指定消息的报告数量为x,第二天的13:21内关于指定消息的报告数量为y,第三天的13:21内关于指定消息的报告数量为z,基于x、y和z计算13:21内关于指定消息的报告数量的均值和方差。或者,更为准确地,可以基于多个在前预定时间周期中的每个在前预定时间周期中第M个单位时间段的关于指定消息的非异常的报告数量,计算关于第M个单位时间段的关于指定消息的报告数量的均值和方差,即在上文中的x、y和z中剔除异常数据点后再计算得到相应的均值和方差σ。并将大于灵敏度阈值的报告数量认为是需要报警的异常点,灵敏度阈值可以通过公式(1)计算:
其中,L为数据库中动态记录的参考值,依据该参考值、相应的均值方差σ以及上述公式(1)来计算当前预定时间周期的灵敏度阈值。将方差σ加1后与L相乘,是为了避免方差为0的现象。
本例中。在运维人员没有手动设置灵敏度阈值前,可以根据环境数据设置初始灵敏度阈值为:
其中k为常数,依据上述公式(1),与初始灵敏度阈值对应的L为:
在首次向运维人员推送报警信息时,可以依据初始灵敏度阈值进行报警信息的推送,如通过日志中心消息异常检测页面展示异常数据,并通过日志中心消息异常检测页面中的灵敏度阈值线展示灵敏度阈值。当运维人员在页面前端调节灵敏度阈值线后,记录与调节后的灵敏度阈值线对应的灵敏度阈值并依据公式(1)反推L并更新数据库中的L。进而依据更新后的L计算出在各个预定时间周期内的运维人员可接受的灵敏度阈值。本领域技术人员可以理解,本实施例中的灵敏度阈值实质上即为报警阈值,实现报警阈值由运维人员自主设置,不同运维人员可设置针对自己专业的报警机制,可以适用于系统预设灵敏度不高的情况,可以避免报警数量太多而过度干扰的问题。
一些情况下,主机系统在运行过程中所出现的问题并不是单一性的,可能会表现为多个类别的日志消息的报告数量均发生相关联的异常。为进一步提高监控过程的全面性,准确地定位主机系统的问题所在,还可以对所监测的报告数量进行相关性分析。示例性地,根据本公开实施例的用于监控主机系统的方法还可以包括:在当前预定时间周期的第M个单位时间段内关于指定消息的报告数量出现异常时,基于多个在前预定时间周期中的每个在前预定时间周期中第M个单位时间段内关于指定消息的报告数量以及当前预定时间周期中第M个单位时间段内关于指定消息的报告数量,得到关于指定消息的报告数量的第一变化曲线。同理地,对于另一指定消息,也可以获取关于另一指定消息的报告数量的第二变化曲线。计算第一变化曲线和第二变化曲线的相关性,当相关性满足预定条件时,确定指定消息和另一指定消息相关联。
进而,在确定指定消息和另一指定消息相关联的情况下,在推送与指定消息对应的业务关于第M个单位时间段的报警信息时,关联地推送与另一指定消息对应的业务关于第M个单位时间段的报警信息。
示例性地,计算确定出现异常的MSGID与其他各MSGID的报告数量随时间变化的相关性,列出与确定出现异常的MSGID相关性最强的前5个其他MSGID,并链接到日志中心消息异常检测页面,将相关的5个其他MSGID标出,运维人员可以查看相关的各MSGID的具体日志内容和分析报告。例如,得到整体30天的每分钟的消息数量变化曲线,并高亮在前和当前同一检测时间段的背景,以告诉用户当前灵敏度阈值是基于当前时间段计算得到的,所以日志中心消息异常检测页面上既可以看到30天内整体的数量变化趋势,也可以看到指定单位时间段内每一天之间数量形势,及对应的灵敏度阈值线。请参见图3~图4。
图3示意性示出了根据本公开实施例的日志中心消息异常检测页面的示例示意图。如图3所示,当前所监测的指定消息的MSGID为“+#ICI013I”,例如可以表征处于普通安全状态的+#ICI013业务。页面上示出了指定消息的报告数量随时间的变化曲线,其中还显示有灵敏度阈值线,运维人员可以通过拖拽该灵敏度阈值线来调节灵敏度阈值进而过滤报警数量。此外,该页面右侧还展示有与上述“+#ICI013I”的变化趋势相关联的其他多个日志消息的MSGID,对于每个MSGID,展示有异常数据点的数量(NUM)、所监测的主机系统的逻辑分区(LPAR)等信息。页面下方将与指定消息相关性最强的前5个日志消息的MSGID列出,本例中包括:“+#ICI025I”、“+#ICI053I”、“+#ICI052I”、“+#ICI045I”、“+#ICI055I”。通过以上将具有相关性的异常报告数量的日志消息进行关联展示,可以自动化、多指标共同诊断问题,进而辅助运维人员更准确进行问题定位。
图4示意性示出了根据本公开另一实施例的日志中心消息异常检测页面的示例示意图。如图4所示,当前所监测的指定消息的MSGID为“+#ICI012I”,例如可以表征处于普通安全状态的+#ICI012业务。页面上示出了指定消息的日志数量(即报告数量)随时间的变化曲线,如在2019年5月21日10:01:30.000时刻的数据量为47。其中还显示有灵敏度阈值线,当前图中所示的灵敏度阈值线所指示的灵敏度阈值为37。运维人员可以通过拖拽该灵敏度阈值线来调节灵敏度阈值进而过滤报警数量。此外,该页面左侧还展示有与上述“+#ICI012I”的变化趋势相关联的其他多个日志消息的MSGID,对于每个MSGID,展示有异常数据点的数量(NUM)、所在系统(SYS)、灵敏度阈值(THR)等信息。页面下方将与指定消息相关性最强的前5个日志消息的MSGID列出。通过以上将具有相关性的异常报告数量的日志消息进行关联展示,可以自动化、多指标共同诊断问题,进而辅助运维人员更准确进行问题定位。页面右侧展示系统日志总量的缩略展示,其中PT1、PT3、QT和PTKA分别表示目前在用的几种系统(SYS)名称。
图5示意性示出了根据本公开实施例的用于监控主机系统的装置的框图。
如图5所示,该用于监控主机系统的装置500可以包括:监测模块510、异常挖掘模块520、以及报警模块530。
监测模块510用于监测所述主机系统在每个预定时间周期中的每个单位时间段内关于指定消息的报告数量。其中,所述预定时间周期包括多个所述单位时间段。
异常挖掘模块520用于基于机器学习算法和多个在前预定时间周期内的所述报告数量,确定当前预定时间周期中第M个单位时间段的所述报告数量是否异常。其中,M是大于等于1的整数。
报警模块530用于在所述第M个单位时间段的所述报告数量出现异常时,推送与所述指定消息对应的业务关于所述第M个单位时间段的报警信息。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,监测模块510、异常挖掘模块520、以及报警模块530中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,监测模块510、异常挖掘模块520、以及报警模块530中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,监测模块510、异常挖掘模块520、以及报警模块530中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图6示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的框图。图6示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,根据本公开实施例的计算机系统600包括处理器601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 603中,存储有系统600操作所需的各种程序和数据。处理器601、ROM 602以及RAM 603通过总线604彼此相连。处理器601通过执行ROM 602和/或RAM 603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 602和RAM 603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,系统600还可以包括输入/输出(I/O)接口605,输入/输出(I/O)接口605也连接至总线604。系统600还可以包括连接至I/O接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (11)
1.一种用于监控主机系统的方法,包括:
监测所述主机系统在每个预定时间周期中的每个单位时间段内关于指定消息的报告数量,其中,所述预定时间周期包括多个所述单位时间段;
基于机器学习算法和多个在前预定时间周期内的所述报告数量,确定当前预定时间周期中第M个单位时间段的所述报告数量是否异常,其中,M是大于等于1的整数;以及
在所述第M个单位时间段的所述报告数量出现异常时,推送与所述指定消息对应的业务关于所述第M个单位时间段的报警信息。
2.根据权利要求1所述的方法,其中,所述指定消息包括:处于指定安全状态的指定业务的日志消息,其中指定安全状态包括:普通状态、警告状态、或报错状态。
3.根据权利要求1所述的方法,其中,所述基于机器学习算法和多个在前预定时间周期的所述报告数量,确定当前预定时间周期中第M个单位时间段的所述报告数量是否异常包括:
基于多个在前预定时间周期的多个所述报告数量构建孤立森林模型;
将当前预定时间周期中第M个单位时间段的所述报告数量输入至所述孤立森林模型中,经由所述孤立森林模型计算所述第M个单位时间段的所述报告数量的评分;以及
如果所述第M个单位时间段的所述报告数量的评分小于等于预定阈值,确定所述第M个单位时间段所监测的报告数量出现异常。
4.根据权利要求1所述的方法,还包括:在所述第M个单位时间段的所述报告数量出现异常时,获取灵敏度阈值;
所述推送与所述指定消息对应的业务关于所述第M个单位时间段的报警信息包括:如果所述第M个单位时间段的所述报告数量大于所述灵敏度阈值,则向指定客户端推送与所述指定消息对应的业务关于所述第M个单位时间段的报警信息。
5.根据权利要求4所述的方法,其中,所述获取灵敏度阈值包括:
基于所述多个在前预定时间周期中的每个在前预定时间周期中第M个单位时间段的所述报告数量,计算所述报告数量的均值和方差;以及
基于所述均值和方差确定所述灵敏度阈值。
6.根据权利要求4所述的方法,还包括:确定初始灵敏度阈值;
所述获取灵敏度阈值包括:接收针对所述初始灵敏度阈值的调节信息,基于所述调节信息确定所述灵敏度阈值。
7.根据权利要求1所述的方法,还包括:
在所述第M个单位时间段的所述报告数量出现异常时,基于所述多个在前预定时间周期中的每个在前预定时间周期中第M个单位时间段的所述报告数量以及当前预定时间周期中第M个单位时间段的所述报告数量,得到所述报告数量的第一变化曲线;
获取关于另一指定消息的报告数量的第二变化曲线;
计算所述第一变化曲线和所述第二变化曲线的相关性;以及
当所述相关性满足预定条件时,确定所述指定消息和所述另一指定消息相关联。
8.根据权利要求7所述的方法,还包括:
在确定所述指定消息和所述另一指定消息相关联的情况下,在推送与所述指定消息对应的业务关于所述第M个单位时间段的报警信息时,关联地推送与所述另一指定消息对应的业务关于所述第M个单位时间段的报警信息。
9.一种用于监控主机系统的装置,包括:
监测模块,用于监测所述主机系统在每个预定时间周期中的每个单位时间段内关于指定消息的报告数量,其中,所述预定时间周期包括多个所述单位时间段;
异常挖掘模块,用于基于机器学习算法和多个在前预定时间周期内的所述报告数量,确定当前预定时间周期中第M个单位时间段的所述报告数量是否异常,其中,M是大于等于1的整数;以及
报警模块,用于在所述第M个单位时间段的所述报告数量出现异常时,推送与所述指定消息对应的业务关于所述第M个单位时间段的报警信息。
10.一种计算机系统,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现如权利要求1~8任一项所述的用于监控主机系统的方法。
11.一种计算机可读介质,存储有计算机程序,所述计算机程序被执行时用于实现如权利要求1~8任一项所述的用于监控主机系统的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910757331.2A CN110471822A (zh) | 2019-08-15 | 2019-08-15 | 用于监控主机系统的方法、装置、计算机系统和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910757331.2A CN110471822A (zh) | 2019-08-15 | 2019-08-15 | 用于监控主机系统的方法、装置、计算机系统和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110471822A true CN110471822A (zh) | 2019-11-19 |
Family
ID=68510924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910757331.2A Pending CN110471822A (zh) | 2019-08-15 | 2019-08-15 | 用于监控主机系统的方法、装置、计算机系统和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110471822A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666173A (zh) * | 2020-06-10 | 2020-09-15 | 中国工商银行股份有限公司 | 报错信息处理方法、装置、监控系统和介质 |
CN113627627A (zh) * | 2021-08-11 | 2021-11-09 | 北京互金新融科技有限公司 | 异常监控方法、装置、计算机可读介质及处理器 |
CN114553747A (zh) * | 2022-02-22 | 2022-05-27 | 度小满科技(北京)有限公司 | redis集群的异常检测方法、装置、终端及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105610647A (zh) * | 2015-12-30 | 2016-05-25 | 华为技术有限公司 | 一种探测业务异常的方法和服务器 |
US20180276098A1 (en) * | 2017-03-27 | 2018-09-27 | International Business Machines Corporation | Computing residual resource consumption for top-k data reports |
CN109614291A (zh) * | 2018-12-11 | 2019-04-12 | 上海连尚网络科技有限公司 | 报警方法和装置 |
CN109948669A (zh) * | 2019-03-04 | 2019-06-28 | 腾讯科技(深圳)有限公司 | 一种异常数据检测方法及装置 |
-
2019
- 2019-08-15 CN CN201910757331.2A patent/CN110471822A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105610647A (zh) * | 2015-12-30 | 2016-05-25 | 华为技术有限公司 | 一种探测业务异常的方法和服务器 |
US20180276098A1 (en) * | 2017-03-27 | 2018-09-27 | International Business Machines Corporation | Computing residual resource consumption for top-k data reports |
CN109614291A (zh) * | 2018-12-11 | 2019-04-12 | 上海连尚网络科技有限公司 | 报警方法和装置 |
CN109948669A (zh) * | 2019-03-04 | 2019-06-28 | 腾讯科技(深圳)有限公司 | 一种异常数据检测方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666173A (zh) * | 2020-06-10 | 2020-09-15 | 中国工商银行股份有限公司 | 报错信息处理方法、装置、监控系统和介质 |
CN111666173B (zh) * | 2020-06-10 | 2023-09-05 | 中国工商银行股份有限公司 | 报错信息处理方法、装置、监控系统和介质 |
CN113627627A (zh) * | 2021-08-11 | 2021-11-09 | 北京互金新融科技有限公司 | 异常监控方法、装置、计算机可读介质及处理器 |
CN114553747A (zh) * | 2022-02-22 | 2022-05-27 | 度小满科技(北京)有限公司 | redis集群的异常检测方法、装置、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105095056B (zh) | 一种数据仓库数据监控的方法 | |
CN110471822A (zh) | 用于监控主机系统的方法、装置、计算机系统和介质 | |
CN108011782B (zh) | 用于推送告警信息的方法和装置 | |
EP3423955A1 (en) | Method for creating period profile for time-series data with recurrent patterns | |
CN107566163A (zh) | 一种用户行为分析关联的告警方法及装置 | |
CN110740061B (zh) | 故障预警方法、装置及计算机存储介质 | |
US20140097952A1 (en) | Systems and methods for comprehensive alarm management | |
FR2953954A1 (fr) | Dispositif d'elaboration des alertes d'un systeme d'aeronef | |
CN115033463B (zh) | 一种系统异常类型确定方法、装置、设备和存储介质 | |
CN110442628A (zh) | 一种数据监控方法、系统和计算机设备 | |
GB2517147A (en) | Performance metrics of a computer system | |
CN108520056A (zh) | 业务数据监控方法及装置、系统、可读介质和电子设备 | |
US20200099570A1 (en) | Cross-domain topological alarm suppression | |
WO2021002780A1 (ru) | Система мониторинга качества и процессов на базе машинного обучения | |
CN114567538A (zh) | 告警信息处理方法及装置 | |
CN103763143A (zh) | 基于存储服务器的设备异常报警的方法及系统 | |
CN112769615B (zh) | 一种异常分析方法及装置 | |
CN114443437A (zh) | 告警根因输出方法、装置、设备、介质和程序产品 | |
CN114238020A (zh) | 多维度的高精度智能业务监控方法及系统 | |
CN111427749B (zh) | 一种openstack环境下针对ironic服务的监控工具及方法 | |
EP2764597A1 (en) | Processing data of a technical system comprising several assets | |
US11868203B1 (en) | Systems and methods for computer infrastructure monitoring and maintenance | |
CN113360359B (zh) | 指标异常数据溯源方法、装置、设备及存储介质 | |
CN108880881A (zh) | 一种云环境下资源监控的方法和装置 | |
CN113760669A (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 |