CN115827380A - 云平台监控方法及云平台监控*** - Google Patents
云平台监控方法及云平台监控*** Download PDFInfo
- Publication number
- CN115827380A CN115827380A CN202211494107.7A CN202211494107A CN115827380A CN 115827380 A CN115827380 A CN 115827380A CN 202211494107 A CN202211494107 A CN 202211494107A CN 115827380 A CN115827380 A CN 115827380A
- Authority
- CN
- China
- Prior art keywords
- query
- index
- database
- target
- node
- 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
- 238000012544 monitoring process Methods 0.000 title claims abstract description 82
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012423 maintenance Methods 0.000 claims description 35
- 230000002085 persistent effect Effects 0.000 claims description 27
- 230000004048 modification Effects 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims 1
- 238000001914 filtration Methods 0.000 description 26
- 238000012545 processing Methods 0.000 description 21
- 230000000875 corresponding effect Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 210000001503 joint Anatomy 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012806 monitoring device Methods 0.000 description 2
- 229940022409 overtime Drugs 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000004941 influx Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种云平台监控方法及云平台监控***,缓存数据库中预先存储指标树、指标树各叶子节点下的指标的配置信息、指标树中各层级节点的查询标签、数据源中各数据库的连接信息等。查询节点接收到第一查询请求后,根据第一查询请求携带的目标指标的指标标识从缓存数据库中获取配置信息,根据配置信息指示的模板语句生成第二查询请求并发送给目标数据库,从目标数据库获取目标指标的查询结果后返回给用户设备。采用该种方案通过指标树提供统一查询接口,实现一种接口对接多种数据库,即实现跨数据库的指标管理,同时实现降低云平台监控成本并提高监控效率的目的。
Description
技术领域
本申请实施例涉及云技术领域,特别涉及一种云平台监控方法及云平台监控***。
背景技术
为保障云平台的平稳运行,云平台运行过程中需要对云平台的运行状态进行持续监控,如果发现异常,需要及时报警。
常见的云平台监控方法中,在各节点安装采集插件,利用采集插件采集云平台运行过程中各种硬件或软件指标,对指标进行分析以及时发现软硬件故障。
然而,不同的采集插件会将采集的数据存储到不同的数据库中,不同的数据库的接入方式和查询方式不同,导致对云平台的监控费时费力。
发明内容
本申请实施例提供一种云平台监控方法及云平台监控***,根据指标的业务关系生成指标树,通过指标树提供统一查询接口,实现一种接口对接多种数据库,降低云平台监控成本并提高监控效率。
第一方面,本申请实施例提供一种云平台监控方法,应用于查询节点,所述方法包括:
接收来自用户设备的第一查询请求,所述第一查询请求至少携带目标指标的指标标识,所述目标指标位于指标树的叶子节点下,所述指标树是按照多个指标中各指标的业务关系生成的树状结构模型;
根据所述指标标识从缓存数据库中获取所述目标指标的配置信息,所述配置信息至少用于指示模板语句,所述模板语句用于指示获取所述目标指标的查询结果的方式;
根据所述模板语句生成第二查询请求;
向目标数据库发送所述第二查询请求以获取所述目标指标的查询结果;
向所述用户设备发送所述查询结果。
第二方面,本申请实施例提供一种云平台监控方法,应用于控制节点,所述方法包括:
接收来自运维设备的创建请求标;
平台监控***,包括:
查询集群,包含至少一个查询节点,所述查询节点用于执行如上第一方面或第一方面各种可能的实现方式所述的从所述缓存数据库获取目标指,所述创建请求用于指示指标树以及各指标的配置信息,所述指标树是按照多个指标中各指标的业务关系生成的树
第三方面,本申请实施例提供一种将所述状结构模型,所述指标树的各叶子节点具有至少一个指标的配置信息,所述目标指标为所述第一查询请求携带的指标标识对应的指标。指标树和各指标的配置信息存储至缓存数据库中,以使得查询节点接收到来自用户设备的第一查询请求后云平台监控装置,所述装置集成在查询节点上,所述装置包括:
接收模块,用于接收来自用户设备的第一查询请求,所述第一查询请求至少携带目标指标的指标标识,所述目标指标位于指标树的叶子节点下,所述指标树是按照多个指标中各指标的业务关系生成的树状结构模型;
处理模块,用于根据所述指标标识从缓存数据库中获取所述目标指标的配置信息,所述配置信息至少用于指示模板语句,所述模板语句用于指示获取所述目标指标的查询结果的方式;根据所述模板语句生成第二查询请求;
发送模块,用于向目标数据库发送所述第二查询请求以获取所述目标指标的查询结果,向所述用户设备发送所述查询结果。
第四方面,本申请实施例提供一种云平台监控装置,
所述装置集成在控制节点上,所述装置包括:
收发模块,用于接收来自运维设备的创建请求,所述创建请求用于指示指标树以及各指标的配置信息,所述指标树是按照多个指标中各指标的业务关系生成的树状结构模型,所述指标树的各叶子节点具有至少一个指标;
处理模块,用于将所述指标树和各指标的配置信息存储至缓存数据库中,以使得查询节点接收到来自用户设备的第一查询请求后从所述缓存数据库获取目标指标的配置信息,所述目标指标为所述第一查询请求携带的指标标识对应的指标。
本申请实施例提供的云平台监控方法及云平台监控***,缓存数据库中预先存储指标树、指标树各叶子节点下的指标的配置信息、指标树中各层级节点的查询标签、数据源中各数据库的连接信息等。查询节点接收到第一查询请求后,根据第一查询请求携带的目标指标的指标标识从缓存数据库中获取配置信息,根据配置信息指示的模板语句生成第二查询请求并发送给目标数据库,从目标数据库获取目标指标的查询结果后返回给用户设备。采用该种方案,根据指标的业务关系生成指标树,根据指标树指示的指标的分组和分层关系,建立跨数据库的元信息统一视图,提供统一查询接口,每个来自用户设备的第一查询请求对应该统一查询接口,根据该第一查询请求携带的指标标识确定出模板语句,对模板语句进行封装得到第二查询请求并查询对应的目标数据库,从而通过指标树提供统一查询接口,实现一种接口对接多种数据库,即实现跨数据库的指标管理,同时实现降低云平台监控成本并提高监控效率的目的。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的云平台监控方法中一种指标树的结构示意图;
图2是本申请实施例提供的云平台监控***的网络架构示意图;
图3是本申请实施例提供的云平台监控方法的一个图;
图4是本申请实施提供的云平台监控方法的另一个流程图;
图5是本申请实施例提供的云平台监控方法的又一个流程图;
图6为本申请实施例提供的一种云平台监控装置的示意图;
图7为本申请实施例提供的另一种云平台监控装置的示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在云技术的发展推动下,云计算、云服务的队伍越来越壮大。为了保证云平台的稳定性,需要对机房、服务器、交换机等物理硬件进行监控;同时,也需要对数据库、消息队列、分布式存储应用软件等软件进行监控,及时发现软硬件故障,分析硬件利用率以便合理规划硬件。对云平台的监控是云运维不可或缺的一部分。
目前,对云平台的监控方式多种多样。例如,对于云平台中的mysql数据库,通常基于日志进行监控;对于一些业务服务器,通过运行脚本采集数据并监控。再如,在监控目标上安装采集插件,利用采集插件采集云平台运行过程中各种硬件或软件的指标。
然而,不同的采集插件往往将采集到的数据存储在不同的数据库中,不同的数据库的接入方式和查询方式各不相同。目前的监控查询***往往只对接一种后端数据库。查询到的指标分散,无法提供整体统一视图。
若需要查询不同的数据库,则需要对监控***进行修改,以适配不同的数据库,费时费力且会有重复工作。
因此,如何对分散在多种数据库中的监控数据进行统一管理和查询,是急待解决的问题。
基于此,本申请实施例提供一种云平台监控方法及云平台监控***,根据指标的业务关系生成指标树,通过指标树提供统一查询接口,实现一种接口对接多种数据库,降低云平台监控成本并提高监控效率。
首先,对本申请实施例中的名词进行解释。
指标树:按照指标的业务关系生成的树状结构模型。例如,可根据业务线、产品线、产品、指标组等构建指标树。本申请实施例不限制指标树的层数,只要在逻辑上合理即可。
图1是本申请实施例提供的云平台监控方法中一种指标树的结构示意图。请参照图1,该指标书包括五层,最左边的云平台为根节点,最右边为叶子节点,中间的节点为子节点,以下将根节点、子节点以及叶子节点均称为层级节点,从左到右依次为第1层级节点、第2层级节点、第3层级节点、第4层级节点和第5层级节点,第1层级节点为根节点,第5层级节点为叶子节点,第2层级节点、第3层级节点、第4层级节点为子节点。
图1中,云平台下专有云、企业云和容器云均可采用本申请实施例所述的云平台监控方法进行监控,随着技术的发展,还可以在云平台下增加其他的层级节点,提供越来越完善的数据覆盖,提供更丰富的指标统一视图。
请参照图1,虽然图1中每层的每个层级节点仅示意出一个,然而,本申请实施例并不限制。以专有云这一层级节点为例,其下具有3个子节点,分别为云资源节点、paas资源节点和平台资源节点。图中仅示意出一个云资源节点、paas资源节点和平台资源节点。然而,事实上,云资源节点可以有多个实例,每个实例具有自己的项目标识(projectid);同理,paas资源节点有多个实例,平台资源节点也可以有多个实例,paas资源节点的各实例有自己的id,平台资源节点的各实例有自己的id。用户可以指定对云资源节点的哪个实例、paas资源节点的哪个实例或平台资源节点的哪个实例下的叶子节点的指标进行查询。
指标:用于衡量云平台中软件或硬件的运行状况的数据。本申请实施例中,每个叶子节点下有一个或多个指标,指标例如为总连接数、流量带宽、CPU占用率、内存占用率、进程数等。
指标的配置信息:运维人员创建指标时针对该指标填写的指标标识、中英文名称、模板语句、结果单位等元数据信息。其中,指标标识也称为唯一代码(code码),每个指标具有唯一的code码。
模板语句:用于指示获取对应指标的查询结果的方式,用于从查询标签集合中筛选出第一子集,第一子集中包含一个或多个查询标签。查询标签集合包含从一个指标到根节点之间所有层级节点的查询标签。也就是说,当用户想要查询某个目标指标时,根据指标树中目标指标的位置以及指标树,就能够推出查询标签集合中的所有查询标签。模板语句携带一些标签标识等,根据该些标签标识就能够从查询标签集合中筛选出第一子集。
查询标签:用于指示查询指标时对该指标进行筛选的数据过滤方式、过滤条件等。运维人员预先对各层级节点配置查询标签,一个层级节点可以有0个、1个或多个查询标签。同一个层级节点下的指标在查询时一般具有相同的过滤条件。请参照图1,例如,云资源节点下的指标均可以通过项目标识(projectid)来过滤。再如,容器集群下的指标可通过集群标识(clusterid)来过滤。
本申请实施例中,运维人员预先在每个层级节点配置过滤方式、默认过滤条件等从而得到查询标签。若想要修改一个子节点下对应的查询标签的过滤方式或过滤条件,则对该子节点创建一个与父节点的查询标签同名的查询标签,并对该查询标签配置过滤条件或过滤方式等。请参照图1,父节点和子节点是相邻的两个层级节点,比如,第2层级节点是父节点,第3层级节点为子节点;第3层级节点为父节点,第4层级节点为子节点。
另外,若某个指标具有专用的查询标签,则针对该指标配置专用的查询标签。
图2是本申请实施例提供的云平台监控***的网络架构示意图。请参照图2,本申请实施例提供的云平台监控***包括查询集群21、控制集群22、缓存数据库23、持久化数据库24、数据源25、用户设备26和运维设备27。其中,查询集群21包含至少一个查询节点211,用于响应来自用户设备26的第一查询请求以对外提供指标查询服务。查询节点211的数量与访问查询集群21的用户设备26的数量正相关,也就是说,查询节点211可水平扩展,以支持大规模高并发的查询需求。
控制集群22包含至少一个控制节点221,负责监控管理数据源25、创建指标树、修改指标树的层级节点或指标、为各指标添加配置信息、为指标树的各层级节点生成查询标签等工作。负责该些工作的过程中,首先,运维人员通过运维设备27在控制集群22增加支持的数据源25和数据源25的连接信息,当对数据源25进行连通性校验后,将数据源25的连接信息等保存在缓存数据库23和持久化数据库24内。接着,在控制节点221上新建指标树,创建好指标树后可以对指标树进行修改,如增加层级节点、删除层级节点等。创建或修改指标树后,对于指标树中的每个层级节点,针对该层级节点配置查询标签,一个层级节点可以有0个、1个或多个查询标签。运维人员还通过运维设备27对各层级节点的查询标签进行修改等。
缓存数据库23,又称作分布式缓存,例如为Redis Cluster等,用于缓存数据库25中各数据库的连接信息、指标树中各指标的配置信息、指标树中各层级节点的查询标签等。也就是说,云平台监控***将查询指标可能用到的元数据全量推送至缓存数据库23。极限情况下,比如控制集群22宕机的情况下,还可以提供服务。查询集群21查询指标的过程中,所需的数据均从缓存数据库23获取,本身不保存任何数据,从而能够根据查询的规模动态部署查询节点211,以满足需求。例如,大规模查询指标时,可以部署多个查询节点211以支持大规模高并发的查询需求,水平扩展方式简单。
持久化数据24,例如为Maria数据库等,缓存数据库23中存储的内容同步存储至持久化数据库。当缓存数据库23因为故障等原因重启时,从持久化数据库24拉取最新数据,避免缓存数据库23中的数据与持久化数据库24中的数据不一致等。例如,创建好指标树、指标树中各指标的配置信息、指标树各层级节点的查询标签后,将这些信息存储至缓存数据库的同时,同步将指标树、指标树中各指标的配置信息、指标树各层级节点的查询标签存储至持久化数据库24中。
另外,相较于从持久化数据库24中取数据,查询节点211从缓存数据库23中取数据,性能更高,因此缓存数据库23能够承担更多的查询节点的第一查询请求,便于查询集群的水平扩展。
采用该种方案,通过在持久化数据库中存储查询指标所需的各种数据,持久化数据库存储最新最正确的数据,确保缓存数据库重启后从持久化数据库中获取数据,避免缓存数据库中的数据与持久化数据库中的数据不一致的同时,提高查询集群的水平扩展能力。
数据源25,包含多个数据库,该些数据库中存储通过采集插件等采集的到的数据。该些数据库的接入方式、查询方式等各不相同。例如,数据源25包含victoriametrics数据库、MYSQL数据库、Prometheus数据库、Influx数据库等。
用户设备26,例如为笔记本、监控大屏、终端设备等,用于查询云平台中哪些节点告警、根据查询结果对云平台进行业容量规划等。
通过采用本申请实施例提供的云平台监控方法对云平台进行监控,及时发现云平台中软硬件故障等,对资源的利用率、***负载监控和分析,能够更好的进行资源规划,提高利用率,节约成本。
下面,基于上述的名词解释以及图2所示网络架构,对本申请实施例进行详细说明。示例性的,请参照图3,图3是本申请实施例提供的云平台监控方法的一个图。本实施例是从查询节点的角度进行说明,本实施例包括:
301、接收来自用户设备的第一查询请求。
其中,第一查询请求至少携带目标指标的指标标识,所述目标指标位于指标树的叶子节点下,所述指标树是按照多个指标中各指标的业务关系生成的树状结构模型。
指标树的每个叶子节点下挂一个或多个指标,该些指标是用于监控云平台的软件的状态的监控指标,也可以是监控云平台的硬件的状态的监控指标。云平台的软件包括数据库、消息队列、分布式存储应用软件等;云平台的硬件包括服务器、交换机等物理硬件。
本申请实施例中,用户想要查询某个指标(以下称之为目标指标),通过用户设备向查询节点发送携带目标指标的指标标识的第一查询请求。其中,指标标识例如为目标指标唯一的code码等。
302、根据所述指标标识从缓存数据库中获取所述目标指标的配置信息。
其中,所述配置信息至少用于指示模板语句,所述模板语句用于指示获取所述目标指标的查询结果的方式。
查询节点接收到第一查询请求后,根据指标标识从缓存数据库中获取目标指标的配置信息。配置信息例如包括目标指标的code码、中英文名称、模板语句、结果单位等元数据信息,以及关联的数据库等。
例如,一个目标指标的配置信息如如下代码所示:
根据上述配置信息可知:
目标指标的中文名称为存储集群可用容量;
code码为platform.ceph_cluster.availability.capacity;
英文名称为:storage cluster available capacity;
模板语句为:max(business_info_total_avail{$region_name,$cluster_type})without(assets_id);
关联的数据库为:数据库1、数据库3,例如图2所示网络架构数据源25中的数据库1、数据库3,表示查询目标指标时从数据库1、数据库3中拉取数据以获得目标指标;
默认数据库为:数据库1。
上述代码中,catalogID表示目标指标所在的叶子节点。例如,再请参照图1,catalogID=4表示指标树中的一个叶子节点的ID,该叶子节点例如为第4层级节点下名称为磁盘的叶子节点,目标指标是磁盘的一个指标。
303、根据所述模板语句生成第二查询请求;
查询节点确定出模板语句后,判断该模板语句是否携带查询标签的参数等,若模板语句未携带查询标签的参数,则根据默认规则确定查询数据源25中的哪个数据库、根据默认的过滤方式或过滤条件等进行过滤,进而构建出第二查询请求。若模板语句中携带查询标签的参数,则根据查询标签的参数等对模板语句进行修改,从而构建出第二查询请求。例如,上述代码所示的查询目标中,存在’$region_name’、’$cluster_type’式样的部分,实际查询中,此部分需要根据查询标签的配置进行替换。
本申请实施例中,查询节点根据第一查询请求携带的参数、默认参数等对模板语句进行封装从而得到第二查询请求,其中,第一查询请求对应一个统一的接口,是查询集群提供监控服务对外提供的接口,也就是说,无论用户查询的目标指标涉及哪个数据库,都是通过查询节点统一的对外接口进行查询;第二查询请求用来对接多种不同类型的数据库,实现后端对接不同种类的数据库,屏蔽原始指标的细节,保护原始数据,实现一种接口对接数据源中的多种数据库的查询模式。
304、向目标数据库发送所述第二查询请求以获取所述目标指标的查询结果。
目标数据库可以是默认的数据库或根据第一查询请求等确定出的数据库,可以是图2所示架构数据源25中的任意一个或多个数据库。查询节点构建出第二查询请求后,向目标数据库发送第二查询请以获取目标指标的查询结果。
305、向所述用户设备发送所述查询结果。
示例性的,查询节点向目标数据库发送第二查询请求。目标数据库根据第二查询请求向查询节点返回查询结果。查询节点接收到查询结果后,格式化查询结果并返回给用户设备。
本申请实施例提供的云平台监控方法,缓存数据库中预先存储指标树、指标树各叶子节点下的指标的配置信息、指标树中各层级节点的查询标签、数据源中各数据库的连接信息等。查询节点接收到第一查询请求后,根据第一查询请求携带的目标指标的指标标识从缓存数据库中获取配置信息,根据配置信息指示的模板语句生成第二查询请求并发送给目标数据库,从目标数据库获取目标指标的查询结果后返回给用户设备。采用该种方案,根据指标的业务关系生成指标树,根据指标树指示的指标的分组和分层关系,建立跨数据库的元信息统一视图,提供统一查询接口,每个来自用户设备的第一查询请求对应该统一查询接口,根据该第一查询请求携带的指标标识确定出模板语句,对模板语句进行封装得到第二查询请求并查询对应的目标数据库,从而通过指标树提供统一查询接口,实现一种接口对接多种数据库,即实现跨数据库的指标管理,同时实现降低云平台监控成本并提高监控效率的目的。
可选的,上述实施例中,查询节点根据模板语句生成第二查询请求的过程中,从缓存数据库中获取所述目标指标的查询标签集合,所述指标树存储在所述缓存数据库内,所述查询标签集合包含从所述目标指标到根节点之间所有层级节点的查询标签。之后,根据所述模板语句和所述查询标签集合生成所述第二查询请求。
请参照图1,目标指标是一个叶子节点下的指标。指标树包含多个层级节点,每个层级节点可以是一个或多个,比如,专有云节点下包含云资源节点、paas资源节点和平台资源节点,而云资源节点、paas资源节点和平台资源节点各自有一个或多个实例。同理,云资源节点的子节点包括云服务器、GPU云服务器、物理服务器等,云服务器、GPU云服务器、物理服务器各自有一个或多个实例。云服务器的子节点为磁盘,磁盘有一个或多个实例。假设目标指标是磁盘的一个实例的指标,则查询节点可以得到目标指标的的查询标签集合,包括磁盘的所有查询标签、云服务器的所有查询标签、云资源的所有查询标签、专有云的所有查询标签以及云平台的所有查询标签。
获取到查询标签后集合后,查询节点根据查询标签集合对模板语句进行封装从而得到第二查询请求。例如,查询节点从模板语句中确定出预设符号后面的字段,预设符号又称作占位符、占位字段等,例如为$。占位符后的字段称之为预设字段,预设字段例如为region_name、cluster_type等,对于每个查询标签,查询节点确定该查询标签对应的代码中是否存在预设字段region_name,若存在该预设字段,则根据该预设字段相关的参数封装模板语句以得到第二查询请求。若不存在该预设字段,则舍弃该查询标签。
采用该种方案,根据指标树获取目标指标的查询标签集合,进而根据查询标签集合封装模板语句以得到第二查询请求,实现准确、快速封装出第二查询请求的目的。
可选的,上述实施例中,查询节点根据所述模板语句和所述查询标签集合生成所述第二查询请求的过程中,根据所述模板语句指示的标识字段,从所述查询标签集合中确定出第一子集,所述第一子集包含所述标识字段对应的查询标签。之后,对于所述第一子集中的每个查询标签,当所述第一查询请求还携带所述查询标签的参数时,根据所述参数修改所述模板语句,以得到替换语句;当所述第一查询请求未携带所述查询标签的参数时,根据所述查询标签指示的默认值修改所述目标语句,以得到替换语句。最后,根据所述替换语句生成所述第二查询请求。
根据上述可知:指标树中每个层级节点的实例可能不止一个,例如,云资源节点的实例可能不止一个,云服务器是云资源节点的一个子节点,云服务器的实例可能不止一个,磁盘是云服务器的一个子节点,磁盘的实例可能不止一个。若模板语句未携带任何标识字段,则查询节点根据查询标签集合中所有查询标签的参数封装模板语句以得到第二查询请求。若模板语句还携带查询标签相关的标识字段,则对查询标签集合中的查询标签进行筛选,以得到第一子集。例如,标识字段为region_name、project_id或resource_id等,查询节点判断查询标签集合中的查询标签的配置中是否包含这些标识字段,若包含任意一个标识字段,则说明该查询标签属于第一子集。
确定出第一子集后,对于第一子集中的每个查询标签,当第一查询请求还携带查询标签的参数时,根据参数修改模板语句,以得到替换语句。例如,查询语句为:
ecs_instance_cpu_cpu_util{$region_name,$project_id,$resource_id}
第一查询请求中携带project_id的参数a,则查询节点将模板语句中的$project_id替换为project_id=~’a’。其中,=~是一个运算符函数(operator),是根据查询标签的标签配置中的过滤方式得到的。查询标签的配置中的运算符函数包括但不限于~=、!~、=、!=等。
当第一查询请求未携带查询标签的参数时,根据查询标签指示的默认值修改目标语句,以得到替换语句。
例如,第一查询请求未携带region_name和resource_id的参数,而region_name对应的查询标签指示默认值为x,resource_id对应的查询标签指示默认值为y,则替换语句为:
ecs_instance_cpu_cpu_util{region_name=~’x’,
project_id=~’a’,resource_id=~’y’}
得到替换语句后,查询节点根据第一查询请求中携带的其他参数等继续封装替换语句,从而得到第二查询请求。
采用该种方案,查询节点根据第一查询语句携带的查询标签的参数等对模板语句进行封装,从而得到第二查询请求,满足根据用户需求查询目标指标的需求,灵活度高、查询方式简单。
可选的,上述实施例中,查询节点根据所述模板语句和所述查询标签集合生成所述第二查询请求之前,还根据所述指标树对所述查询标签集合中的查询标签排序,越靠近所述目标指标的查询标签的优先级越高。之后,根据所述排序获取第二子集,所述第二子集包含的各查询标签的名称相同且优先级从低至高;从所述第二子集中删除除优先级最高的查询标签以外的查询标签,以使得所述查询标签集合包含的各查询标签名称唯一。
本申请实施例中,每个层级节点具有0个、1个或多个查询标签,当想对一个父节点的子节点修改过滤方式或过滤条件等,可以在该子节点下创建一个与父节点的查询标签同名的查询标签。例如,请参照图1,对于云资源节点和云服务器,父节点为云资源节点,子节点为云服务器。云资源节点有一个查询标签A,查询标签A对应的过滤方式a和过滤条件b,需要对云服务器这个子节点的过滤方式和过滤条件进行修改时,对云服务器创建一个查询标签A,但该查询表A对应过滤方式c和过滤条件d。相较于云资源节点,云服务器更靠近目标指标。
查询节点接收到一个第一查询请求后,根据该第一查询请求携带的指标标识,确定出目标指标为叶子节点磁盘下的一个指标。因此,根据指标树能够确定出目标指标的查询标签集合。该查询标签集合中的查询标签包括:云平台的查询标签、专有云的查询标签、云资源节点的查询标签、云服务器的查询标签、磁盘的查询标签等。其中,云资源节点查询标签包括查询标签A,云服务器的查询标签包括查询标签A,从云平台至磁盘,查询标签的优先级依次升高。
查询节点对查询标签集合中的查询标签按照优先级从低到高的顺序排序后,获取第二子集,第二子集包含云资源节点的查询标签A和云服务器的查询标签A,该两个查询标签为同名标签。之后,查询节点从查询标签集合中删除云资源节点的查询标签A,保留云服务器的查询标签A以及其他非同名的查询标签,使得查询标签集合中的各查询标签不同名,即使得查询标签集合中的查询标签名称唯一。
采用该种方案,对父节点下的某个子节点的过滤方式或过滤条件修改时,仅需要针对该子节点配置一个与父节点的查询标签同名的查询标签即可,修改方式简单、灵活。
可选的,上述实施例中,查询节点根据所述替换语句生成所述第二查询请求时,当所述第一查询请求还携带所述目标数据库支持的分析方式时,在所述替换语句中添加所述分析方式以构造修改语句。之后,根据所述修改语句生成所述第二查询请求。
示例性的,目标数据库支持一些特殊的参数,比如汇聚方式、插值方式等,查询节点根据替换语句、第一查询请求中查询标签的参数、时间参数、目标数据库支持的分析方式等,构造最终的查询语句,以得到第二查询请求。
采用该种方案,通过在替换语句中添加目标数据库支持的特殊的分析方式等,从而满足对不同类型数据库的查询,方式简单、灵活。
图4是本申请实施提供的云平台监控方法的另一个流程图。本实施例是从控制节点的角度进行说明,本实施例包括:
401、接收来自运维设备的创建请求。
其中,所述创建请求用于指示指标树以及各指标的配置信息,所述指标树是按照多个指标中各指标的业务关系生成的树状结构模型,所述指标树的各叶子节点具有至少一个指标。
本申请实施例中,预先创建指标树、指标、查询标签等并存储在缓存数据库中。创建指标树的过程中,控制节点向运维设备提供创建界面,运维设备显示创建界面,运维人员在创建界面上操作以创建出指标树、指标等。创建好指标树后,运维人员可通过创建界面边界指标树,如新增层级节点、删除层级节点、新增指标、删除指标、修改指标等。
402、将所述指标树和各指标的配置信息存储至缓存数据库中,以使得查询节点接收到来自用户设备的第一查询请求后从所述缓存数据库获取目标指标的配置信息,所述目标指标为所述第一查询请求携带的指标标识对应的指标。
创建好指标树和各指标的配置信息后,控制节点将该些信息推送至持久化数据库,保存在持久化数据库中。另外,控制节点还对这些信息进行加密,加密后保存至缓存数据库中。这样一来,用户查询目标指标的时候,查询节点从缓存数据库中获取目标指标的配置信息等,本地不保存任何数据,从而实现根据查询的规模动态部署查询节点的目的。
403、将所述指标树和各指标的配置信息存储至持久化数据库,以当缓存数据库因为故障等原因重启时,从持久化数据库拉取最新数据,避免缓存数据库23中的数据与持久化数据库24中的数据不一致。
本申请实施例提供的云平台监控方法,预先通过控制节点在缓存数据库中存储指标树、指标树各叶子节点下的指标的配置信息等。查询节点接收到第一查询请求后,从缓存数据库获取配置信息等构造第二查询请求,进而利用第二查询请求从目标数据获取查询结果并返回给用户设备。采用该种方案,控制节点将查询目标指标所需的配置信息等存储在缓存数据库,对数据源中的数据库进行监控等,使得查询节点本身不保存任何数据,便于根据查询规模扩展查询集群,同时,便于查询节点通过统一的查询接口查询数据源中的不同数据库,实现一种接口对接多种数据库,实现降低云平台监控成本并提高监控效率的目的。
可选的,上述实施例中,创建好指标树后,控制节点还接收来自运维设备的配置请求,所述配置请求用于指示所述指标树中各层级节点的查询标签。之后,将所述指标树中各层级节点的查询标签存储在所述缓存数据库中。
控制节点创建好指标树后,运维人员还可以针对各层级节点配置查询标签,查询标签指示过滤方式、过滤规则等。控制节点将各层级节点的查询标签存储在持久化数据库的同时,存储在缓存数据库中。
采用该种方案,通过将各层级节点的查询标签存储在缓存数据库中,使得查询节点查询指标的时候从缓存数据库中获取所需数据,本身无需存储任何数据,便于查询集群的灵活扩展。
可选的,上述实施例中,控制节点接收来自运维设备的创建请求之后,还接收来自所述运维设备的编辑请求,所述编辑请求用于请求修改所述指标树的叶子节点下的指标或在所述叶子节点下新增指标。之后,根据所述编辑请求编辑所述指标树的叶子节点下的指标。
控制节点创建好指标树、针对指标树的叶子节点下的指标创建好配置信息后,若用户想要编辑某个叶子节点下的指标,则在用户界面上进行操作,如新增、删除或修改等操作,进而通过运维设备向控制节点发送编辑请求,从而编辑叶子节点下的指标。
对叶子节点下的指标编辑完毕后,控制节点将编辑好的指标推送给缓存数据库,以替换缓存数据库中编辑之前的指标。同理,控制节点还将编辑好的指标推送给持久化数据库,以替换持久化数据库中编辑之前的指标。
另外,若运维人员想要对指标树进行修改,如新增层级节点、删除层级节点、修改层级节点等,同样可以通过运维设备进行修改。修改后,控制节点向修改后的指标树推送给持久化数据库和缓存数据库,以替换修改之前的指标树。
同理,运维人员还可以通过运维设备调出指标树中各层级节点的查询标签,对查询标签进行修改,如新增查询标签、删除查询标签,对某个查询标签增加过滤条件、修改过滤方式等。
采用该种方案,运维人员可灵活的修改指标树、修改指标、修改查询标签等,灵活度高、修改方式简单。
可选的,上述实施例中,控制节点还获取至少一个数据库中各数据库的连接信息,对所述各数据库进行连通性校验。之后,将通过连通性校验的数据库的连接信息存储在所述缓存数据库中。
本申请实施例中,用户通过统一的查询接口利用查询接口进行监控数据的查询之前,控制节点需要完成一些配置工作,如上述指标树的创建、指标的配置信息的创建、查询标签的创建等外,还需要完成数据库的配置。请参照图2,数据源25包含多个数据库,该些数据库是支持本申请云平台监控方法的数据库,控制节点预先获取该些数据库的连接信息,根据连接信息对每个数据库进行连通性校验,并将通过连通性校验的数据库的连接信息推送至持久化数据库和缓存数据库,以使得持久化数据库和缓存数据库存储这些数据库的连接信息。这样一来,当查询节点接收第一查询请求后,从数据源中确定出目标数据库后,就能够从缓存数据库中获取目标数据库的连接信息,并与目标数据库建立网络连接。
采用该种方案,控制节点通过预先校验数据库的连通性,并将通过连通性校验的数据库的连接信息存储在缓存数据库中,便于查询指标过程中查询节点快速与目标数据库建立网络连接,提高查询效率。
可选的,本申请实施例中,指标的查询主要涉及两个查询场景,一个是瞬时数据的查询,另一个是范围数据的查询。这两种查询的唯一区别在于:瞬时查询时查询节点给用户设备返回一个键值对,键为时间戳,第一查询请求中传递一个时间点。范围查询时查询节点返回的是一组键值对,相应的,第一查询请求中传递一个时间段和一个步长。
针对以上特性,本申请实施例中,第一查询请求中至少携带目标指标的指标标识。可选的,还可携带查询标签对应的参数、时间点或时间范围和步长、数据源支持的分析方式等,其中,分析方式包括但不限于汇聚方式、插值方式等。查询节点返回给用户设备的查询结果包括时间戳、时间戳对应的值(即查询结果)等。
下面,以范围数据查询、目标数据库为VictoriaMetrics为例,对上述的云平台监控方法进行详细说明。示例性的,请参照图5,图5是本申请实施例提供的云平台监控方法的又一个流程图。本实施例是从用户设备、查询节点、缓存数据库和目标数据库交互的角度说明。本实施例包括:
501、用户设备向查询节点发送第一查询请求。
该第一查询请求至少携带目标指标的指标标识。第一查询请求例如如下:
该第一查询请求指示的信息如下:
指标标识为:ecs.cpu.util,表示CPU利用率指标;
查询标签包括region_name、project_id、resource_id,参数分别为HCI、a、b,表示在数据库1中查询数据中心HCI中项目a下面的实例b。例如,请参照图1,一个专有云下有多个平台资源,其中一个平台资源例如为数据中心HCI。该数据中心HCI下面有多个平台设备,其中一个为项目a,项目a下有多个CPU监控项,其中一个为实例b。数据库1例如为VictoriaMetrics。
时间范围的起始时间为2022-08-15 00:00:00,结束时间为2022-09-1500:00:00;
步长为1小时,即每小时一个点,结果为一个小时内的平均值。
根据上述可知:第一查询请求指示对在数据库1下查询数据中心HCI项目a下面的实例b的CPU利用率指标,监控时长为一个月,每小时抓取一次监控数据。
502、查询节点向缓存数据库发送携带指标标识的获取请求。
503、查询节点接收来自缓存数据库的获取响应。
步骤502~503中,查询节点根据指标标识从缓存数据库中获取目标指标的配置信息。配置信息包括目标指标的中英文名称、模板语句、结果单位、关联的数据库、默认数据库等,默认数据库往往是关联的数据库中的一个。例如,前述步骤302描述的配置信息中,一个指标的关联数据库是数据库1和数据库3,默认数据库为数据1。也就是说,查询目标指标时,默认查询数据库1。当第一查询请求中指示数据库时,若指示数据库1,则对数据库1进行查询;若指示数据库3,则对数据库3进行查询。若指示数据库1和数据库3以外的数据库,则表示数据库匹配不上,查询节点向用户设备反馈数据库无法匹配的反馈信息。
504、查询节点获取目标数据库的连接信息。
步骤501中的第一查询请求指示目标数据库为数据库1,由于步骤501中,第一查询请求指示的数据库为数据库1,因此查询节点从缓存数据库中获取数据库1的连接信息。
505、查询节点向目标数据库发送连接请求。
506、查询节点接收来自目标数据库的连接响应。
步骤505和步骤506中,查询节点校验目标数据库是否存在、目标数据库是否可以连通等。只有在与目标数据库成功建立连接后才执行步骤507;若目标数据库不存在、连接失败等,则查询节点向用户设备返回无法与目标数据库建立网络连接的反馈信息。
根据上述可知:本申请实施例中,当第一查询请求中携带所述目标数据库的标识、且所述目标数据库是所述配置信息指示的数据库之一时,从所述缓存数据库中获取所述目标数据库的连接信息,根据所述连接信息与所述目标数据库建立网络连接。
另外,当所述第一查询请求中未携带所述目标数据库的标识时,根据所述配置信息确定所述目标数据库,从所述缓存数据库中获取所述目标数据库的连接信息,根据所述连接信息与所述目标数据库建立网络连接。例如,上述步骤501中的第一查询请求并未指示目标数据库,则查询节点根据目标指标的配置信息确定默认数据库,将默认数据库作为目标数据库,并从缓存数据库中获取目标数据库的连接信息。
采用该种方案,查询节点根据第一查询请求和配置信息确定目标数据库并从缓存数据库中获取连接信息,进而与目标数据库建立网络连接,提高查询目标指标的查询效率。
507、查询节点构造第二查询请求。
首先,查询节点根据目标指标的配置信息获取模板语句。假设获取到的模板语句如下:
ecs_instance_cpu_cpu_util{$region_name,$project_id,$resource_id}
其次,查询节点获取目标指标的查询标签集合,对查询标签集合中的同名标签去重,从而保证查询标签集合中的各查询标签名称唯一。
接着,根据模板语句和查询标签集合确定替换语句。
本步骤中,当第一查询请求还携带查询标签的参数时,根据参数修改模板语句,以得到替换语句。当第一查询请求未携带查询标签的参数时,根据查询标签指示的默认值修改目标语句,以得到替换语句。
示例性的,查询节点替换模板语句中的查询标签构成的条件,如果第一查询请求携带查询标签的参数,则进行参数替换;否则,将查询标签的参数设置为默认值。
由于上述步骤501中,第一查询请求携带查询标签的参数,即查询标签包括region_name、project_id、resource_id,参数分别为HCI、a、b,查询节点进行参数替换,得到的替换语句如下:
ecs_instance_cpu_cpu_util{region_name=~’HCI’,project_id=~’a’,resourc eid=~’b’}
需要说明的是,查询标签的配置中的参数为对内字段,查询标签的配置还包括运算符函数,即标签匹配方式,包括但不限于~=、!~、=、!=等。
生成替换语句的过程中,需要将模板语句中的对外字段修改为对内字段,如上替换语句中包含的对内字段reakey为resourceid,而模板语句中包含的对外字段为resource_id。这是因为查询目标指标时,实例b的对内字段和对外字段不一致,对内字段reakey为resourceid,对外字段为resource_id。因此,生成替换语句时,查询节点还要将模板语句中的对外字段为resource_id修改为对内字段resourceid。另外,通过查询标签的配置中的运算符函数修改模板语句。
接着,修改替换语句。
上述步骤501中,第一查询请求还携带汇聚函数、分组函数和步长等,因此,查询节点继续修改替换语句,以得到汇聚语句。汇聚语句如下:
avg_over_time(ecs_instance_cpu_cpu_util{region_name=~’HCI’,project_id=~’a’,resourceid=~’b’}[3600])
最后,修改汇聚语句。
上述得到替换语句的过程中,将模板语句中的对外字段修改为对内字段,做了一定的转换。因此,需要对汇聚语句进行重写,以使得查询节点从目标数据库获取到查询结果后,将对内字段修改为对外字段。修改后的汇聚语句如下:
label_replace(avg_over_time(ecs_instance_cpu_cpu_util{region_name=~’HCI’,project_id=~’a’,resourceid=~’b’}[3600])
,"resource_id","$1","resourceid","(.*)")
508、查询节点向目标数据库发送第二查询请求以请求获取查询结果。
509、查询节点接收来自目标数据库的查询结果。
510、查询节点向用户设备返回查询结果。
示例性的,查询节点对查询结构进行格式化,构造格式统一的返回结果给用户设备。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图6为本申请实施例提供的一种云平台监控装置的示意图。该云平台监控装置600例如集成在查询集群中的任意一个查询端节点上,该云平台监控装置600包括:接收模块61、处理模块62和发送模块63。
接收模块61,用于接收来自用户设备的第一查询请求,所述第一查询请求至少携带目标指标的指标标识,所述目标指标位于指标树的叶子节点下,所述指标树是按照多个指标中各指标的业务关系生成的树状结构模型;
处理模块62,用于根据所述指标标识从缓存数据库中获取所述目标指标的配置信息,所述配置信息至少用于指示模板语句,所述模板语句用于指示获取所述目标指标的查询结果的方式;根据所述模板语句生成第二查询请求;
发送模块63,用于向目标数据库发送所述第二查询请求以获取所述目标指标的查询结果,向所述用户设备发送所述查询结果。
一种可行的实现方式中,所述处理模块62根据所述模板语句生成第二查询请求时,用于从缓存数据库中获取所述目标指标的查询标签集合,所述指标树存储在所述缓存数据库内,所述查询标签集合包含从所述目标指标到根节点之间所有层级节点的查询标签;根据所述模板语句和所述查询标签集合生成所述第二查询请求。
一种可行的实现方式中,所述处理模块62根据所述模板语句和所述查询标签集合生成所述第二查询请时,用于根据所述模板语句指示的标识字段,从所述查询标签集合中确定出第一子集,所述第一子集包含所述标识字段的查询标签;对于所述第一子集中的每个查询标签,当所述第一查询请求还携带所述查询标签的参数时,根据所述参数修改所述模板语句,以得到替换语句;当所述第一查询请求未携带所述查询标签的参数时,根据所述查询标签指示的默认值修改所述目标语句,以得到替换语句;根据所述替换语句生成所述第二查询请求。
一种可行的实现方式中,所述处理模块62根据所述模板语句和所述查询标签集合生成所述第二查询请求之前,还用于根据所述指标树对所述查询标签集合中的查询标签排序,越靠近所述目标指标的查询标签的优先级越高;根据所述排序获取第二子集,所述第二子集包含的各查询标签的名称相同且优先级从低至高;从所述第二子集中删除除优先级最高的查询标签以外的查询标签,以使得所述查询标签集合包含的各查询标签名称唯一。
一种可行的实现方式中,所述处理模块62根据所述替换语句生成所述第二查询请求时,用于当所述第一查询请求还携带所述目标数据库支持的分析方式时,在所述替换语句中添加所述分析方式以构造修改语句;根据所述修改语句生成所述第二查询请求。
一种可行的实现方式中,所述处理模块62,在所述发送模块63向目标数据库发送所述第二查询请求以获取所述目标指标的查询结果之前,还用于当所述第一查询请求中携带所述目标数据库的标识、且所述目标数据库是所述配置信息指示的数据库之一时,从所述缓存数据库中获取所述目标数据库的连接信息,根据所述连接信息与所述目标数据库建立网络连接;当所述第一查询请求中未携带所述目标数据库的标识时,根据所述配置信息确定所述目标数据库,从所述缓存数据库中获取所述目标数据库的连接信息,根据所述连接信息与所述目标数据库建立网络连接。
本申请实施例提供的云平台监控装置,可以执行上述实施例中查询节点的动作,其实现原理和技术效果类似,在此不再赘述。
图7为本申请实施例提供的另一种云平台监控装置的示意图。该云平台监控装置700例如集成在控制集群中的控制节点上,该云平台监控装置700包括:收发模块71和处理模块72。
收发模块71,用于接收来自运维设备的创建请求,所述创建请求用于指示指标树以及各指标的配置信息,所述指标树是按照多个指标中各指标的业务关系生成的树状结构模型,所述指标树的各叶子节点具有至少一个指标;
处理模块72,用于将所述指标树和各指标的配置信息存储至缓存数据库中,以使得查询节点接收到来自用户设备的第一查询请求后从所述缓存数据库获取目标指标的配置信息,所述目标指标为所述第一查询请求携带的指标标识对应的指标。
一种可行的实现方式中,所述收发模块71,还用于接收来自所述运维设备的配置请求,所述配置请求用于指示所述指标树中各层级节点的查询标签;
所述处理模块72,还用于将所述指标树中各层级节点的查询标签存储在所述缓存数据库中。
一种可行的实现方式中,所述收发模块71接收来自运维设备的创建请求之后,还用于接收来自所述运维设备的编辑请求,所述编辑请求用于请求修改所述指标树的叶子节点下的指标或在所述叶子节点下新增指标;
所述处理模块72,还用于根据所述编辑请求编辑所述指标树的叶子节点下的指标。
一种可行的实现方式中,所述处理模块72,还用于获取至少一个数据库中各数据库的连接信息;对所述各数据库进行连通性校验;将通过连通性校验的数据库的连接信息存储在所述缓存数据库中。
一种可行的实现方式中,所述处理模块72,还用于将所述指标树和各指标的配置信息存储至持久化数据库中,以使得所述缓存数据库重启后从所述持久化数据库获取所述指标树和各指标的配置信息。
本申请实施例提供的云平台监控装置,可以执行上述实施例中控制节点的动作,其实现原理和技术效果类似,在此不再赘述。
图8为本申请实施例提供的一种电子设备的结构示意图。如图8所示,该电子设备800例如为上述的查询集群中的查询节点或控制集群中的控制节点,该电子设备800包括:
处理器81和存储器82;
所述存储器82存储计算机指令;
所述处理器81执行所述存储器82存储的计算机指令,使得所述处理器81执行如上查询节点或控制节点实施的云平台监控方法。
处理器81的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
可选地,该电子设备800还包括通信部件83。其中,处理器81、存储器82以及通信部件83可以通过总线84连接。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令被处理器执行时用于实现如上查询节点或控制节点实施的云平台监控方法。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包含计算机程序,计算机程序被处理器执行时实现如上查询节点或控制节点实施的云平台监控方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (12)
1.一种云平台监控方法,其特征在于,应用于查询节点,所述方法包括:
接收来自用户设备的第一查询请求,所述第一查询请求至少携带目标指标的指标标识,所述目标指标位于指标树的叶子节点下,所述指标树是按照多个指标中各指标的业务关系生成的树状结构模型;
根据所述指标标识从缓存数据库中获取所述目标指标的配置信息,所述配置信息至少用于指示模板语句,所述模板语句用于指示获取所述目标指标的查询结果的方式;
根据所述模板语句生成第二查询请求;
向目标数据库发送所述第二查询请求以获取所述目标指标的查询结果;
向所述用户设备发送所述查询结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述模板语句生成第二查询请求,包括:
从缓存数据库中获取所述目标指标的查询标签集合,所述指标树存储在所述缓存数据库内,所述查询标签集合包含从所述目标指标到根节点之间所有层级节点的查询标签;
根据所述模板语句和所述查询标签集合生成所述第二查询请求。
3.根据权利要求2所述的方法,其特征在于,所述根据所述模板语句和所述查询标签集合生成所述第二查询请求,包括:
根据所述模板语句指示的标识字段,从所述查询标签集合中确定出第一子集,所述第一子集包含所述标识字段的查询标签;
对于所述第一子集中的每个查询标签,当所述第一查询请求还携带所述查询标签的参数时,根据所述参数修改所述模板语句,以得到替换语句;当所述第一查询请求未携带所述查询标签的参数时,根据所述查询标签指示的默认值修改所述目标语句,以得到替换语句;
根据所述替换语句生成所述第二查询请求。
4.根据权利要求2所述的方法,其特征在于,所述根据所述模板语句和所述查询标签集合生成所述第二查询请求之前,还包括:
根据所述指标树对所述查询标签集合中的查询标签排序,越靠近所述目标指标的查询标签的优先级越高;
根据所述排序获取第二子集,所述第二子集包含的各查询标签的名称相同且优先级从低至高;
从所述第二子集中删除除优先级最高的查询标签以外的查询标签,以使得所述查询标签集合包含的各查询标签名称唯一。
5.根据权利要求3所述的方法,其特征在于,所述根据所述替换语句生成所述第二查询请求,包括:
当所述第一查询请求还携带所述目标数据库支持的分析方式时,在所述替换语句中添加所述分析方式以构造修改语句;
根据所述修改语句生成所述第二查询请求。
6.根据权利要求1~5任一项所述的方法,其特征在于,所述向目标数据库发送所述第二查询请求以获取所述目标指标的查询结果之前,还包括:
当所述第一查询请求中携带所述目标数据库的标识、且所述目标数据库是所述配置信息指示的数据库之一时,从所述缓存数据库中获取所述目标数据库的连接信息,根据所述连接信息与所述目标数据库建立网络连接;
当所述第一查询请求中未携带所述目标数据库的标识时,根据所述配置信息确定所述目标数据库,从所述缓存数据库中获取所述目标数据库的连接信息,根据所述连接信息与所述目标数据库建立网络连接。
7.一种云平台监控方法,其特征在于,应用于控制节点,所述方法包括:
接收来自运维设备的创建请求,所述创建请求用于指示指标树以及各指标的配置信息,所述指标树是按照多个指标中各指标的业务关系生成的树状结构模型,所述指标树的各叶子节点具有至少一个指标;
将所述指标树和各指标的配置信息存储至缓存数据库中,以使得查询节点接收到来自用户设备的第一查询请求后从所述缓存数据库获取目标指标的配置信息,所述目标指标为所述第一查询请求携带的指标标识对应的指标。
8.根据权利要求7所述的方法,其特征在于,还包括:
接收来自所述运维设备的配置请求,所述配置请求用于指示所述指标树中各层级节点的查询标签;
将所述指标树中各层级节点的查询标签存储在所述缓存数据库中。
9.根据权利要求7所述的方法,其特征在于,所述接收来自运维设备的创建请求之后,还包括:
接收来自所述运维设备的编辑请求,所述编辑请求用于请求修改所述指标树的叶子节点下的指标或在所述叶子节点下新增指标;
根据所述编辑请求编辑所述指标树的叶子节点下的指标。
10.根据权利要求7~9任一项所述的方法,其特征在于,还包括:
获取至少一个数据库中各数据库的连接信息;
对所述各数据库进行连通性校验;
将通过连通性校验的数据库的连接信息存储在所述缓存数据库中。
11.根据权利要求7~9任一项所述的方法,其特征在于,还包括:
将所述指标树和各指标的配置信息存储至持久化数据库中,以使得所述缓存数据库重启后从所述持久化数据库获取所述指标树和各指标的配置信息。
12.一种云平台监控***,其特征在于,包括:
查询集群,包含至少一个查询节点,所述查询节点用于执行如权利要求1~6任一项所述的方法;
控制集群,包含至少一个控制节点,所述控制节点用于执行如权利要求7~11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211494107.7A CN115827380A (zh) | 2022-11-25 | 2022-11-25 | 云平台监控方法及云平台监控*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211494107.7A CN115827380A (zh) | 2022-11-25 | 2022-11-25 | 云平台监控方法及云平台监控*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115827380A true CN115827380A (zh) | 2023-03-21 |
Family
ID=85531773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211494107.7A Pending CN115827380A (zh) | 2022-11-25 | 2022-11-25 | 云平台监控方法及云平台监控*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115827380A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116931529A (zh) * | 2023-09-14 | 2023-10-24 | 深圳市华科科技有限公司 | 一种工业生产设备的智能监控方法及*** |
CN117390015A (zh) * | 2023-09-27 | 2024-01-12 | 希维科技(广州)有限公司 | 电池护照的存储方法、设备及存储介质 |
-
2022
- 2022-11-25 CN CN202211494107.7A patent/CN115827380A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116931529A (zh) * | 2023-09-14 | 2023-10-24 | 深圳市华科科技有限公司 | 一种工业生产设备的智能监控方法及*** |
CN117390015A (zh) * | 2023-09-27 | 2024-01-12 | 希维科技(广州)有限公司 | 电池护照的存储方法、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12003572B1 (en) | Two-way replication of search node configuration files using a mediator node | |
US11757720B2 (en) | Distributed computing dependency management system | |
US11809405B2 (en) | Generating and distributing delta files associated with mutable events in a distributed system | |
US11799728B2 (en) | Multistage device clustering | |
US10853124B2 (en) | Managing user data in a multitenant deployment | |
US8285800B2 (en) | Service model creation using monitored data of the performance management tool | |
US8041683B1 (en) | Methods and apparatus for locating network logs | |
US10169434B1 (en) | Tokenized HTTP event collector | |
US11829381B2 (en) | Data source metric visualizations | |
US20190052531A1 (en) | Systems and methods for service mapping | |
US7251588B2 (en) | System for metric introspection in monitoring sources | |
US11822433B2 (en) | Qualification parameters for captain selection in a search head cluster | |
US11841834B2 (en) | Method and apparatus for efficient synchronization of search heads in a cluster using digests | |
US7783743B1 (en) | Methods and apparatus for processing electronic mail-related data | |
US20210279251A1 (en) | Disaster recovery in a clustered environment using generation identifiers | |
US20070011299A1 (en) | System and method for using machine-readable meta-models for interpreting data models in a computing environment | |
CN115827380A (zh) | 云平台监控方法及云平台监控*** | |
CN117389908B (zh) | 接口自动化测试用例的依赖关系分析方法、***及介质 | |
US20240007876A1 (en) | Restoration of a network slice | |
US20230409568A1 (en) | Monitoring metadata synchronization and aggregation | |
CN116301952A (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 |