基于IT运维监控的指标采集方法、系统、设备及存储介质与流程

文档序号:24872649发布日期:2021-04-30 12:45阅读:166来源:国知局
基于IT运维监控的指标采集方法、系统、设备及存储介质与流程

本发明涉及it运维的技术领域,尤其是涉及一种基于it运维监控的指标采集方法、设备、系统及存储介质。



背景技术:

对于it运维平台监控指标采集系统而言,其基础功能就是实现采集指标的配置、指标配置查询及指标采集。传统的指标采集装置一般为2层结构,分别为采集指标配置层和指标采集层。采集指标配置层是实现在监控指标执行采集工作前的配置准备工作,先将对应资源池、对应主机、需要采集的指标、指标的采集周期等内容进行配置,并且持久化存储到关系型数据库中;指标采集层主要工作是实现指标配置查询及指标采集,指标配置查询通过采集指标配置层服务获取需要采集的指标配置,指标采集根据上步获取的配置执行具体指标的采集工作。

指标采集层一般是单点运行,当要采集的指标数较大,指标进行数据采集性能差,若通过分布式采集则需要在每个采集层服务进行大量的人工配置,为不同的采集层服务分配不同的采集对象(主机)来分担采集压因此,采用人工配置浪费人力,且指标采集性能差。



技术实现要素:

本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种基于it运维监控的指标采集方法,能够提高指标采集的效率、节省人力,且提高指标采集性能。

本发明还提出一种基于it运维监控的指标采集系统。

本发明还提出一种电子控制设备。

本发明还提出一种计算机可读存储介质。

第一方面,本发明的一个实施例提供了基于it运维监控的指标采集方法,包括:

配置采集指标对应的指标采集对象和指标采集参数;

根据采集主机的性能参数确定服务进程的数量,并将所述指标采集对象按顺序分配至对应的所述服务进程;

所述服务进程根据查询条件确定所述指标采集对象和所述指标采集参数;

所述服务进程根据所述指标采集对象和所述指标采集参数采集所述指标采集对象的所述采集指标。

本发明实施例的基于it运维监控的指标采集方法至少具有如下有益效果:通过根据采集主机的性能参数确定服务进程,并将指标采集对象分配到服务进程,则可以均衡分配指标采集对象给每个服务进程,实现服务进程根据指标采集对象和指标采集参数进行指标采集,以提高指标采集的效率。

根据本发明的另一些实施例的基于it运维监控的指标采集方法,所述指标采集参数包括:指标类型、采集周期、协议类型、采集方式和指标查询接口。

根据本发明的另一些实施例的基于it运维监控的指标采集方法,所述性能参数包括:cpu核数和cpu使用百分比,所述根据采集主机的性能参数确定服务进程的数量,并将所述指标采集对象按顺序分配至对应的所述服务进程:

根据所述采集主机的所述cpu核数和所述cpu使用百分比确定服务进程的数量;

按所述服务进程的编号顺序将所述指标采集对象分配给对应的所述服务进程。

根据本发明的另一些实施例的基于it运维监控的指标采集方法,所述查询条件包括:服务进程的服务编号和服务进程的总数,所述服务进程根据查询条件确定所述指标采集对象和所述指标采集参数,包括:

服务进程根据所述服务进程的服务编号和所述服务进程的总数确定所述指标采集对象和所述指标采集参数。

根据本发明的另一些实施例的基于it运维监控的指标采集方法,所述服务进程根据所述指标采集对象和所述指标采集参数采集所述指标采集对象的指标,包括:

所述服务进程根据所述指标采集参数和所述指标采集对象确定指标采集检索式;

所述服务进程根据所述指标采集检索采集所述指标采集对象的指标。

根据本发明的另一些实施例的基于it运维监控的指标采集方法,还包括:

监测所述服务进程的运行状态;

若所述运行状态为无更新时间,则将所述服务进程剔除。

根据本发明的另一些实施例的基于it运维监控的指标采集方法,还包括:

