CN109815092B - 云平台自动伸缩方法及系统 - Google Patents
云平台自动伸缩方法及系统 Download PDFInfo
- Publication number
- CN109815092B CN109815092B CN201910078911.9A CN201910078911A CN109815092B CN 109815092 B CN109815092 B CN 109815092B CN 201910078911 A CN201910078911 A CN 201910078911A CN 109815092 B CN109815092 B CN 109815092B
- Authority
- CN
- China
- Prior art keywords
- information
- log
- index
- analyzing
- measurement
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种云平台自动伸缩方法及系统,该方法包括:采集目标应用的日志信息;根据日志信息,解析得到目标应用的度量指标信息;根据度量指标信息和预设伸缩规则信息,执行相应的伸缩操作,其中,预设伸缩规则信息中至少包含执行伸缩操作需满足的指标条件。本发明可以根据应用自身特有指标来实现应用规模的自动伸缩,打破了云平台固定度量指标进行自动伸缩的限制,大大提高了基于云平台应用自动伸缩的准确性和灵活度。
Description
技术领域
本发明涉及云计算领域,尤其涉及一种云平台自动伸缩方法及系统。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着互联网日益普及,人们对互联网服务的质量要求越来越高。为了满足高访问量和数据响应实时性要求,大多应用采用服务器集群模式对外提供服务,即多台物理机作为整体运行同一应用。在集群搭建时,通常根据访问量的峰值预估服务器数量然后搭建集群,集群规模固定,具有部署困难、资源利用率、成本高昂等缺点。
由于云计算通过集中整合各种IT资源,可以实现按需申请资源来为用户提供服务,因而,越来越多的基于集群模式的应用逐渐迁移到云平台,通过周期性评估负载情况,动态申请服务资源,可以实现集群规模的动态伸缩,当需要的规模较小的时候,及时释放资源,将资源归还到资源池供其他用户使用;当需要的规模较大的时候,及时扩展资源,从资源池获得闲置的资源,使资源得到充分利用。
现有的云平台自动伸缩方法一般分为以下几类:①基于CPU使用率执行自动伸缩操作;②基于内存使用率执行自动伸缩操作;③基于网络流量执行自动伸缩操作;④基于负载均衡器的请求数、并发数、响应延迟时间等指标执行自动伸缩操作。例如,基于CPU使用率、内存使用率、网络流量等指标来执行自动伸缩操作的阿里云平台和OpenStack云计算管理平台,以及基于CPU使用率、内存使用率、网络流量以及负载均衡器的请求数来执行自动伸缩操作的亚马逊云服务AWS平台。
由上可知,现有的云平台自动伸缩方法是基于平台提供的固定指标(CPU使用率、内存使用率、网络流量、负载均衡器的请求数、并发数、响应延迟时间等指标)执行自动伸缩操作,这些指标均没有体现应用本身的特征,一方面容易导致自动伸缩误操作(例如,一些代码中存在死循环的问题,会使得CPU使用率或内存使用率突然过高,从而导致自动伸缩误触发);另一方面限制了用户执行自动伸缩操作的需求(例如,某些场景中,用户可能想要基于应用的在线用户数、消息队列深度或一次数据处理完成时间来实现应用规模的自动伸缩)。因而,现有的基于固定度量指标的云平台自动伸缩方法,无法准确实现应用规模的自动伸缩操作。
发明内容
本发明实施例提供一种云平台自动伸缩方法,用以解决现有基于固定度量指标的云平台自动伸缩方案,无法准确实现应用规模的自动伸缩操作的技术问题,该方法包括:采集目标应用的日志信息;根据日志信息,解析得到目标应用的度量指标信息;根据度量指标信息和预设伸缩规则信息,执行相应的伸缩操作,其中,预设伸缩规则信息中至少包含执行伸缩操作需满足的指标条件。
本发明实施例还提供一种云平台自动伸缩系统,用以解决现有基于固定度量指标的云平台自动伸缩方案,无法准确实现应用规模的自动伸缩操作的技术问题,该装置包括:日志采集装置,用于采集目标应用的日志信息;日志解析装置,用于根据日志信息,解析得到目标应用的度量指标信息;伸缩操作执行装置,用于根据度量指标信息和预设伸缩规则信息,执行相应的伸缩操作,其中,预设伸缩规则信息中至少包含执行伸缩操作需满足的指标条件。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的云平台自动伸缩方法。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有执行上述云平台自动伸缩方法的计算机程序。
本发明实施例中,基于应用日志信息解析度量指标信息,进而根据解析得到的度量指标信息和预设伸缩规则信息执行自动伸缩操作,由于从应用日志信息中解析得到的度量指标信息中包含与应用本身特点相关的指标信息,因而,通过本发明实施例,可以根据应用自身特有指标来实现应用规模的自动伸缩,打破了云平台固定度量指标进行自动伸缩的限制,大大提高了基于云平台应用自动伸缩的准确性和灵活度,最大化减少基础设施费用,提高应用服务的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的一种云平台自动伸缩系统示意图;
图2为本发明实施例中提供的一种数据自定义装置示意图;
图3为本发明实施例中提供的一种日志采集装置示意图;
图4为本发明实施例中提供的一种日志解析装置示意图;
图5为本发明实施例中提供的一种伸缩操作执行装置示意图;
图6为本发明实施例中提供的一种云平台自动伸缩方法流程图;
图7为本发明实施例中提供的一种优选的云平台自动伸缩系统示意图;
图8为本发明实施例中提供的一种云平台自动伸缩配置请求处理流程图;
图9为本发明实施例中提供的一种伸缩操作执行装置的完整实现流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本发明实施例中还提供了一种云平台自动伸缩系统,图1为本发明实施例中提供的一种云平台自动伸缩系统示意图,如图1所示,该系统包括:日志采集装置2、日志解析装置3和伸缩操作执行装置4。
其中,日志采集装置2,用于采集目标应用的日志信息;日志解析装置3,用于根据日志信息,解析得到目标应用的度量指标信息;伸缩操作执行装置4,用于根据度量指标信息和预设伸缩规则信息,执行相应的伸缩操作,其中,预设伸缩规则信息中至少包含执行伸缩操作需满足的指标条件。其中,指标条件包括但不限于如下任意之一:度量指标的指标值超过指标阈值、指标值超过指标阈值的度量指标个数超过预设指标个数。
需要说明的是,上述目标应用可以是基于云平台的任意一种应用,该应用利用云平台提供的资源(包括但不限于存储资源、计算资源等)来提供服务,可以是Web应用,也可以是客户端应用。上述度量指标信息中包含度量目标应用所需云平台资源的一个或多个指标(例如,每秒执行的事务数量TPS、在线用户数、交易率、交易响应时长等)以及相应的指标值。上述预设伸缩规则信息为预先设置的伸缩规则信息,该伸缩规则信息中至少包含了执行伸缩操作需满足的指标条件,也即从日志信息中解析得到的度量指标信息中包含的一个或多个指标需要满足该伸缩规则信息中包含的指标条件,才执行伸缩操作。
可选地,本发明实施例提供的云平台自动伸缩系统可以应用于但不限于Kubernetes、Docker、Openstack等云平台。作为一种可选的实施方式,本发明实施例中的日志采集装置2可以基于Apache Flume(Apache Flume是一个分布式的、可靠的、易用的系统),将来自很多不同源系统的大量日志数据收集、汇总或者转移到一个数据中心存储;日志解析装置3可以基于Apache Elesticsearch(全文搜索引擎),实现快速地存储、搜索和分析海量数据。
一种可选的实施例中,上述预设伸缩规则信息至少包含一个或多个度量指标的名称信息,以及度量指标对应的扩容指标阈值或缩容指标阈值;则上述伸缩操作执行装置4在根据从日志信息中解析得到的度量指标信息和预设伸缩规则信息,执行相应的伸缩操作的时候,可以包括但不限于如下两种情形:
第一种,如果任意一个度量指标的指标值高于扩容指标阈值,则执行扩容操作;如果任意一个度量指标的指标值低于缩容指标阈值,则执行缩容操作。
第二种,如果指标值高于扩容指标阈值的度量指标个数超过预设指标个数,则执行扩容操作;如果指标值低于缩容指标阈值的度量指标个数超过预设指标个数,则执行缩容操作。
进一步地,上述预设伸缩规则信息还可以包含如下至少一种信息:扩容步长、缩容步长、扩容上限值、缩容下限值。其中,扩容步长用于表征每次执行扩容操作增加存储资源或计算资源(例如,每次执行扩容操作增加的容器或虚拟机数量);缩容步长用于表征每次执行缩容操作缩减的存储资源或计算资源(例如,每次执行缩容操作减少的容器或虚拟机数量);扩容上限值用于表征扩容操作过程中,可以扩展的存储资源和计算资源的上限(例如,云平台为目标应用提供的容器或虚拟机数量上限);缩容下限值用于表征缩容操作过程中,可以缩减的存储资源和计算资源的下限(例如,确保目标应用运行云平台为目标应用提供的容器或虚拟机数量下限)。
当预设伸缩规则信息中包含扩容步长或缩容步长的情况下,在执行伸缩操作的时候,可以按照预设的扩容步长或缩容步长执行扩容或缩容操作。当预设伸缩规则信息中包含扩容上限值或缩容下限值的情况下,在执行扩容操作的过程中,可以控制扩展的存储资源和计算资源不超过扩容上限值;在执行缩容操作的过程中,可以控制缩减的存储资源和计算资源不低于缩容下限值。
更进一步地,上述预设伸缩规则信息还可以包含冷却时间。冷却时间是指执行一次扩容操作或者缩容操作后,到下一次判断是否执行扩容或缩容操作的时间间隔。由于进行扩容或缩容操作后,新加入的服务或减少的存储资源或计算资源对外提供服务的时候,会有一段延迟时间,因而,通过设置冷却时间,可以避免扩容或者缩容操作频繁执行。
如图1所示,一种实施例中,本发明实施例提供的云平台自动伸缩系统还可以包括:数据存储装置5,与伸缩操作执行装置4连接,用于存储伸缩操作执行装置4每次执行伸缩操作的执行结果,以便查询自动伸缩操作执行的历史记录。
可选地,上述数据存储装置5还可以存储伸缩操作执行装置4执行伸缩操作所需的伸缩规则信息。
进一步地,上述数据存储装置5还可以与日志采集装置2连接,用于存储日志采集装置2采集日志所需的日志采集配置信息,以便日志采集装置2可以根据预先设置的日志采集配置信息,自动采集目标应用的日志信息。
更进一步地,上述数据存储装置5还可以与日志解析装置3连接,用于存储日志解析装置3根据日志信息解析度量指标信息所需的日志指标查询信息,以便日志解析装置3可以根据预先设置的日志指标查询信息,自动对日志信息进行解析,得到目标应用的度量指标信息。
此处需要说明的是,上述日志采集装置2采集日志信息所需的日志采集配置信息、上述日志解析装置3解析日志信息所需的日志指标查询信息,以及上述伸缩操作执行装置4执行伸缩操作所需的伸缩规则信息,均可以是用户自定义设置的。由此,作为一种可选的实施例,如图1所示,本发明实施例提供的云平台自动伸缩系统还可以包括:数据自定义装置1,与数据存储装置5连接,用于自定义设置日志采集配置信息、日志指标查询信息和伸缩规则信息。
图2为本发明实施例中提供的一种数据自定义装置示意图,如图2所示,该数据自定义装置1具体可以包括:日志采集配置信息自定义单元11、日志指标查询信息自定义单元12和伸缩规则信息自定义单元13。
其中,日志采集配置信息自定义单元11,与数据存储装置5连接,用于接收自定义设置的日志采集配置信息,并存储至数据存储装置5;通过该日志采集配置信息自定义单元11自定义设置的日志采集配置信息可以包括但不限于表1中示出的日志名称、日志路径、首行标识、日志格式、字段类型和编码格式等信息。
表1日志采集配置信息
日志指标查询信息自定义单元12,与数据存储装置5连接,用于接收自定义设置的日志指标查询信息,并存储至数据存储装置5;通过该日志指标查询信息自定义单元12自定义设置的日志指标查询信息包括但不限于表2所示的度量指标名称、时间间隔、条件值、字段名称和字段名称对应的数值。
表2日志指标查询信息
伸缩规则信息自定义单元13,与数据存储装置5连接,用于接收自定义设置的伸缩规则信息,并存储至数据存储装置5。通过该伸缩规则信息自定义单元13,可以设置但不限于度量指标名称;度量指标超过多少阈值进行扩容,或低于多少阈值进行缩容);每次扩容几个虚拟机或者几个容器;连续几次阈值超标才进行扩容一次;扩容的虚拟机或者容器的上限为多少个;缩容的下限虚拟机或者容器的下限为多少个;冷却时间为多少等。
可选地,上述伸缩规则信息自定义单元13可以采用但不限于YAML文件、JSON文件、XML文件或者代码对伸缩规则进行描述定义。本发明实施例以JSON文件为例,对各个指标进行详细定义,具体如下:表3为自动伸缩总定义v1.AutoScale;表4为规则定义v1.Rule;表5为执行操作定义v1.Action。
表3自动伸缩总定义v1.AutoScale
表4规则定义v1.Rule
表5执行操作定义v1.Action
具体的JSON样例如下:
图3为本发明实施例中提供的一种日志采集装置示意图,如图3所示,本发明实施例提供的日志采集装置2可以具体包括:日志采集参数解析单元21和日志采集引擎单元22。
其中,日志采集参数解析单元21,与日志采集配置信息自定义单元11连接,用于根据日志采集配置信息,解析得到日志采集参数信息;
日志采集引擎单元22,与数据存储装置5连接,用于根据日志采集参数信息,采集目标应用的日志信息。
具体地,日志采集参数解析单元21对日志采集配置信息自定义单元11传输来的日志采集配置信息进行解析,得到日志采集引擎单元22所需的日志采集参数信息;日志采集引擎单元22根据该日志采集参数信息,从为目标应用提供服务的各个应用服务器中采集应用日志。
需要说明的是,日志采集引擎单元22是一个采集日志信息的引擎,当日志采集引擎单元22采用Apache Flume的情况下,日志采集参数解析单元21解析日志采集配置信息得到的参数配置信息为Apache Flume所需要的td-agent.conf文件,下面为td-agent.conf的一个示例:
图4为本发明实施例中提供的一种日志解析装置示意图,如图4所示,本发明实施例提供的日志解析装置3可以具体包括:日志指标搜索参数解析单元31和日志指标搜索引擎单元32。
其中,日志指标搜索参数解析单元31,与数据存储装置5连接,用于根据日志指标查询信息,解析得到日志指标搜索参数信息;
日志指标搜索引擎单元32,与日志指标搜索参数解析单元31连接,用于根据日志指标搜索参数信息,对日志信息进行解析,得到目标应用的度量指标信息。
具体地,日志指标搜索参数解析单元31通过解析日志指标查询信息自定义单元12传输来的日志指标查询信息(即用于从日志中解析出度量值的查询信息),得到日志指标搜索引擎单元32所需要的日志指标搜索参数信息(日志解析规则),日志指标搜索引擎单元32根据日志指标搜索参数解析单元31传输来的日志指标搜索参数信息,对日志采集引擎单元22采集的日志信息进行解析,得到目标应用的度量指标信息。
作为一种可选的实施方式,当日志指标搜索引擎单元32使用全文搜索引擎ApacheEleasticsearch的情况下,日志指标搜索参数解析单元31传输过来的日志指标搜索参数信息为Apache Eleasticsearch可识别的JSON文件,示例如下:
图5为本发明实施例中提供的一种伸缩操作执行装置示意图,如图5所示,本发明实施例提供的伸缩操作执行装置4可以具体包括:度量指标值解析单元41、伸缩条件判断单元42和伸缩操作执行单元43。
其中,度量指标值解析单元41,与日志指标搜索引擎单元32连接,用于解析度量指标信息,得到一个或多个度量指标以及相应的指标值;
伸缩条件判断单元42,与度量指标值解析单元41和数据存储装置5分别连接,用于判断各个度量指标的指标值是否满足执行伸缩操作需满足的指标条件;
伸缩操作执行单元43,与伸缩条件判断单元42连接,用于根据判断结果,执行相应的伸缩操作。
具体地,度量指标值解析单元41解析日志解析装置3传输过来的度量指标信息,并获取每个度量指标的指标值传输给伸缩条件判断单元42;伸缩条件判断单元42解析伸缩规则信息自定义单元13传输过来的伸缩规则信息,再根据度量指标值解析单元41传输过来的各个度量指标的指标值,判断是否满足执行伸缩操作需满足的指标条件,并在满足条件的情况下,调用伸缩操作执行单元43执行伸缩操作,例如,调用云平台的接口(例如,DockerRest API、Kubernetes Rest API以及Openstack Rest API等)进行容器或虚拟机的启动或关闭,将每次执行伸缩操作的执行结果存储于数据存储装置5中。
需要说明的是,日志指标搜索引擎单元32传输给度量指标值解析单元41的度量指标信息的格式可以是但不限于YAML文件格式、XML文件格式、JSON文件格式或者其它编码语言可别的格式。以JSON文件格式为例,日志指标搜索引擎单元32传输过来的度量指标信息示例如下:
本发明实施例中还提供了一种云平台自动伸缩方法,如下面的实施例所述。由于该方法实施例解决问题的原理与云平台自动伸缩系统相似,因此该方法实施例的实施可以参见系统的实施,重复之处不再赘述。
图6为本发明实施例中提供的一种云平台自动伸缩方法流程图,如图6所示,包括如下步骤:
S601,采集目标应用的日志信息;
S602,根据日志信息,解析得到目标应用的度量指标信息;
S603,根据度量指标信息和预设伸缩规则信息,执行相应的伸缩操作,其中,预设伸缩规则信息中至少包含执行伸缩操作需满足的指标条件。
可选地,在S603之前,本发明实施例提供的云平台自动伸缩方法还可以包括:接收自定义设置的伸缩规则信息,其中,伸缩规则信息中至少包含度量指标的名称信息,以及度量指标对应的扩容指标阈值或缩容指标阈值。
进一步地,伸缩规则信息中还可以包含但不限于如下至少一种信息:扩容步长、缩容步长、扩容上限值、缩容下限值、冷却时间。
其中,根据度量指标信息和预设伸缩规则信息,执行相应的伸缩操作可以具体包括如下步骤:解析度量指标信息,得到一个或多个度量指标以及相应的指标值;判断各个度量指标的指标值是否满足执行伸缩操作需满足的指标条件;根据判断结果,执行相应的伸缩操作。
在一种可选的实施例中,在采集目标应用的日志信息之前,本发明实施例提供的云平台自动伸缩方法还可以包括:接收自定义设置的日志采集配置信息;其中,采集目标应用的日志信息,包括:根据日志采集配置信息,采集目标应用的日志信息。
其中,根据日志采集配置信息,采集目标应用的日志信息可以具体包括:根据日志采集配置信息,解析得到日志采集参数信息;根据日志采集参数信息,采集目标应用的日志信息。
在一种可选的实施例中,在根据日志信息,解析得到目标应用的度量指标信息之前,本发明实施例提供的云平台自动伸缩方法还可以包括:接收自定义设置的日志指标查询信息;其中,根据日志信息,解析得到目标应用的度量指标信息,包括:根据日志指标查询信息,对日志信息进行解析,得到目标应用的度量指标信息。
其中,根据日志指标查询信息,对日志信息进行解析,得到目标应用的度量指标信息,可以具体包括:根据日志指标查询信息,解析得到日志解析规则;根据日志解析规则,对日志信息进行解析,得到目标应用的度量指标信息。
基于上述任意一种可选的实施例,作为一种可选的实施方式,在根据度量指标信息和预设伸缩规则信息,执行相应的伸缩操作之后,本发明实施例提供的云平台自动伸缩方法还可以包括:存储每次执行伸缩操作后的执行结果。
图7为本发明实施例中提供的一种优选的云平台自动伸缩系统示意图,如图7所示,数据自定义装置1中的日志采集配置信息自定义单元11、日志指标查询信息自定义单元12和伸缩规则信息自定义单元13分别与数据存储装置5连接,将自定义设置的数据分别存储于数据存储装置5;日志采集装置2中的日志采集参数解析单元21与数据存储装置5连接,从数据存储装置5中获取日志采集配置信息自定义单元11自定义设置的日志采集配置信息,并对该日志采集配置信息进行解析,得到日志采集引擎单元22所需的参数配置信息,日志采集引擎单元22根据该参数配置信息采集目标应用的日志信息,传输至日志解析装置3中的日志指标值解析单元31;日志解析装置3中的日志指标值解析单元31与数据存储装置5连接,从数据存储装置5中获取日志指标查询信息自定义单元自定义设置的指标查询信息,对获取到的日志指标查询信息进行解析,得到日志解析规则,传输至日志指标搜索引擎单元32;日志指标搜索引擎单元31根据该日志解析规则对日志采集引擎单元22中传输过来的日志信息进行解析,得到度量指标信息,并传输至伸缩操作执行装置4的度量指标值解析单元41;度量指标值解析单元41对度量指标信息进行解析,得到相应的度量指标和指标值,传输给伸缩条件判断单元42,伸缩条件判断单元42与数据存储装置5连接,从数据存储装置5中获取伸缩规则信息自定义单元自定义设置的伸缩规则信息,并判断度量指标值解析单元41解析得到度量指标值是否满足执行伸缩操作需满足的指标条件,伸缩操作执行单元43根据根据判断结果,执行相应的伸缩操作。
图8为本发明实施例中提供的一种应用于图7所示的云平台自动伸缩系统的云平台自动伸缩配置请求处理流程图,如图8所示,包括如下步骤:
S801:数据自定义装置接收自动伸缩配置请求。
S802:日志采集装置中的日志采集参数解析单元将请求转换日志采集引擎单元所需的参数格式。
S803:日志采集装置中的日志采集引擎单元将采集到的日志传输给日志解析装置中的日志指标搜索参数解析单元。
S804:日志指标搜索参数解析单元解析用户配置的日志度量指标关键字与正则表达式(日志指标查询信息),转换成日志指标搜索引擎单元所能识别的参数格式。
S805:日志指标搜索引擎单元解析出度量指标信息传输给伸缩操作执行装置中的度量指标值解析单元。
S806:伸缩条件判断单元解析伸缩规则,并判断度量指标值解析单元解析得到的指标值是否满足伸缩的指标条件。
S807:在满足满足伸缩的指标条件的情况下,伸缩操作执行单元执行伸缩动作。自动伸缩配置请求处理流程结束。
S808:伸缩操作执行单元将执行后的记录存储在数据存储装置。
结合图5所示的伸缩操作执行装置,图9为本发明实施例中提供的一种伸缩操作执行装置的完整实现流程图,如图9所示,包括如下步骤:
S901:度量指标值解析单元从日志指标搜索引擎单元获取度量指标信息(例如,指标值的JSON字符串),解析出度量指标值传递给伸缩条件判断单元。
S902:伸缩条件判断单元判断度量指标值是否满足伸缩规则。如果满足,执行S903;反之,执行S907。
S903:伸缩条件判断单元将监控周期计算器的计数加1。
S904:伸缩条件判断单元判断监控周期计数器的计数是否等于监控周期数。如果是,执行S905;反之,执行S901。
S905:伸缩操作执行单元调用云平台接口伸缩应用部署规模。
S906:延迟用户定义的冷却时间。重新开始下一轮的周期。
S907:伸缩条件判断单元将监控周期计算器的计数清零。重新开始下一轮的周期。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现方法实施例中任意一种可选的或优选的云平台自动伸缩方法。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有执行方法实施例中任意一种可选的或优选的云平台自动伸缩方法的计算机程序。
综上所述,本发明实施例提供了一种基于应用日志解析业务度量指标的云平台自动伸缩方法。通过解析应用日志获取相关度量指标信息,并根据预先配置的这些度量指标的伸缩规则来提供应用部署规模自动伸缩,可以实现但不限于如下技术效果:(1)打破云平台固定度量值进行自动伸缩的限制,可以使得用户不再局限于云平台提供的度量值来做自身应用的自动伸缩,提高具有应用特征自动伸缩的准确性和灵活度;(2)提供用户自定义度量值的解析框架,无需针对每个用户不同的需求开发用户度量值解析模块,提高了平台的高适应性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种云平台自动伸缩方法,其特征在于,包括:
采集目标应用的日志信息;
根据所述日志信息,解析得到所述目标应用的度量指标信息;
根据所述度量指标信息和预设伸缩规则信息,执行相应的伸缩操作,其中,所述预设伸缩规则信息中至少包含执行所述伸缩操作需满足的指标条件;所述伸缩规则信息中还包含如下至少一种信息:扩容步长、缩容步长、扩容上限值、缩容下限值、冷却时间;
根据所述度量指标信息和预设伸缩规则信息,执行相应的伸缩操作,包括:
解析所述度量指标信息,得到一个或多个度量指标以及相应的指标值;
判断各个度量指标的指标值是否满足执行伸缩操作需满足的指标条件;所述指标条件包括:度量指标的指标值超过指标阈值、指标值超过指标阈值的度量指标个数超过预设指标个数;
根据判断结果,执行相应的伸缩操作;
在根据所述日志信息,解析得到所述目标应用的度量指标信息之前,所述方法还包括:
接收自定义设置的日志指标查询信息;
其中,根据所述日志信息,解析得到所述目标应用的度量指标信息,包括:根据所述日志指标查询信息,对所述日志信息进行解析,得到所述目标应用的度量指标信息;
根据所述日志指标查询信息,对所述日志信息进行解析,得到所述目标应用的度量指标信息,包括:
根据所述日志指标查询信息,解析得到日志解析规则;
根据所述日志解析规则,对所述日志信息进行解析,得到所述目标应用的度量指标信息。
2.如权利要求1所述的方法,其特征在于,在采集目标应用的日志信息之前,所述方法还包括:
接收自定义设置的日志采集配置信息;
其中,采集目标应用的日志信息,包括:根据所述日志采集配置信息,采集所述目标应用的日志信息。
3.如权利要求1所述的方法,其特征在于,根据日志采集配置信息,采集所述目标应用的日志信息,包括:
根据所述日志采集配置信息,解析得到日志采集参数信息;
根据所述日志采集参数信息,采集所述目标应用的日志信息。
4.如权利要求1所述的方法,其特征在于,在根据所述度量指标信息和预设伸缩规则信息,执行相应的伸缩操作之后,所述方法还包括:
存储每次执行所述伸缩操作后的执行结果。
5.如权利要求1至4任一所述的方法,其特征在于,在根据所述度量指标信息和预设伸缩规则信息,执行相应的伸缩操作之前,所述方法还包括:
接收自定义设置的伸缩规则信息,其中,所述伸缩规则信息中至少包含度量指标的名称信息,以及度量指标对应的扩容指标阈值或缩容指标阈值。
6.一种云平台自动伸缩系统,其特征在于,包括:
日志采集装置,用于采集目标应用的日志信息;
日志解析装置,用于根据所述日志信息,解析得到所述目标应用的度量指标信息;
伸缩操作执行装置,用于根据所述度量指标信息和预设伸缩规则信息,执行相应的伸缩操作,其中,所述预设伸缩规则信息中至少包含执行所述伸缩操作需满足的指标条件;所述伸缩规则信息中还包含如下至少一种信息:扩容步长、缩容步长、扩容上限值、缩容下限值、冷却时间;
所述伸缩操作执行装置包括:
度量指标值解析单元,与日志指标搜索引擎单元连接,用于解析所述度量指标信息,得到一个或多个度量指标以及相应的指标值;
伸缩条件判断单元,与所述度量指标值解析单元和数据存储装置连接,用于判断各个度量指标的指标值是否满足执行伸缩操作需满足的指标条件;所述指标条件包括:度量指标的指标值超过指标阈值、指标值超过指标阈值的度量指标个数超过预设指标个数;
伸缩操作执行单元,与所述伸缩条件判断单元连接,用于根据判断结果,执行相应的伸缩操作;
所述系统还包括:数据自定义装置,所述数据自定义装置包括:
日志采集配置信息自定义单元,与所述数据存储装置连接,用于接收自定义设置的日志采集配置信息,并存储至所述数据存储装置;
日志指标查询信息自定义单元,与所述数据存储装置连接,用于接收自定义设置的日志指标查询信息,并存储至所述数据存储装置;
伸缩规则信息自定义单元,与所述数据存储装置连接,用于接收自定义设置的伸缩规则信息,并存储至所述数据存储装置;
所述日志采集装置包括:
日志采集参数解析单元,与所述数据存储装置连接,用于根据所述日志采集配置信息,解析得到日志采集参数信息;
日志采集引擎单元,与所述日志采集参数解析单元连接,用于根据所述日志采集参数信息,采集所述目标应用的日志信息。
7.如权利要求6所述的系统,其特征在于,所述系统还包括:数据存储装置,与所述日志采集装置、日志解析装置和所述伸缩操作执行装置分别连接,用于存储所述日志采集装置采集日志所需的日志采集配置信息、所述日志解析装置根据日志信息解析度量指标信息所需的日志指标查询信息、所述伸缩操作执行装置执行伸缩操作所需的伸缩规则信息,以及所述伸缩操作执行装置每次执行伸缩操作的执行结果。
8.如权利要求6所述的系统,其特征在于,所述日志解析装置包括:
日志指标搜索参数解析单元,与所述数据存储装置连接,用于根据所述日志指标查询信息,解析得到日志解析规则;
日志指标搜索引擎单元,与所述日志指标搜索参数解析单元连接,用于根据所述日志解析规则,对所述日志信息进行解析,得到所述目标应用的度量指标信息。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一所述的云平台自动伸缩方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至5任一所述云平台自动伸缩方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910078911.9A CN109815092B (zh) | 2019-01-28 | 2019-01-28 | 云平台自动伸缩方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910078911.9A CN109815092B (zh) | 2019-01-28 | 2019-01-28 | 云平台自动伸缩方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109815092A CN109815092A (zh) | 2019-05-28 |
CN109815092B true CN109815092B (zh) | 2023-01-24 |
Family
ID=66605399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910078911.9A Active CN109815092B (zh) | 2019-01-28 | 2019-01-28 | 云平台自动伸缩方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109815092B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110543355A (zh) * | 2019-09-06 | 2019-12-06 | 无锡华云数据技术服务有限公司 | 一种自动均衡云平台资源的方法 |
CN111025925A (zh) * | 2019-12-05 | 2020-04-17 | 重庆特斯联智慧科技股份有限公司 | 一种基于云计算的智能家居配备系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9300552B2 (en) * | 2013-12-16 | 2016-03-29 | International Business Machines Corporation | Scaling a cloud infrastructure |
CN106293868A (zh) * | 2015-05-15 | 2017-01-04 | 苏宁云商集团股份有限公司 | 一种云计算环境中虚拟机扩缩容方法及扩缩容系统 |
WO2017214986A1 (zh) * | 2016-06-17 | 2017-12-21 | 华为技术有限公司 | 一种云应用伸缩方法及装置 |
CN107977252A (zh) * | 2016-10-21 | 2018-05-01 | 中兴通讯股份有限公司 | 一种云平台业务的缩容方法、装置及云平台 |
-
2019
- 2019-01-28 CN CN201910078911.9A patent/CN109815092B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109815092A (zh) | 2019-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107145489B (zh) | 一种基于云平台的客户端应用的信息统计方法和装置 | |
US7568028B2 (en) | Bottleneck detection system, measurement object server, bottleneck detection method and program | |
US20170085621A1 (en) | Estimating latency of an application | |
US20180065575A1 (en) | Monitoring method and apparatus | |
WO2017114152A1 (zh) | 一种业务拨测方法、装置以及系统 | |
US20160226736A1 (en) | Service call graphs for website performance | |
CN109815092B (zh) | 云平台自动伸缩方法及系统 | |
US10411969B2 (en) | Backend resource costs for online service offerings | |
KR20190081306A (ko) | 빅데이터 분석 소프트웨어에 대한 자원 할당 방법, 상기 방법을 이용하는 가상화 자원 할당 장치 | |
US20160225042A1 (en) | Determining a cost of an application programming interface | |
CN111124830B (zh) | 一种微服务的监控方法及装置 | |
CN111045911B (zh) | 性能测试方法、性能测试装置、存储介质与电子设备 | |
CN109560989A (zh) | 一种链路监控系统 | |
US20160080267A1 (en) | Monitoring device, server, monitoring system, monitoring method and program recording medium | |
CN114265758A (zh) | 基于软硬件一体化架构的全链路监控方法及装置 | |
CN109062769B (zh) | It系统性能风险趋势预测的方法、装置和设备 | |
CN108038036A (zh) | 应用系统性能监控方法、装置、设备及计算机存储介质 | |
CN105471938B (zh) | 服务器负载管理方法及装置 | |
CN106648722B (zh) | 基于大数据的Flume接收端数据处理方法和装置 | |
CN112000548A (zh) | 大数据组件的监测方法、装置及电子设备 | |
US20160225043A1 (en) | Determining a cost of an application | |
CN107870921B (zh) | 一种日志数据处理方法及装置 | |
CN104135525B (zh) | 云平台elb组件的资源扩展方法和装置 | |
CN107291743B (zh) | 数据的调用方法和装置 | |
CN110928750B (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 |