资源监控方法、装置、电子设备及存储介质与流程
未命名
10-08
阅读:84
评论:0

1.本技术属于云计算技术领域,尤其涉及一种资源监控方法、装置、电子设备及存储介质。
背景技术:
2.在云计算系统中,越来越多的业务使用虚拟机作为后端业务承载,由于虚拟机受到网络、磁盘、cpu等基础资源的影响,为了避免虚拟机受到相关资源限制达到阈值,引起系统的脑裂、宕机、响应时间延长等问题,需要对后端承载业务的虚拟机进行检测,防止后端资源状态的异常对整体业务有严重影响。
3.由于云计算系统的业务复杂、链路长、网络请求延迟等问题会导致虚拟机状态不可控,可能会出现业务短暂的不可用,因此对资源监控保活任务的执行周期和要求会比较高。
技术实现要素:
4.有鉴于此,本技术旨在提出一种资源监控方法、装置、电子设备及存储介质,以解决由于云计算系统的业务复杂、链路长、网络请求延迟等问题,导致虚拟机状态不可控,甚至会出现业务短暂的不可用的问题。
5.为达到上述目的,本技术的技术方案是这样实现的:
6.本技术提供了一种资源监控方法,所述方法包括:
7.从mysql数据库中获取已注册的待监控服务节点信息;
8.获取监控实例信息和所述待监控服务节点信息,根据预先设定好的监控任务资源分配策略进行资源分配;
9.根据资源分配结果,通过http调用监控接口,并将所述资源分配结果缓存至内存中。
10.进一步地,所述从mysql数据库中获取已注册的待监控服务节点信息,还包括:
11.获取本机信息,并注册写入至mysql数据库中,其中,所述本机信息至少包括本机ip地址和机器名称;
12.初始化监控任务的资源分配模式;
13.注册探测任务,并按照预设时间进行任务轮询。
14.进一步地,所述获取监控实例信息和所述待监控服务节点信息,根据预先设定好的监控任务资源分配策略进行动态资源分配,包括:
15.所述监控任务资源分配策略包括范围分配策略、随机分配策略和平均分配策略;
16.根据所述监控实例信息和所述待监控服务节点信息,动态选择所述范围分配策略、所述随机分配策略和所述平均分配策略;
17.根据选择的分配策略,建立所述监控实例信息和所述待监控服务节点信息的节点关系,以所述节点关系作为资源分配结果。
18.进一步地,所述根据选择分配策略,建立所述监控实例信息和所述待监控服务节点信息的节点关系,以所述节点关系作为资源分配结果,包括:
19.响应于所述范围分配策略,按照实例数量/节点数量得到n,按照实例数量取模节点数量得到m,轮询所述待监控服务节点信息,当前节点分配到的实例数为m%n==0?m/n+1:m/n。
20.进一步地,还包括:
21.响应于所述随机分配算法,轮询所述监控实例信息,按照随机分配一个节点执行监控实例信息的方式,均分所述监控实例信息。
22.进一步地,还包括:
23.响应于平均分配策略,按照实例数量/服务节点数量的方式,均分所述监控实例信息。
24.进一步地,所述根据资源分配结果,通过http调用监控接口,并将所述资源分配结果缓存至内存中,包括:
25.若http调用响应成功,则记录执行日志;
26.若http调用响应失败,改变所述监控实例信息和所述待监控服务节点信息的节点关系,调用本地监控接口后,再记录日志。
27.第二方面,基于同一发明构思,本技术还提供了一种资源监控装置,所述装置包括:
28.获取模块,被配置为从mysql数据库中获取已注册的待监控服务节点信息;
29.资源分配模块,被配置为获取监控实例信息和所述待监控服务节点信息,根据预先设定好的监控任务资源分配策略进行动态资源分配;
30.接口调用模块,被配置为根据资源分配结果,通过http调用监控接口,并将所述资源分配结果缓存至内存中。
31.第三方面,基于同一发明构思,本技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的资源监控方法。
32.第四方面,基于同一发明构思,本技术还提供了一种非暂态计算机可读存储介质,其中,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如第一方面所述的资源监控方法。
33.相对于现有技术,本技术所述的资源监控方法、装置、电子设备及存储介质具有以下有益效果:
34.本技术所述的资源监控方法、装置、电子设备及存储介质,所述方法通过获取已注册的待监控服务节点信息和获取监控实例信息,根据预先设定好的监控任务资源分配策略进行动态资源分配;根据资源分配结果,通过http调用监控接口,本实施例能够针对资源状态、数量和执行情况,灵活调整资源分配策略,降低监控服务的负载,提高监控服务的执行能力。
附图说明
35.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实
施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
36.图1为本技术实施例所述的一种资源监控方法第一流程示意图;
37.图2为本技术实施例所述的一种资源监控方法第二流程示意图;
38.图3为本技术实施例所述的一种资源监控装置结构示意图;
39.图4为本技术实施例所述的电子设备的结构示意图。
具体实施方式
40.为使本技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本技术进一步详细说明。
41.需要说明的是,除非另外定义,本技术实施例使用的技术术语或者科学术语应当为本技术所属领域内具有一般技能的人士所理解的通常意义。本技术实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
42.以下结合附图详细说明本技术的实施例。
43.请参阅图1和图2所示,本技术一个实施例的资源监控方法,包括以下步骤:
44.步骤101、从mysql数据库中获取已注册的待监控服务节点信息。
45.具体地,监控服务启动,获取服务所在机器的ip地址、机器名称等信息,通过insert语句记录到mysql数据库中,初始化监控任务的分配模式,默认为平均分配策略模式,向定时任务注册探测任务,按照每三分钟为周期执行一次轮询,通过select语句,从mysql数据库获取监控服务所在的节点信息(即待监控服务节点信息)。
46.本实施例通过周期监控资源状态,可以进行虚机异常状态恢复,保持业务高可用。
47.步骤102、获取监控实例信息和待监控服务节点信息,根据预先设定好的监控任务资源分配策略进行动态资源分配。
48.具体地,通过调用api或者访问数据库等方式获取监控实例信息和和待监控服务节点信息后,需要根据预先设定好的监控任务资源分配策略进行动态资源分配。具体的实现方式可以通过以下步骤完成:
49.首先需要实现资源分配策略接口,该接口需要定义一个分配资源的方法,该方法需要传入待分配的服务节点列表和监控任务数量,并返回一个资源分配结果对象。
50.对于范围分配策略,按照实例数量/节点数量得到n,按照实例数量取模节点数量得到m,轮询待监控服务节点信息,当前节点分配到的实例数为m%n==0?m/n+1:m/n。
51.对于随机分配算法,轮询监控实例信息,按照随机分配一个节点执行监控实例信息的方式,均分监控实例信息。
52.对于平均分配策略,按照实例数量/服务节点数量的方式,均分监控实例信息。
53.在获取到监控实例信息和待监控服务节点信息之后,需要动态选择范围分配策略、随机分配策略和平均分配策略中的一种进行资源分配。
54.根据业务需求选择合适的资源分配策略,调用资源分配策略接口进行资源分配,获取资源分配结果对象,并将分配结果写入到数据库中,根据资源分配结果对象,向每个服务节点分配对应的监控任务数量。
55.本实施例根据业务类型选择合适的监控策略进行资源分配,并针对资源状态、数量和执行情况,灵活调整分配资源算法,降低监控服务的负载,提高监控服务的执行能力。
56.步骤103、根据资源分配结果,通过http调用监控接口,并将资源分配结果缓存至内存中。
57.具体地根据资源分配结果,判断http调用对用接口是否成功,若调用响应成功,则记录执行日志;若调用响应失败,则改变节点信息与实例的关系,调用本地监控接口,记录日志,任务执行结束。
58.本实施例中,在执行任务时间符合预期的情景下,可以持续保持使用户默认模式(按照资源进行分配)进行探测保活功能,如果超过预期,可以动态调整当前任务的执行模式为按照虚拟机数量进行任务分配,降低执行任务的微服务负载,提高执行效率。
59.本技术所述的资源监控方法通过获取已注册的待监控服务节点信息和获取监控实例信息,根据预先设定好的监控任务资源分配策略进行动态资源分配;根据资源分配结果,通过http调用监控接口,本实施例能够针对资源状态、数量和执行情况,灵活调整资源分配策略,降低监控服务的负载,提高监控服务的执行能力。
60.需要说明的是,上述对本技术的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
61.基于同一发明构思,与上述任意实施例方法相对应的,本技术的实施例还提供了一种资源监控装置。
62.如图3所示,所述资源监控装置,包括:
63.获取模块11,被配置为从mysql数据库中获取已注册的待监控服务节点信息;
64.资源分配模块12,被配置为获取监控实例信息和所述待监控服务节点信息,根据预先设定好的监控任务资源分配策略进行动态资源分配;
65.接口调用模块13,被配置为根据资源分配结果,通过http调用监控接口,并将所述资源分配结果缓存至内存中。
66.为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本技术的实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
67.上述实施例的装置用于实现前述任一实施例中相应的资源监控方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
68.基于同一发明构思,与上述任意实施例方法相对应的,本技术的实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一实施例所述的资源监控方法。
69.图4示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中
处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
70.处理器1010可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
71.存储器1020可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
72.输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
73.通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
74.总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
75.需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
76.上述实施例的电子设备用于实现前述任一实施例中相应的资源监控方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
77.基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的资源监控方法。
78.本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
79.上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的资源监控方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
80.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本技术的范围(包括权利要求)被限于这些例子;在本技术的思路下,以上实施例
或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本技术实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
81.另外,为简化说明和讨论,并且为了不会使本技术实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本技术实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本技术实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本技术的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本技术实施例。因此,这些描述应被认为是说明性的而不是限制性的。
82.尽管已经结合了本技术的具体实施例对本技术进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。
83.本技术实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本技术实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种资源监控方法,其特征在于,所述方法包括:从mysql数据库中获取已注册的待监控服务节点信息;获取监控实例信息和所述待监控服务节点信息,根据预先设定好的监控任务资源分配策略进行动态资源分配;根据资源分配结果,通过http调用监控接口,并将所述资源分配结果缓存至内存中。2.根据权利要求1所述的资源监控方法,其特征在于,所述从mysql数据库中获取已注册的待监控服务节点信息,包括:获取本机信息,并注册写入至mysql数据库中,其中,所述本机信息至少包括本机ip地址和机器名称;初始化监控任务的资源分配模式;注册探测任务,并按照预设时间进行任务轮询。3.根据权利要求1所述的资源监控方法,其特征在于,所述获取监控实例信息和所述待监控服务节点信息,根据预先设定好的监控任务资源分配策略进行动态资源分配,包括:所述监控任务资源分配策略包括范围分配策略、随机分配策略和平均分配策略;根据所述监控实例信息和所述待监控服务节点信息,动态选择所述范围分配策略、所述随机分配策略和所述平均分配策略;根据选择的分配策略,建立所述监控实例信息和所述待监控服务节点信息的节点关系,以所述节点关系作为资源分配结果。4.根据权利要求3所述的资源监控方法,其特征在于,所述根据选择分配策略,建立所述监控实例信息和所述待监控服务节点信息的节点关系,以所述节点关系作为资源分配结果,包括:响应于所述范围分配策略,按照实例数量/节点数量得到n,按照实例数量取模节点数量得到m,轮询所述待监控服务节点信息,当前节点分配到的实例数为m%n==0?m/n+1:m/n。5.根据权利要求4所述的资源监控方法,其特征在于,还包括:响应于所述随机分配算法,轮询所述监控实例信息,按照随机分配一个节点执行监控实例信息的方式,均分所述监控实例信息。6.根据权利要求4所述的资源监控方法,其特征在于,还包括:响应于平均分配策略,按照实例数量/服务节点数量的方式,均分所述监控实例信息。7.根据权利要求4所述的资源监控方法,其特征在于,所述根据资源分配结果,通过http调用监控接口,并将所述资源分配结果缓存至内存中,包括:若http调用响应成功,则记录执行日志;若http调用响应失败,改变所述监控实例信息和所述待监控服务节点信息的节点关系,调用本地监控接口后,再记录日志。8.一种资源监控装置,其特征在于,所述装置包括:获取模块,被配置为从mysql数据库中获取已注册的待监控服务节点信息;资源分配模块,被配置为获取监控实例信息和所述待监控服务节点信息,根据预先设定好的监控任务资源分配策略进行动态资源分配;接口调用模块,被配置为根据资源分配结果,通过http调用监控接口,并将所述资源分
配结果缓存至内存中。9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-7任一项所述的资源监控方法。10.一种非暂态计算机可读存储介质,其特征在于,其中,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1-7任一项所述的资源监控方法。
技术总结
本申请提供了一种资源监控方法、装置、电子设备及存储介质,所述方法包括:从Mysql数据库中获取已注册的待监控服务节点信息;获取监控实例信息和待监控服务节点信息,根据预先设定好的监控任务资源分配策略进行动态资源分配;根据资源分配结果,通过http调用监控接口,并将所述资源分配结果缓存至内存中。本申请所述的资源监控方法能够针对资源状态、数量和执行情况,灵活调整资源分配策略,降低监控服务的负载,提高监控服务的执行能力。提高监控服务的执行能力。提高监控服务的执行能力。
技术研发人员:孙光辉
受保护的技术使用者:紫光云技术有限公司
技术研发日:2023.06.30
技术公布日:2023/10/5
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/