间隔预设时间获取所有采集指标的所述指标采集对象的数量以得到采集对象总数;

根据所述采集对象总数在所述预设时间更新所述服务进程的数量;

根据所述服务进程的数量定期更新所述服务进程所分配的所述指标采集对象。

第二方面,本发明的一个实施例提供了基于it运维监控的指标采集系统,包括:

指标配置模块,用于配置采集指标对应的指标采集对象和指标采集参数;

服务进程,用于根据所述服务进程的编号确定所述指标采集对象和所述指标采集参数,并根据所述指标采集对象和所述指标采集参数采集所述指标采集对象的指标;

分配模块,用于根据采集主机的性能参数确定所述服务进程的数量,并将所述指标采集对象按顺序分配至对应的所述服务进程。

本发明实施例的基于it运维监控的指标采集系统至少具有如下有益效果:通过根据采集主机的性能参数确定服务进程,并将指标采集对象分配到服务进程,则可以均衡分配指标采集对象给每个服务进程,实现服务进程根据指标采集对象和指标采集参数进行指标采集,以提高指标采集的效率。

第三方面,本发明的一个实施例提供了电子控制设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现:

如第一方面的基于it运维监控的指标采集系统方法。

第四方面,本发明的一个实施例提供了计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面所述的基于it运维监控的指标采集系统方法。

本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

图1是本发明实施例中基于it运维监控的指标采集方法的一具体实施例流程示意图;

图2是本发明实施例中基于it运维监控的指标采集方法的另一具体实施例流程示意图;

图3是本发明实施例中基于it运维监控的指标采集方法的另一具体实施例流程示意图;

图4是本发明实施例中基于it运维监控的指标采集方法的另一具体实施例流程示意图;

图5是本发明实施例中基于it运维监控的指标采集方法的另一具体实施例流程示意图;

图6是本发明实施例中基于it运维监控的指标采集方法的另一具体实施例流程示意图;

图7是本发明实施例中基于it运维监控的指标采集系统的一具体实施例模块框图;

图8是本发明实施例中电子控制设备的一具体实施例模块框图。

附图标记:100、指标配置模块;200、服务进程;300、分配模块;400、存储器;500、处理器。

具体实施方式

以下将结合实施例对本发明的构思及产生的技术效果进行清楚、完整地描述,以充分地理解本发明的目的、特征和效果。显然,所描述的实施例只是本发明的一部分实施例,而不是全部实施例,基于本发明的实施例,本领域的技术人员在不付出创造性劳动的前提下所获得的其他实施例,均属于本发明保护的范围。

在本发明实施例的描述中,如果涉及到“若干”,其含义是一个以上,如果涉及到“多个”,其含义是两个以上,如果涉及到“大于”、“小于”、“超过”,均应理解为不包括本数,如果涉及到“以上”、“以下”、“以内”,均应理解为包括本数。如果涉及到“第一”、“第二”,应当理解为用于区分技术特征,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。

传统的指标采集系统主要由采集指标配置层和指标采集层组成,采集指标配置层是实现在监控指标执行采集工作前的配置准备工作,先将对应资源池、对应主机、需要采集的指标、指标的采集周期等内容进行配置,并且持久性化存储到关系型数据库中;指标采集层主要工作是实现指标配置查询及指标采集,指标配置查询通过采集指标配置层服务获取需要采集的指标配置,指标采集根据上部获取的配置指标具体的指标的采集工作。

由于指标采集层一般是单点运行,当需要采集的指标数量较大时,比如每分钟需要对10w以上指标进行数据采集时性能会非常差;即使有一些厂家实现了分布式采集,也需要在每个采集层服务进行大量的人工配置,为不同的采集层服务分配不同的采集对象来分担采集压力。而且当服务出现故障时,整个指标采集工作面临瘫痪;及时通过外部高可用工作实现其服务的高可用,由于服务本身是有状态的,也只能实现冷备切换,不仅工作量大,而且冷备对于设备资源的开销是成倍的增加,效用性比较差。由于指标采集层服务在执行采集任务前的指标配置同步方式都是采用接口,而且接口存在网络延迟及数据库查询开销,影响了最终的指标采集的性能。

基于此,本申请公开了基于it运维监控的指标采集方法、系统、设备及存储介质,能够提高指标采集的性能、扩展性和可用性。

第一方面,参照图1,本发明实施例公开了基于it运维监控的指标采集方法,包括:

s100、配置采集指标对应的指标采集对象和指标采集参数;

s200、根据采集主机的性能参数确定服务进程的数量,并将指标采集对象按顺序分配至对应的服务进程;

s300、服务进程根据查询条件确定指标采集对象和指标采集参数;

s400、服务进程根据指标采集对象和指标采集参数采集指标采集对象的指标。

由于传统的指标采集都是单点运行,因此针对采集指标数量多时,需要耗费大量的时间,如果通过人工采用分布式采集则需要大量的人工配置。因此,通过对采集指标进行配置对应的指标采集对象和指标采集参数,根据采集主机的性能参数确定服务进程的数量,并根据将指标采集对象按顺序分配至对应的服务进程。当需要采集指标时,服务进程根据查询条件确定指标采集对象和指标采集参数,服务进程根据指标采集对象和指标采集参数以采集对应指标采集对象的指标。通过给每个服务进程自动分配专属的指标采集对象,以便于通过服务进程分别管理对应的服务采集对象,然后获取服务进程中的指标采集对象和指标采集参数,则可以根据指标采集对象和和指标采集参数采集到对应的指标,能够均衡分配指标采集对象至各个服务进程,以通过服务进程采集指标,使整个指标采集系统的可用性提高,无需人工单独分配,以节省人力,且提高指标采集的效率。

在一些实施例中,指标采集参数包括:指标类型、采集周期、协议类型、采集方式和指标查询接口。指标采集对象为资源池设备或软件,且资源池设备包括主机、网络、存储、业务系统等设备。

将需要采集指标进行配置,配置采集指标对应的指标类型、采集周期、协议类型和采集方式,然后选择需要进行指标采集的资源池设备或软件,将指标采集对象与指标采集参数进行绑定,最终存储到数据库,并提供指标采集对象和指标查询接口。因此,通过清楚需要采集指标的指标采集参数和指标采集对象,则可以合理分配服务进程,以便于对应的服务进程根据指标采集参数准确采集到对应的指标。

在一些实施例中,参照图2,性能参数包括:cpu核数和cpu使用百分比,步骤s200包括

s210、根据采集主机的cpu核数和cpu使用百分比确定服务进程的数量;

s220、按服务进程的编号顺序将指标采集对象分配给对应的服务进程。

其中,步骤s210和s220在指标采集层执行,且步骤s210和s220定时执行以更新服务进程的数量以及服务进程分配的采集对象。首先根据采集主机的cpu核数和cpu使用百分比确定服务进程的数量。也即每一个采集主机设置服务进程,且每个采集主机设置服务进程的数量通过如下公式计算得到:

a=round[b/4*(1-c)](1)

式中,a为服务进程数量,b为采集主机的cpu核数,c为采集主机的cpu使用百分比。通过根据每一台采集主机的cpu核数和cpu使用百分比计算得到服务进程的数量,以计算资源合理的分配使得高配置且空闲的采集主机能够处理更多任务以提升处理效率。通过采集指标即可确定指标采集对象和指标采集参数,然后计算每一个采集主机的服务进程,且每个服务进程分配对应的指标采集对象,以实现采集主机设置多个服务进程分别进行不同指标采集对象的指标采集,以提高指标采集的效率。

例如,若采集主机的cpu核数为8,且当前采集主机的cpu使用百分比为10%,则通过公式(1)计算得到round(1.8)=2,因此该采集主机设置两个服务进程。所以对于cpu核数为8,且cpu使用百分比为10%的采集主机可以设置两个服务进程,以根据不同的采集主机的性能参数设置对应的服务进程,使每个采集主机的合理分配服务进程,以提高指标采集的效率。

其中,根据采集主机的性能参数生成服务进程,且生成的服务进程按照1开始到n的序号进行标注,并将每个服务进程的服务id存入到数据库,且数据库为多个主机共用的一个数据库,以便于实现服务id的统一调度及状态维护,且将每个服务进程的运行状态存入到数据库中。当服务进程按照顺序编号后,指标采集对象按照顺序分配到服务进程中,且每个服务进程管理多个指标采集对象和存储指标采集对象对应的指标采集参数,以实现指标采集对象的均衡分配。

参照图3,在一些实施例中,基于it运维监控的指标采集方法,还包括:

s500、监测服务进程的运行状态;

s600、若运行状态为无更新时间,则将服务进程剔除。

若服务进程不再工作,则不可以通过该服务进程采集指标采集对象的指标,从而影响指标采集的完整性。因此需要时刻监测服务进程的运行状态,若监测服务进程的运行状态为无更新时间则证明服务进程无法工作,由于服务进程在工作状态时会时刻更新时间并将更新时间同步到数据库中,因此通过监测服务进程的时间是否更新能够准确地判断服务进程是否工作,若不在工作则将服务进程剔除,提取服务进程后需要根据步骤s210和步骤s220重新更新服务进程,并重新分配每一个指标采集对象到更新后的服务进程,以保证指标采集的完整性。

在一些实施例中,参照图4,基于it运维监控的指标采集方法,还包括:

s700、间隔预设时间获取所有采集指标的指标采集对象的数量以得到采集对象总数;

s800、根据采集对象总数在预设时间更新服务进程的数量;

s900、根据服务进程的数量定期更新服务进程所分配的指标采集对象。

其中,采集指标是变化的,因此采集指标配置的指标采集对象也是变化的。因此需要定时更新服务进程和服务进程管理的指标采集对象,以保证每次采集的指标准确。当采集指标需要扩容或者其中一个服务进程出现故障,也需要更新服务进程,再自动分配每个服务进程对应的指标采集对象即可,使得指标采集系统具有高扩展性和高可用性。

在一些实施例中,参照图5,查询条件包括:服务进程的服务编号和服务进程内的总数,步骤s300包括:

s310、服务进程根据服务进程的服务编号和服务进程的总数确定指标采集对象和指标采集参数。

其中,获取当前服务进程的服务编号作为数据库查询当前服务进程需要采集的指标采集对象的查询条件,其中服务进程确定指标采集对象的公式为:

mod(d/t)=(e-1)(2)

式中,d为指标采集对象的id,t为服务进程的总数,e为当前服务进程的服务编号,因此通过公式(2)能够确定每一个服务进程可以采集的指标采集对象。

例如,当服务进程的服务编号为2,且服务进程的总数为2,则服务编号为2的服务进程可以采集id为1、3、5、……的指标采集对象。若服务进程的服务编号为2,且服务进程的总数为4,则服务编号为2的服务进程可以采集id为1、5、9、……,因此通过查询条件能够确定每一个服务进程可以采集的指标采集对象,以便于该服务进程根据所管理的指标采集对象和指标采集参数进行指标采集。

在一些实施列中,参照图6,步骤s400包括:

s410、服务进程根据指标采集参数和指标采集对象确定指标采集检索式;

s420、服务进程根据指标采集检索采集指标采集对象的指标。

由于指标采集参数包括:指标类型、采集周期、协议类型、采集方式和指标查询接口,因此通过服务进程根据指标采集参数和指标采集对象确定指标采集检索式,以根据指标采集检索式直接采集到对应的指标,使得指标采集快速,提升整个指标采集系统的性能。

其中,指标采集检索式为静态的map-map-list组合,且数据结构为map<ip()、采集对象>->map<采集周期,list>->list<指标类型&协议类型&采集方式&查询接口>,通过设置指标采集检索式为map-map-list组合可以快速地遍历需要执行指标采集任务的指标采集对象及指标采集参数,可以更好地匹配采集周期,快速且不延迟地执行指标采集任务。不仅如此,当指标配置更新时可以通过map的hash算法快速匹配到缓存的指标采集对象,进行指标采集参数更新,组装完成后存储到本地数据库,例如java本地jvm数据库。因此,根据list-map-list组合进行指标采集对象和指标采集参数进行遍历,同时根据协议类型、指标类型、采集方式对具体的指标采集对象执行采集操作,实现了针对指标采集配置的快速提取能力,提升了整个系统的处理性能。

下面参考图1至图6以一个具体的实施例详细描述根据本发明实施例的基于it运维监控的指标采集方法。值得注意的是,下述描述仅是示例性说明,而不是对发明的具体限制。

第一,先对采集指标配置指标类型、采集周期、协议类型、采集方式和指标查询接口,然后选择需要进行指标采集的资源池或主机作为指标采集对象。

第二,通过将采集主机的cpu核数和cpu使用百分比代入公式(1)计算得到服务进程的数量,且每一个服务进程按顺序编号得到服务编号,然后根据每一个服务进程的服务编号按顺序分配指标采集对象。同时定时更新指标采集对象,且监测服务进程的运行状态,若指标采集对象更新或服务进程的工作状态为不更新时间则重新计算服务进程数量且重新分配指标采集对象,以实现整个指标采集系统的高扩展性和高可用性。

第三,服务进程根据服务进程的服务编号和服务进程的总数确定可以采集的指标采集对象,且获取指标采集对象的指标采集参数。

第四,服务进程根据指标采集对象和指标采集参数确定map-map-list组合的指标采集检索式,然后根map-map-list组合对指标采集对象和指标采集参数进行遍历,以采集到指标采集对象的指标。通过引入指标采集检索式进行指标采集,提升了整个系统的性能。

第二方面,参照图7,本发明实施例公开了一种基于it运维监控的指标采集系统,包括:指标配置模块100、服务进程200和分配模块300,指标配置模块100用于配置采集指标对应的指标采集对象和指标采集参数;服务进程200用于根据服务进程200的编号确定指标采集对象和指标采集参数,并根据指标采集对象和指标采集参数采集指标采集对象的采集指标;分配模块300用于根据采集主机的性能参数确定服务进程200的数量,并将指标采集对象按顺序分配至对应的服务进程200。

通过根据采集主机的性能参数确定服务进程200,并将指标采集对象分配到服务进程200,则可以均衡分配指标采集对象给每个服务进程200,实现服务进程200根据指标采集对象和指标采集参数进行指标采集,以提高指标采集的效率。

其中,一种基于it运维监控的指标采集系统的操作过程执行参照第一方面的一种基于it运维监控的指标采集方法,此处不再赘述。

第三方面,参照图8,本发明实施例还公开了一种电子控制设备,包括:存储器400、处理器500及存储在存储器400上并可在处理器500上运行的计算机程序,处理器500执行所述程序时实现:如第一方面的基于it运维监控的指标采集系统方法。

电子控制设备可以为移动终端设备,也可以为非移动终端设备。非移动终端设备可以为服务器、个人计算机;本发明实施方案不作具体限定。

存储器400可以为外部存储器400,也可以为内部存储器400,外部存储器400为外部存储卡。外部存储卡通过外部存储器400接口与处理器500通信,实现数据存储功能。内部存储器400可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。

处理器500可以包括一个或多个处理单元,例如:处理器500可以包括应用处理器(applicationprocessor,ap),调制解调处理器,图形处理器(graphicsprocessingunit,gpu),图像信号处理器(imagesignalprocessor,isp),控制器,视频编解码器,数字信号处理器(digitalsignalprocessor,dsp),基带处理器,和/或神经网络处理器(neural-networkprocessingunit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

第四方面,本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面所述的基于it运维监控的指标采集系统方法。

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。此外,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。

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