CN107704387A - 用于系统预警的方法、装置、电子设备及计算机可读介质 - Google Patents
用于系统预警的方法、装置、电子设备及计算机可读介质 Download PDFInfo
- Publication number
- CN107704387A CN107704387A CN201710881100.3A CN201710881100A CN107704387A CN 107704387 A CN107704387 A CN 107704387A CN 201710881100 A CN201710881100 A CN 201710881100A CN 107704387 A CN107704387 A CN 107704387A
- Authority
- CN
- China
- Prior art keywords
- pressure test
- threshold value
- sub
- adapter
- data
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- 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/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开一种用于系统预警的方法、装置、电子设备及计算机可读介质。涉及计算机信息处理领域,该方法包括:确定压力测试场景,所述压力测试场景包括多个压力测试子场景;在每个所述压力测试子场景中,进行压力测试,以获取子联合阈值;通过所有所述压力测试子场景的所述子联合阈值获取联合阈值;以及在系统运行中,通过所述联合阈值提供系统预警。本申请公开的用于系统预警的方法、装置、电子设备及计算机可读介质,监控系统可以明确告警出受压的程序或者是全链路上受压,从而为运维人员节省定位程序异常的原因,甚至可以在程序异常时通过监控系统的触发动作自动做出相应的处置措施。
Description
技术领域
本发明涉及计算机信息处理领域,具体而言,涉及一种用于系统预警的方法、装置、电子设备及计算机可读介质。
背景技术
大型或复杂系统往往会由多个程序组合而成,每个程序同时或者分时运行,占用系统的CPU以及网络端口,以实现各自的执行目的。由于系统中多个程序在运行时,交叉调用的情况很多,程序发生错误的表现常常反应在CPU使用率,队列积压数量等一些综合指标上,仅仅根据这些表象,在大型复杂的系统中,很难去定位究竟是哪一个程序产生了错误代码,引起问题。所以,在大型复杂的系统中,如何在出现或即将出现问题时快速定位出现异常的程序,成为摆在监控运维人员面前的首要问题。
在现有技术中,采用监控系统来监控大型系统的运行状态以及常见指标数值,这些监控系统大多采用收集各种软硬件程序的运行情况的数据,结合预置在其上的各种阈值来实现对系统的各个程序异常的预警。但是这种监控方式中的运维人员往往会发现监控提示告警时,被监控系统的多个软件硬件程序会同时出现告警,导致运维人员面对各种蜂拥而至的大量告警无从下手,无法在第一时间就能够准确定位真正有异常的程序。
随着程序的结构复杂度的逐步提升,单一程序的阈值告警已经无法全面反应整个系统出现问题的根本原因,因此,需要一种新的用于系统预警的方法、装置、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本发明提供一种用于系统预警的方法、装置、电子设备及计算机可读介质,能够明确告警出受压的程序或者是全链路上受压。从而为运维人员节省定位程序异常的原因,甚至可以在程序异常时通过监控系统的触发动作自动做出相应的处置措施。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的一方面,提出一种用于系统预警的方法,该方法包括:确定压力测试场景,所述压力测试场景包括多个压力测试子场景;在每个所述压力测试子场景中,进行压力测试,以获取子联合阈值;通过所有所述压力测试子场景的所述子联合阈值获取联合阈值;以及在系统运行中,通过所述联合阈值提供系统预警。
在本公开的一种示例性实施例中,所述在每个所述压力测试子场景中,进行压力测试,以获取子联合阈值,包括:在不同的所述压力测试子场景中,设定不同的关联适配器类型,进行压力测试,以获取所述子联合阈值。
在本公开的一种示例性实施例中,所述进行压力测试,以获取子联合阈值,包括:开启适配器采集开关;根据预定规则记录采集指标的基准数值;根据所述预定规则进行所述压力测试,通过所述适配器进行数据采集,生成采集数据;以及根据所述采集数据与所述基准数值生成所述子联合阈值。
在本公开的一种示例性实施例中,所述开启适配器采集开关,包括:开启操作系统适配器采集开关;以及开启中间件适配器采集开关。
在本公开的一种示例性实施例中,所述通过所述适配器进行数据采集,生成采集数据,包括以下情况至少一者:通过所述操作系统适配器采集CPU使用率,生成所述采集数据;通过所述操作系统适配器采集物理内存使用率,生成所述采集数据;以及通过所述操作系统适配器采集网络接收速度,生成所述采集数据。
在本公开的一种示例性实施例中,所述通过所述适配器进行数据采集,生成采集数据,包括以下情况至少一者:通过所述中间件适配器采集插件队列平均积压数,生成所述采集数据;以及通过所述中间件适配器采集T2队列积压数,生成所述采集数据。
在本公开的一种示例性实施例中,所述进行所述压力测试,根据所述预定规则通过所述适配器进行数据采集,包括以下情况至少一者:进行所述压力测试时,获取指标数据的平均值;进行所述压力测试时,获取指标数据的最大值;进行所述压力测试时,获取指标数据的最小值;以及进行所述压力测试时,获取指标数据的正态分布值。
在本公开的一种示例性实施例中,所述根据所述采集数据与所述基准数值生成所述子联合阈值,包括:将所述采集数据进行统计处理,生成统计数据;以及通过所述基准数值对所述统计数据进行筛选,以获取所述子联合阈值。
在本公开的一种示例性实施例中,所述通过所有所述压力测试子场景的所述子联合阈值获取联合阈值,包括:
P(A)=P(A1∩A2∩......∩An);
其中,P(A)为通过操作系统适配器获得的联合阈值,A1,A2,......,An分别为已触发的事件。
在本公开的一种示例性实施例中,所述通过所有所述压力测试子场景的所述子联合阈值获取联合阈值,包括:
P(B)=P(B1∩B2∩......∩Bn);
其中,P(B)为通过中间件适配器获得的联合阈值,B1,B2,......,Bn分别为已触发的事件。
根据本发明的一方面,提出一种用于系统预警的装置,该装置包括:场景模块,用于确定压力测试场景,所述压力测试场景包括多个压力测试子场景;测试模块,用于在每个所述压力测试子场景中,进行压力测试,以获取子联合阈值;阈值模块,用于通过所有所述压力测试子场景的所述子联合阈值获取联合阈值;以及预警模块,用于在系统运行中,通过所述联合阈值提供系统预警。
在本公开的一种示例性实施例中,所述测试模块包括:适配器子模块,用于开启适配器采集开关;基准子模块,用于根据预定规则记录采集指标的基准数值;采集子模块,用于根据所述预定规则进行所述压力测试,通过所述适配器进行数据采集,生成采集数据;以及阈值子模块,用于根据所述采集数据与所述基准数值生成所述子联合阈值。
根据本发明的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本发明的一方面,提出一种计算机可读介质,其上存储有计算机程序,其特征在于,程序被处理器执行时实现如上文中的方法。
根据本发明的用于系统预警的方法、装置、电子设备及计算机可读介质,能够明确告警出受压的程序或者是全链路上受压。从而为运维人员节省定位程序异常的原因,甚至可以在程序异常时通过监控系统的触发动作自动做出相应的处置措施。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种用于系统预警的方法的系统架构。
图2是根据另一示例性实施例示出的一种用于系统预警的方法的系统架构。
图3是根据一示例性实施例示出的一种用于系统预警的方法的流程图。
图4是根据另一示例性实施例示出的一种用于系统预警的方法的流程图。
图5是根据另一示例性实施例示出的一种用于系统预警的方法的示意图。
图6是根据一示例性实施例示出的一种用于系统预警的装置的框图。
图7是根据一示例性实施例示出的一种电子设备的框图。
图8是根据一示例性实施例示出的一种计算机可读介质示意图。
具体实施例
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的,因此不能用于限制本发明的保护范围。
下面结合附图对本公开示例实施方式进行详细说明。
图1是根据一示例性实施例示出的一种用于系统预警的方法的系统架构。
如图1所示,系统架构100可以包括终端设备11(可例如为监控系统客户端),网络设备和服务器12(可例如为监控系统服务端)。还可例如包括交换机,路由器,数据搜索服务器,操作系统等其他设备。网络设备用以在终端设备11、服务器12以及交换机,路由器,数据搜索服务器,操作系统等设备之间提供通信链路的介质。网络设备可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
系统架构100可例如为压测系统,可例如根据压测场景分别选择图1中的关联适配器类型的指标18,分别对业务系统各个组成程序及全链路进行多组模拟,压测过程中数据收集器18将收集多组压测过程中的各个组件程序的实时数据。
压力测试完成后,参见核心应用服务14获取到来自数据收集器17根据用户指定的参数模版文件15中配置规则(可例如为平均值、最大/小值、正太分布),计算出各个适配器各个指标项的经验值,将其落地为本申请中的联合阈值19。
用户可以使用终端设备11通过网络与服务器12交互,以接收或发送消息等。终端设备11上可以安装有各种通讯客户端应用,可例如搜索类应用、即时通信工具、监测软件等等。
终端设备11可以是具有显示屏并且支持网页或数据展示的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器12可以是提供各种服务的服务器,例如对用户利用终端设备11提供支持的后台管理服务器。后台管理服务器可以对接收到的用户指令进行解析,并执行命令。还可例如将数据进行分析等处理,并将处理结果反馈给终端设备。
图2是根据另一示例性实施例示出的一种用于系统预警的方法的系统架构。
如图2所述,压力测试系统201调用数据库202、中间件203以及操作系统204的进行压力测试,监控系统210通过适SQL配器205,Snmp适配器206,Wmi适配器207监控数据库202、中间件203以及操作系统204的运行,并通过数据收集器208进行数据收集。
图3是根据一示例性实施例示出的一种用于系统预警的方法的流程图。
如图3所示,在S302中,确定压力测试场景,所述压力测试场景包括多个压力测试子场景。本实施例中的方法可应在系统上线前进行,压力测试场景可例如,根据历史场景确定压力测试场景,还可例如,根据专家的分析结论,确定压力测试的场景。其中,不同条件的压力测试分别作为压力测试的子场景。
在S304中,在每个所述压力测试子场景中,进行压力测试,以获取子联合阈值。在不同的所述压力测试子场景中,设定不同的关联适配器类型,进行压力测试,以获取所述子联合阈值。还可例如,监控运维人员可以根据需要配置业务系统的各个程序的日志适配器、SQL适配器、SNMP适配器、定时向业务系统采集性能数据。还包括:开启适配器采集开关;根据预定规则记录采集指标的基准数值;根据所述预定规则进行所述压力测试,通过所述适配器进行数据采集,生成采集数据;以及根据所述采集数据与所述基准数值生成所述子联合阈值。还可例如,通过监控系统中提供的各种适配器建立对被监控系统的各种指标:如各种异构程序的日志监控、操作系统的软硬件监控以及业务系统本身自有的监控。一般的,系统上线前会做各个组成程序以及全链路上的一组或多组性能的压测,在每个场景的压测的同时,监控系统将收集到的性能数据存储为跨多个监视指标的子默认阈值
在S306中,通过所有所述压力测试子场景的所述子联合阈值获取联合阈值。监控系统通过多组部分链路及全链路压测后实际上已经收集到多组性能数据,从而可以将收集到的数据设置系统承压的多组子联合阈值,通过多组子联合阈值,生成联合阈值。
在S308中,在系统运行中,通过所述联合阈值提供系统预警。在系统运行过程中,当物理机器同时出现cpu,内存,网络接收速度,中间件上插件队列积压时,可以通过联合阈值很清楚地得出告警原因。可例如为外部出现大量请求导致中间件程序及所在的物理机器负载过大。
根据本发明的用于系统预警的方法,通过在不同的压力测试下获得的子联合阈值,生成整个系统的联合阈值的方式,能够明确告警出受压的程序或者是全链路上受压。从而为运维人员节省定位程序异常的原因,甚至可以在程序异常时通过监控系统的触发动作自动做出相应的处置措施。
应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施例。
在本公开的一种示例性实施例中,所述开启适配器采集开关,包括:开启操作系统适配器采集开关;以及开启中间件适配器采集开关。
在本公开的一种示例性实施例中,所述通过所述适配器进行数据采集,生成采集数据,包括以下情况至少一者:通过所述操作系统适配器采集CPU使用率,生成所述采集数据;通过所述操作系统适配器采集物理内存使用率,生成所述采集数据;以及通过所述操作系统适配器采集网络接收速度,生成所述采集数据。
在本公开的一种示例性实施例中,所述通过所述适配器进行数据采集,生成采集数据,包括以下情况至少一者:通过所述中间件适配器采集插件队列平均积压数,生成所述采集数据;以及通过所述中间件适配器采集T2队列积压数,生成所述采集数据。
在本公开的一种示例性实施例中,所述根据所述采集数据与所述基准数值生成所述子联合阈值,包括:将所述采集数据进行统计处理,生成统计数据;以及通过所述基准数值对所述统计数据进行筛选,以获取所述子联合阈值。
在本申请中,若将单个操作系统适配器A的单个指标项(CPU使用率)满足条件抽象为一个已触发的事件A1,那么这个适配器的多组指标项(CPU、内存使用率、网络接收发送速率)就可以表述为多个事件A1,A2.....A.3。
系统根据指定规则(制定规则可例如如上文所述的规则,在平均值、最大/小值、正态分布下)进行压测,获得各个事件的最可能取值P(A1)=max(x);P(A1)=min(x);
联合阈值可例如为多个适配器(可例如为操作系统适配器A、中间件适配器B)的多组指标关联P(A)=P(A1∩A2∩......∩An);P(B)=P(B1∩B2∩......∩Bn),其中,其中,P(A)为通过操作系统适配器获得的联合阈值,A1,A2,......,An分别为已触发的事件。P(B)为通过中间件适配器获得的联合阈值,B1,B2,......,Bn分别为已触发的事件。将多个事件最可能的取值分别根据步骤2的计算规则得出的最可能取值进行保存。留作后续运作时进行预警使用。
联合阈值就是各个事件的联合概率P(A∩B),那么当系统在真实环境中满足了联合概率P(A∩B)出现,就可以准确报出异常的根源。
示例性的创建采集规则的程序XML1可例如:
<?xml version="1.0"encoding="UTF-8"?>
<threshold>
<thresholdName>58A8A6FA-444B-2041-9B9B-EA8FCE1345D1</thresholdName><!--联合阈值采集规则名称(命名方式:以'threshold_'开头,不允许重复)-->
<thresholdRulePackage>com.hundsun.monitorAS.threshold.rule</thresholdRulePackage>
<!--采集规则所在包名称-->
<importRuleName>RuleAverage</importRuleName><!--采集入库规则定义(采集入库调用类名(默认自动调用以规则名命名的类的execute方法)-->
<thresholdPeriod>1*Minute</thresholdPeriod><!--采集统计周期(1*Minute表示以1分钟为单位间隔入库)-->
<thresholdActive>true</thresholdActive><!--是否激活采集统计-->
<exportRuleName>RuleAvg</exportRuleName><!--采集出库规则定义(采集入库调用类名(默认自动调用以规则名命名的类的execute方法)-->
<monitorKey>
<field>5f482868-e0ff-40f4-84bc-944dadb5e0c8</field>
<field>dc8c793d-7f36-45b4-8655-bc8828f4c897</field>
</monitorKey>
<!--监视器KEY-->
<monitorType>lAgentLinux,esb</monitorType><!--监视器类型-->
<block name="memory"describe="内存信息">
<field name="MemoryUsedRate"type="float"describe="物理内存使用率(%)"/>
</block>
<block name="netsource"describe="网络"pk="Description">
<field name="Description"type="string"describe="网卡名"/>
<field name="InOctetsTriffic"type="float"describe="接收速度(kbps)"/>
<field name="OutOctetsTriffic"type="float"describe="发送速度(kbps)"/>
</block>
<block name="cpu"describe="CPU"pk="DeviceID">
<field name="DeviceID"type="string"describe="CPU标识"/>
<field name="CpuUsage"type="integer"describe="CPU使用率(%)"/>
</block>
<block name="route_queue"describe="route插件队列信息">
<field name="IFSelfPause"type="integer"describe="是否启用"/>
<field name="MsgInQ"type="integer"describe="队列平均积压个数"/>
<field name="MaxMsgInQ"type="integer"describe="历史最大积压个数"/>
</block>
<block name="t2_queue_send_count"describe="t2通道发送队列积压数">
<field name="connection_no"type="integer"describe="连接编号"/>
<field name="login_name"type="integer"describe="登录名称"/>
<field name="address"type="integer"describe="连接ip地址"/>
<field name="queue_send_count"type="integer"describe="发送队列积压数"/>
</block>
示例性的计算联合阈值的程序XML2可例如:
</threshold>
<?xml version="1.0"encoding="UTF-8"?>
<cepInstance>
<warningCondition type="private"warn="58A8A6FA-444B-2041-9B9B-EA8FCE1345D1">
<monitorKey>
<field>5f482868-e0ff-40f4-84bc-944dadb5e0c8</field>
<field>dc8c793d-7f36-45b4-8655-bc8828f4c897</field>
</monitorKey>
<threshold name="中间件队列联合告警">
<level>1</level>
<expression>{dc8c793d-7f36-45b4-8655-bc8828f4c897@memory:MemoryLoad}>;150&;&;{5f482868-e0ff-40f4-84bc-944dadb5e0c8@route_queue:MsgInQ}>;1000&;&;{5f482868-e0ff-40f4-84bc-944dadb5e0c8@t2_queue_send_count:queue_send_count}>;20000&;&;{dc8c793d-7f36-45b4-8655-bc8828f4c897@cpu:CpuUsage}>;90&;&;{dc8c793d-7f36-45b4-8655-bc8828f4c897@netsource:InOctetsTriffic}>;100000000</expression>
<relateConditionExp></relateConditionExp>
<relateConditionDesc></relateConditionDesc>
<describeOfExpression>{81@内存信息:当前使用内存(MB)}>150&&{access_ar_ok#0(AR2.0)@route插件队列信息:队列平均积压个数}>1000&&{access_ar_ok#0(AR2.0)@t2通道发送队列积压数:发送队列积压数}>20000&&{81@CPU:CPU使用率(%)}>90&&{81@网络:接收速度(kbps)}>1000000</describeOfExpression>
<description>中间件所受外部访问量增加,队列积压出现积压,已达到物理机处理瓶颈,可考虑扩容中间件集群规模以缓解请求压力</description>
<timeRanges timeZone="">
<timeRange endTime="20:00:00"startTime="00:00:00"></timeRange>
</timeRanges>
<action></action>
<warnTimesForMerge>t:1</warnTimesForMerge>
<warnControler>2:2</warnControler>
<isWarnEclipseAutoCheck>true</isWarnEclipseAutoCheck>
</threshold>
</warningCondition>
<describe>中间件接收请求数达到物理机瓶颈</describe>
<id>58A8A6FA-444B-2041-9B9B-EA8FCE1345D1</id>
<name>中间件队列联合告警</name>
<creator>b318160a-dca8-413f-8b2d-541089ee3859</creator>
<key>58A8A6FA-444B-2041-9B9B-EA8FCE1345D1</key>
</cepInstance>
在上文的实施例中,将操作系统中的指标项(cpu使用率与物理内存使用率及网络接收速度)与中间件程序中的指标项(插件队列平均积压数与T2队列积压数)根据压测结果与预置规则XML1计算后自动生成该XML2,根据多组压测场景可以自动生成多组联合阈值。
图4是根据另一示例性实施例示出的一种用于系统预警的方法的流程图。
如图4所示,在做压测前开启各个适配器的采集开关,根据上文XML1中定义的规则记录各个采集指标项在压测前的基准值,压测完成后,根据压测过程中各个适配器采集数据的,系统统计这段时间内采样的数据,根据XML1中定义的计算规则(平均值、最大、小值、正态分布)、统计时间规则计算出各个适配器及各指标项最可能取值,由系统自动忽略压测前后过程中无明显变化的各个适配器的指标。将有明显变化的指标结合系统自动计算出的最可能取值组合成为一组联合阈值,即可自动生成XML2。
根据多组压测的场景反复进行上述步骤即可自动生成多个场景下的多个联合阈值。
本申请的方法于现有方法的区别是:不再完全依赖专家人为设置单项指标值(但采集指标项本身依赖专家经验),因为专家经验在不同系统软硬件环境中各指标存在偏差,而上线前生产系统实际压测能够更加贴近用户实际使用的真实场景,另外不同于传统单适配器单指标项的根据预定义规则采集生产的预警,分散在各个适配器中的各个指标项单独告警无助于快速定位系统实际问题。联合阈值同时计算采集到多个适配器的多个指标项,根据分析预置最可能值进行计算,满足条件的告警才能精准定位当前系统实际问题。从另一方面来说也无需用户在进行多个适配器多个指标的配置带来的繁琐。
图5是根据另一示例性实施例示出的一种用于系统预警的方法的示意图。
业务系统的专家微调监控系统给出的多组默认联合阈值。即可作为系统的默认联合阈值。那么如图5中描述的当物理机器同时出现cpu,内存,网络接收速度,中间件上插件队列积压时,可以通过联合阈值很清楚地得出告警原因为外部出现大量请求导致中间件程序及所在的物理机器负载过大。
根据本发明的用于系统预警的方法,通过上述方案给出适合业务系统在各个组成程序压力分别受压及全链路受压后的联合阈值方案,那么在生产系统上线后的运维过程中若达到满足联合阈值的条件,监控系统将可以明确告警出受压的程序或者是全链路上受压。从而为运维人员节省定位程序异常的原因,甚至可以在程序异常时通过监控系统的触发动作自动做出相应的处置措施。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
图6是根据一示例性实施例示出的一种用于系统预警的装置的框图。
场景模块602用于确定压力测试场景,所述压力测试场景包括多个压力测试子场景。
测试模块604用于在每个所述压力测试子场景中,进行压力测试,以获取子联合阈值。
阈值模块606用于通过所有所述压力测试子场景的所述子联合阈值获取联合阈值。
预警模块608用于在系统运行中,通过所述联合阈值提供系统预警。
根据本发明的用于系统预警的装置,通过上述方案给出适合业务系统在各个组成程序压力分别受压及全链路受压后的联合阈值方案,那么在生产系统上线后的运维过程中若达到满足联合阈值的条件,监控系统将可以明确告警出受压的程序或者是全链路上受压。从而为运维人员节省定位程序异常的原因,甚至可以在程序异常时通过监控系统的触发动作自动做出相应的处置措施。
在本公开的一种示例性实施例中,所述测试模块包括:适配器子模块(图中未示出),用于开启适配器采集开关;基准子模块(图中未示出),用于根据预定规则记录采集指标的基准数值;采集子模块(图中未示出),用于根据所述预定规则进行所述压力测试,通过所述适配器进行数据采集,生成采集数据;以及阈值子模块(图中未示出),用于根据所述采集数据与所述基准数值生成所述子联合阈值。
图7是根据一示例性实施例示出的一种电子设备的框图。
下面参照图7来描述根据本发明的这种实施方式的电子设备200。图7显示的电子设备200仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,电子设备200以通用计算设备的形式表现。电子设备200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线230、显示单元240等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元210执行,使得所述处理单元210执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元210可以执行如图3中所示的步骤。
所述存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(ROM)2203。
所述存储单元220还可以包括具有一组(至少一个)程序模块2205的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备200也可以与一个或多个外部设备300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口250进行。并且,电子设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述电子处方流转处理方法。
图8是根据一示例性实施例示出的一种计算机可读介质示意图。
参考图8所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品400,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:确定压力测试场景,所述压力测试场景包括多个压力测试子场景;在每个所述压力测试子场景中,进行压力测试,以获取子联合阈值;通过所有所述压力测试子场景的所述子联合阈值获取联合阈值;以及在系统运行中,通过所述联合阈值提供系统预警。
以上具体地示出和描述了本发明的示例性实施例。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
此外,本说明书说明书附图所示出的结构、比例、大小等,均仅用以配合说明书所公开的内容,以供本领域技术人员了解与阅读,并非用以限定本公开可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本公开所能产生的技术效果及所能实现的目的下,均应仍落在本公开所公开的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“第一”、“第二”及“一”等的用语,也仅为便于叙述的明了,而非用以限定本公开可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当也视为本发明可实施的范畴。
Claims (14)
1.一种用于系统预警的方法,其特征在于,包括:
确定压力测试场景,所述压力测试场景包括多个压力测试子场景;
在每个所述压力测试子场景中,进行压力测试,以获取子联合阈值;
通过所有所述压力测试子场景的所述子联合阈值获取联合阈值;以及
在系统运行中,通过所述联合阈值提供系统预警。
2.如权利要求1所述的方法,其特征在于,所述在每个所述压力测试子场景中,进行压力测试,以获取子联合阈值,包括:
在不同的所述压力测试子场景中,设定不同的关联适配器类型,进行压力测试,以获取所述子联合阈值。
3.如权利要求1所述的方法,其特征在于,所述进行压力测试,以获取子联合阈值,包括:
开启适配器采集开关;
根据预定规则记录采集指标的基准数值;
进行所述压力测试,根据所述预定规则通过所述适配器进行数据采集,生成采集数据;以及
根据所述采集数据与所述基准数值生成所述子联合阈值。
4.如权利要求3所述的方法,其特征在于,所述开启适配器采集开关,包括:
开启操作系统适配器采集开关;以及
开启中间件适配器采集开关。
5.如权利要求4所述的方法,其特征在于,所述通过所述适配器进行数据采集,生成采集数据,包括以下情况至少一者:
通过所述操作系统适配器采集CPU使用率,生成所述采集数据;
通过所述操作系统适配器采集物理内存使用率,生成所述采集数据;以及
通过所述操作系统适配器采集网络接收速度,生成所述采集数据。
6.如权利要求4所述的方法,其特征在于,所述通过所述适配器进行数据采集,生成采集数据,包括以下情况至少一者:
通过所述中间件适配器采集插件队列平均积压数,生成所述采集数据;以及
通过所述中间件适配器采集T2队列积压数,生成所述采集数据。
7.如权利要求3所述的方法,其特征在于,所述进行所述压力测试,根据所述预定规则通过所述适配器进行数据采集,包括以下情况至少一者:
进行所述压力测试,获取指标数据的平均值;
进行所述压力测试,获取指标数据的最大值;
进行所述压力测试,获取指标数据的最小值;以及
进行所述压力测试,获取指标数据的正态分布值。
8.如权利要求3所述的方法,其特征在于,所述根据所述采集数据与所述基准数值生成所述子联合阈值,包括:
将所述采集数据进行统计处理,生成统计数据;以及
通过所述基准数值对所述统计数据进行筛选,以获取所述子联合阈值。
9.如权利要求1所述的方法,其特征在于,所述通过所有所述压力测试子场景的所述子联合阈值获取联合阈值,包括:
P(A)=P(A1∩A2∩......∩An);
其中,P(A)为通过操作系统适配器获得的联合阈值,A1,A2,......,An分别为已触发的事件。
10.如权利要求1所述的方法,其特征在于,所述通过所有所述压力测试子场景的所述子联合阈值获取联合阈值,包括:
P(B)=P(B1∩B2∩......∩Bn);
其中,P(B)为通过中间件适配器获得的联合阈值,B1,B2,......,Bn分别为已触发的事件。
11.一种用于系统预警的装置,其特征在于,包括:
场景模块,用于确定压力测试场景,所述压力测试场景包括多个压力测试子场景;
测试模块,用于在每个所述压力测试子场景中,进行压力测试,以获取子联合阈值;
阈值模块,用于通过所有所述压力测试子场景的所述子联合阈值获取联合阈值;以及
预警模块,用于在系统运行中,通过所述联合阈值提供系统预警。
12.如权利要求11所述的装置,其特征在于,所述测试模块包括:
适配器子模块,用于开启适配器采集开关;
基准子模块,用于根据预定规则记录采集指标的基准数值;
采集子模块,用于根据所述预定规则进行所述压力测试,通过所述适配器进行数据采集,生成采集数据;以及
阈值子模块,用于根据所述采集数据与所述基准数值生成所述子联合阈值。
13.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-10中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710881100.3A CN107704387B (zh) | 2017-09-26 | 2017-09-26 | 用于系统预警的方法、装置、电子设备及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710881100.3A CN107704387B (zh) | 2017-09-26 | 2017-09-26 | 用于系统预警的方法、装置、电子设备及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107704387A true CN107704387A (zh) | 2018-02-16 |
CN107704387B CN107704387B (zh) | 2021-03-16 |
Family
ID=61174475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710881100.3A Active CN107704387B (zh) | 2017-09-26 | 2017-09-26 | 用于系统预警的方法、装置、电子设备及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107704387B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536521A (zh) * | 2018-03-30 | 2018-09-14 | 口碑(上海)信息技术有限公司 | 基于仿真平台离线环境核对方法及装置 |
CN109614307A (zh) * | 2018-09-29 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 业务系统的线上压力测试的方法、装置及服务器 |
CN109660421A (zh) * | 2018-10-26 | 2019-04-19 | 平安科技(深圳)有限公司 | 弹性调度资源的方法、装置、服务器及存储介质 |
CN109766217A (zh) * | 2018-12-20 | 2019-05-17 | 北京梧桐车联科技有限责任公司 | 一种车机系统故障修复方法及装置 |
CN110442142A (zh) * | 2018-05-02 | 2019-11-12 | 北京京东尚科信息技术有限公司 | 速度数据处理方法、装置、电子设备及计算机可读介质 |
CN113391900A (zh) * | 2021-06-18 | 2021-09-14 | 长春吉星印务有限责任公司 | 一种离散生产环境下异常事件处理方法及系统 |
CN115687599A (zh) * | 2022-09-29 | 2023-02-03 | 恒生电子股份有限公司 | 业务数据处理方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070234117A1 (en) * | 2004-08-05 | 2007-10-04 | International Business Machines Corporation | Apparatus and method to convert data from a first sector format to a second sector format |
CN101576846A (zh) * | 2008-05-09 | 2009-11-11 | 北京世纪拓远软件科技发展有限公司 | 软件的性能检测方法 |
US20120030527A1 (en) * | 2004-12-22 | 2012-02-02 | Fujitsu Semiconductor Limited | Semiconductor memory device |
CN103412805A (zh) * | 2013-07-31 | 2013-11-27 | 交通银行股份有限公司 | 一种it故障源诊断方法及系统 |
CN103607297A (zh) * | 2013-11-07 | 2014-02-26 | 上海爱数软件有限公司 | 一种计算机集群系统的故障处理方法 |
CN104572401A (zh) * | 2015-02-09 | 2015-04-29 | 浪潮软件股份有限公司 | 一种告警方法及告警系统 |
CN104765692A (zh) * | 2015-04-29 | 2015-07-08 | 北京嘀嘀无限科技发展有限公司 | 用于自动化测试软件的方法及设备 |
-
2017
- 2017-09-26 CN CN201710881100.3A patent/CN107704387B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070234117A1 (en) * | 2004-08-05 | 2007-10-04 | International Business Machines Corporation | Apparatus and method to convert data from a first sector format to a second sector format |
US20120030527A1 (en) * | 2004-12-22 | 2012-02-02 | Fujitsu Semiconductor Limited | Semiconductor memory device |
CN101576846A (zh) * | 2008-05-09 | 2009-11-11 | 北京世纪拓远软件科技发展有限公司 | 软件的性能检测方法 |
CN103412805A (zh) * | 2013-07-31 | 2013-11-27 | 交通银行股份有限公司 | 一种it故障源诊断方法及系统 |
CN103607297A (zh) * | 2013-11-07 | 2014-02-26 | 上海爱数软件有限公司 | 一种计算机集群系统的故障处理方法 |
CN104572401A (zh) * | 2015-02-09 | 2015-04-29 | 浪潮软件股份有限公司 | 一种告警方法及告警系统 |
CN104765692A (zh) * | 2015-04-29 | 2015-07-08 | 北京嘀嘀无限科技发展有限公司 | 用于自动化测试软件的方法及设备 |
Non-Patent Citations (1)
Title |
---|
饶洁 等: "面向预警探测系统的分布式消息中间件研究与实现", 《信息化研究》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536521A (zh) * | 2018-03-30 | 2018-09-14 | 口碑(上海)信息技术有限公司 | 基于仿真平台离线环境核对方法及装置 |
CN108536521B (zh) * | 2018-03-30 | 2020-09-01 | 口碑(上海)信息技术有限公司 | 基于仿真平台离线环境核对方法及装置 |
CN110442142A (zh) * | 2018-05-02 | 2019-11-12 | 北京京东尚科信息技术有限公司 | 速度数据处理方法、装置、电子设备及计算机可读介质 |
CN110442142B (zh) * | 2018-05-02 | 2022-12-27 | 北京京东尚科信息技术有限公司 | 速度数据处理方法、装置、电子设备及计算机可读介质 |
CN109614307B (zh) * | 2018-09-29 | 2022-05-31 | 创新先进技术有限公司 | 业务系统的线上压力测试的方法、装置及服务器 |
CN109614307A (zh) * | 2018-09-29 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 业务系统的线上压力测试的方法、装置及服务器 |
CN109660421A (zh) * | 2018-10-26 | 2019-04-19 | 平安科技(深圳)有限公司 | 弹性调度资源的方法、装置、服务器及存储介质 |
CN109766217A (zh) * | 2018-12-20 | 2019-05-17 | 北京梧桐车联科技有限责任公司 | 一种车机系统故障修复方法及装置 |
CN109766217B (zh) * | 2018-12-20 | 2021-06-22 | 北京梧桐车联科技有限责任公司 | 一种车机系统故障修复方法及装置 |
CN113391900A (zh) * | 2021-06-18 | 2021-09-14 | 长春吉星印务有限责任公司 | 一种离散生产环境下异常事件处理方法及系统 |
CN113391900B (zh) * | 2021-06-18 | 2024-04-09 | 长春吉星印务有限责任公司 | 一种离散生产环境下异常事件处理方法及系统 |
CN115687599A (zh) * | 2022-09-29 | 2023-02-03 | 恒生电子股份有限公司 | 业务数据处理方法、装置、电子设备及存储介质 |
CN115687599B (zh) * | 2022-09-29 | 2023-10-31 | 恒生电子股份有限公司 | 业务数据处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107704387B (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107704387A (zh) | 用于系统预警的方法、装置、电子设备及计算机可读介质 | |
US10210036B2 (en) | Time series metric data modeling and prediction | |
US11062231B2 (en) | Supervised learning system training using chatbot interaction | |
CN104750768B (zh) | 用于从社交媒体中识别、监控和排名事件的方法和系统 | |
CN107370806A (zh) | Http状态码监控方法、装置、存储介质和电子设备 | |
JP2017174375A (ja) | リスク早期警報方法、および装置 | |
CN109685089A (zh) | 评估模型性能的系统及方法 | |
CN111740860A (zh) | 日志数据传输链路监控方法及装置 | |
US11722371B2 (en) | Utilizing unstructured data in self-organized networks | |
CN109960635A (zh) | 实时计算平台的监控和报警方法、系统、设备及存储介质 | |
CN110347694B (zh) | 一种基于物联网的设备监控方法、装置及系统 | |
CN110096420A (zh) | 一种数据处理方法、系统和装置 | |
CN110532322A (zh) | 运维交互方法、系统、计算机可读存储介质及设备 | |
CN114461434A (zh) | 故障根因分析方法、装置、电子设备及介质 | |
CN114746844A (zh) | 对操作管理中的事件风暴中的构成事件的标识 | |
US10827335B1 (en) | Cognitive emergency management on a 5G telecom network | |
US20200372367A1 (en) | Cognitive methods and systems for responding to computing system incidents | |
US10979333B2 (en) | Offline, realtime, and historic monitoring of data packets | |
JP2023537769A (ja) | クラウドネイティブなアプリケーション向けの障害場所特定 | |
CN113794719A (zh) | 一种基于Elasticsearch技术网络异常流量分析方法、装置和电子设备 | |
US11256598B2 (en) | Automated selection of performance monitors | |
CN114064377A (zh) | 负载均衡器的监控方法、装置、设备及存储介质 | |
US11221938B2 (en) | Real-time collaboration dynamic logging level control | |
CN115080363B (zh) | 一种基于业务日志的系统容量评估方法及装置 | |
CN114756301A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |