一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于Agent的智能化管理方法、装置、设备及存储介质与流程

2022-07-13 16:53:42 来源:中国专利 TAG:

基于agent的智能化管理方法、装置、设备及存储介质
技术领域
1.本公开涉及管理agent管理技术领域,具体涉及一种基于agent的智能化管理方法、装置、设备及存储介质。


背景技术:

2.目前agent技术正发挥着越来越重要的作用,对agent的管理工作,例如服务器代理,都是由运维人员统一登录到服务器端,通过执行脚本命令进行人工手动运维操作,缺乏统一的管理工具进行大规模批量的操作导致效率低下且容易误操作,并且可能由于各别agent代码不规范,缺乏统一的监控等情况造成资源抢占等导致服务器cpu、磁盘等异常等影响到业务系统的正常运行。
3.因此需要提供一种基于agent的智能化管理工具,从而提高运维管理水平和运维管理效率。


技术实现要素:

4.为了解决上述技术问题,本公开实施例提供了一种基于agent的智能化管理方法、装置、设备及存储介质,能够提升agent管理的运维管理水平和运维管理效率。
5.根据本公开的第一方面,提供了一种基于agent的智能化管理方法,所述基于agent的智能化管理方法在节点设备侧包括以下步骤:
6.获取待安装的至少一个节点的预设信息,基于所述预设信息执行所述节点对应的管理工具及至少一个agent的安装,在所述安装完成后采集节点安装信息;
7.向服务端发送所述节点安装信息,以使得所述服务端完成所述节点的注册;
8.接收来自所述服务端的任务通知,基于所述任务通知向所述服务端发送任务数据读取请求;
9.获取至少一个第一目标agent的任务数据,基于所述任务数据执行对应的任务脚本命令,以使得所述至少一个第一目标agent执行与所述任务数据对应的配置操作,并获取所述配置操作的执行状态;以及
10.将所述执行状态信息发送至所述服务端,使得服务端基于所述执行状态信息对所述至少一个目标agent的状态进行更新。
11.在一种可选的实施方式中,所述获取待安装的至少一个节点的预设信息,基于所述预设信息执行所述节点对应的管理工具及至少一个agent的安装,包括:
12.获取基于待安装的至少一个节点的系统平台信息确定的工具安装指令及所述待安装的至少一个节点的配置信息;
13.基于所述工具安装指令执行所述节点对应的管理工具的安装;以及
14.确认所述管理工具安装完成后,由所述管理工具基于所述配置信息完成所述节点对应的至少一个agent的安装。
15.在一种可选的实施方式中,所述管理工具为管理agent,所述管理agent基于http
协议与所述至少一个agent进行通信,所述方法还包括:
16.所述管理工具采集所述节点对应的至少一个agent的状态信息,基于所述状态信息自主对所述至少一个agent的状态进行动态调整。
17.在一种可选的实施方式中,优选地,所述基于所述状态信息对所述至少一个agent的状态进行动态调整,包括:
18.将每个agent的资源消耗状态信息与对应的预设阈值进行比较,获得第一比较结果,基于所述第一比较结果确定至少一个第二目标agent,对所述第二目标agent进行挂起操作,其中,所述至少一个agent包括所述第二目标agent;和/或
19.基于所述节点对应的所述至少一个agent的总体资源消耗信息与预设范围进行比较,获得第二比较结果,基于所述第二比较结果以及所述至少一个agent的优先级排序确定至少一个第三目标agent以及对所述第三目标agent的资源消耗状态进行动态调整,其中,所述至少一个agent包括所述第三目标agent。
20.在一种可选的实施方式中,所述获取至少一个第一目标agent的任务数据,包括:
21.获取任务标识信息、至少一个第一目标agent的标识信息、类型信息。
22.在一种可选的实施方式中,优选地,所述类型信息包括以下至少之一:安装任务、卸载任务和升级任务;
23.所述基于所述任务数据执行对应的任务脚本,以使得所述至少一个第一目标agent执行与所述任务数据对应的配置操作,包括:
24.所述管理工具获得所述安装任务的任务数据后,校验当前任务数据对应的安装包是否能够在当前系统平台中运行;为所述至少一个agent中的每个agent分配一个预定的工作目录,作为agent的标识信息;将所述安装包解压到所述工作目录中,并执行agent启动命令;和/或
25.所述管理工具获得所述卸载任务的任务数据后,解析获取所述第一目标agent的标识信息;获取所述第一目标agent的当前工作状态,若所述第一目标agent当前处于运行中则将所述第一目标agent停止;直接对所述第一目标agent的配置文件进行操作,删除所述第一目标agent的所述工作目录;和/或
26.所述管理工具获得所述升级任务的任务数据后,将所述任务数据对应的升级命令中携带当前的安装包的版本信息、系统平台类型和cpu架构进行校验,确定当前的安装包是否能够安装到当前的所述第一目标agent中,若确定当前的安装包能够安装到当前的所述第一目标agent中,则直接对所述第一目标agent的配置文件进行修改,并执行所述第一目标agent的重启命令,以执行升级命令。
27.根据本公开的第二方面,提供了一种基于agent的智能化管理方法,包括,在服务端:
28.接收待配置的节点设备的地址信息以及至少一个第一目标agent的任务数据,并执行地址信息拼接操作;
29.将拼接后的所述地址信息及所述任务数据存入缓存数据库,并将所述拼接后的所述地址信息及所述任务数据插入关系型数据库中,使得消息中间件发送任务通知至所述地址信息对应的节点设备;
30.接收所述节点设备的任务数据读取请求,读取所述缓存数据库中的所述任务数
据,并将所述任务数据发送至所述节点设备;以及
31.接收所述节点设备的执行状态信息,基于所述执行状态信息对所述关系型数据库中的至少一个目标agent的状态进行更新。
32.根据本公开的第三方面,提供了一种基于agent的智能化管理方法,包括,在客户端:
33.接收待配置的节点设备的地址信息以及至少一个第一目标agent的任务数据;
34.发送所述地址信息以及至少一个第一目标agent的任务数据至如权利要求7所述的服务端;
35.其中,所述客户端与所述服务端的通信通过b/s架构实现,所述客户端支持对所述节点设备的远程配置操作和/或本地配置操作。
36.根据本公开的第四方面,提供了一种基于agent的智能化管理方法,所述智能化管理方法包括:
37.客户端接收待配置的节点设备的地址信息以及至少一个第一目标agent的任务数据,发送所述地址信息以及至少一个第一目标agent的任务数据至服务端;
38.所述服务端接收所述待配置的节点设备的地址信息以及至少一个第一目标agent的任务数据,并执行地址信息拼接操作;所述服务端将拼接后的所述地址信息及所述任务数据存入缓存数据库,并将所述拼接后的所述地址信息及所述任务数据插入关系型数据库中,使得消息中间件发送任务通知至所述地址信息对应的节点设备;
39.所述节点设备接收来自所述服务端的任务通知,基于所述任务通知向所述服务端发送任务数据读取请求;
40.所述服务端接收所述节点设备的任务数据读取请求,读取所述缓存数据库中的所述任务数据,并将所述任务数据发送至所述节点设备;
41.所述节点设备获取至少一个第一目标agent的任务数据,基于所述任务数据执行对应的任务脚本命令,以使得所述至少一个第一目标agent执行与所述任务数据对应的配置操作,并获取所述配置操作的执行状态;以及
42.将所述执行状态信息发送至所述服务端,所述服务端基于所述执行状态信息对所述关系型数据库中的至少一个目标agent的状态进行更新。
43.根据本公开的第五方面,提供了一种基于agent的智能化管理装置,用于节点设备,所述装置包括:
44.安装单元,用于获取待安装的至少一个节点的预设信息,基于所述预设信息执行所述节点对应的管理工具及至少一个agent的安装,在所述安装完成后采集节点安装信息;
45.注册单元,用于向服务端发送所述节点安装信息,以使得所述服务端完成所述节点的注册;
46.数据请求单元,用于接收来自所述服务端的任务通知,基于所述任务通知向所述服务端发送任务数据读取请求;
47.数据获取单元,用于获取至少一个第一目标agent的任务数据,基于所述任务数据执行对应的任务脚本命令,以使得所述至少一个第一目标agent执行与所述任务数据对应的配置操作,并获取所述配置操作的执行状态;以及
48.数据发送单元,用于将所述执行状态信息发送至所述服务端,使得服务端基于所
述执行状态信息对所述至少一个目标agent的状态进行更新。
49.在一种可选的实施方式中,所述安装单元包括:
50.获取子单元,用于获取基于待安装的至少一个节点的系统平台信息确定的工具安装指令及所述待安装的至少一个节点的配置信息;
51.执行子单元,用于基于所述工具安装指令执行所述节点对应的管理工具的安装;以及
52.确认子单元,用于确认所述管理工具安装完成后,由所述管理工具基于所述配置信息完成所述节点对应的至少一个agent的安装。
53.在一种可选的实施方式中,所述装置还包括:
54.动态调整单元,用于所述管理工具采集所述节点对应的至少一个agent的状态信息,基于所述状态信息自主对所述至少一个agent的状态进行动态调整。
55.在一种可选的实施方式中,所述动态调整单元包括:
56.第一比较子单元,用于将每个agent的资源消耗状态信息与对应的预设阈值进行比较,获得第一比较结果,基于所述第一比较结果确定至少一个第二目标agent,对所述第二目标agent进行挂起操作,其中,所述至少一个agent包括所述第二目标agent;和/或
57.第二比较子单元,用于基于所述节点对应的所述至少一个agent的总体资源消耗信息与预设范围进行比较,获得第二比较结果,基于所述第二比较结果以及所述至少一个agent的优先级排序确定至少一个第三目标agent以及对所述第三目标agent的资源消耗状态进行动态调整,其中,所述至少一个agent包括所述第三目标agent。
58.在一种可选的实施方式中,所述数据获取单元包括:
59.信息获取子单元,用于获取任务标识信息、至少一个第一目标agent的标识信息、类型信息。
60.在一种可选的实施方式中,所述信息获取子单元包括:
61.安装任务子单元,用于:所述管理工具获得所述安装任务的任务数据后,校验当前任务数据对应的安装包是否能够在当前系统平台中运行;为所述至少一个agent中的每个agent分配一个预定的工作目录,作为agent的标识信息;将所述安装包解压到所述工作目录中,并执行agent启动命令;和/或
62.卸载任务子单元,用于:所述管理工具获得所述卸载任务的任务数据后,解析获取所述第一目标agent的标识信息;获取所述第一目标agent的当前工作状态,若所述第一目标agent当前处于运行中则将所述第一目标agent停止;直接对所述第一目标agent的配置文件进行操作,删除所述第一目标agent的所述工作目录;和/或
63.升级任务子单元,用于:所述管理工具获得所述升级任务的任务数据后,将所述任务数据对应的升级命令中携带当前的安装包的版本信息、系统平台类型和cpu架构进行校验,确定当前的安装包是否能够安装到当前的所述第一目标agent中,若确定当前的安装包能够安装到当前的所述第一目标agent中,则直接对所述第一目标agent的配置文件进行修改,并执行所述第一目标agent的重启命令,以执行升级命令。
64.根据本公开的第六方面,提供了一种基于agent的智能化管理装置,用于服务端,包括:
65.信息拼接单元,用于接收待配置的节点设备的地址信息以及至少一个第一目标
agent的任务数据,并执行地址信息拼接操作;
66.任务通知单元,用于将拼接后的所述地址信息及所述任务数据存入缓存数据库,并将所述拼接后的所述地址信息及所述任务数据插入关系型数据库中,使得消息中间件发送任务通知至所述地址信息对应的节点设备;
67.任务发送单元,用于接收所述节点设备的任务数据读取请求,读取所述缓存数据库中的所述任务数据,并将所述任务数据发送至所述节点设备;以及
68.状态更新单元,用于接收所述节点设备的执行状态信息,基于所述执行状态信息对所述关系型数据库中的至少一个目标agent的状态进行更新。
69.根据本公开的第七方面,提供了一种基于agent的智能化管理装置,用于客户端,包括:
70.数据接收单元,用于接收待配置的节点设备的地址信息以及至少一个第一目标agent的任务数据;
71.信息发送单元,用于发送所述地址信息以及至少一个第一目标agent的任务数据至前述第六方面所述的服务端;
72.其中,所述客户端与所述服务端的通信通过b/s架构实现,所述客户端支持对所述节点设备的远程配置操作和/或本地配置操作。
73.根据本公开的第八方面,提供了一种基于agent的智能化管理装置,用于基于agent的智能化管理系统,包括:
74.客户端接收发送单元,用于客户端接收待配置的节点设备的地址信息以及至少一个第一目标agent的任务数据,发送所述地址信息以及至少一个第一目标agent的任务数据至服务端;
75.服务端接收发送单元,用于所述服务端接收所述待配置的节点设备的地址信息以及至少一个第一目标agent的任务数据,并执行地址信息拼接操作;所述服务端将拼接后的所述地址信息及所述任务数据存入缓存数据库,并将所述拼接后的所述地址信息及所述任务数据插入关系型数据库中,使得消息中间件发送任务通知至所述地址信息对应的节点设备;
76.节点数据请求单元,用于所述节点设备接收来自所述服务端的任务通知,基于所述任务通知向所述服务端发送任务数据读取请求;
77.服务器数据读取单元,用于所述服务端接收所述节点设备的任务数据读取请求,读取所述缓存数据库中的所述任务数据,并将所述任务数据发送至所述节点设备;
78.节点数据获取单元,用于所述节点设备获取至少一个第一目标agent的任务数据,基于所述任务数据执行对应的任务脚本命令,以使得所述至少一个第一目标agent执行与所述任务数据对应的配置操作,并获取所述配置操作的执行状态;以及
79.状态信息发送更新单元,用于将所述执行状态信息发送至所述服务端,所述服务端基于所述执行状态信息对所述关系型数据库中的至少一个目标agent的状态进行更新。
80.根据本公开的第九方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现上述所述的方法。
81.根据本公开的第十方面,提供了一种基于agent的智能化管理设备,所述智能化管
理设备包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述所述的方法。
82.本公开上述实施例的方案至少包括以下有益效果:
83.本公开针对统一管理在it行业普遍存在的在服务器端大量部署agent的情况,提供了一种基于agent的智能化管理方法,每个节点设备上管理工具和节点运行功能的agent一起安装部署,通过基于agent的智能化的管理工具的自治性,自主地来对所有安装的agent进行统一部署、监控以及运维操作等,通过工具实现动态调整来保证agent的正常运行,最终提高运维管理水平和运维管理效率。
84.下面结合附图对本公开作进一步的说明。
附图说明
85.图1a为本公开实施例的一种可以适用于基于agent的智能化管理方法的系统架构示意图;
86.图1b为本公开一个实施例的基于agent的智能化管理方法的流程示意图:
87.图2为本公开一种基于agent的基于agent的智能化管理工具的安装流程图:
88.图3为本公开一种基于agent的智能化管理工具的agent的管理流程图;
89.图4为本公开一种基于agent的智能化管理工具的智能化管理工具管理流程图;
90.图5为本公开一种基于agent的智能化管理工具的资源消耗详情监控页面;
91.图6为本公开一种基于agent的智能化管理工具的熔断保护设置页面;
92.图7为本公开一种基于agent的智能化管理工具的agent管理示意图;
93.图8为本公开实施例提供的又一种基于agent的智能化管理装置的结构示意图;
94.图9为本公开实施例提供的一种基于agent的智能化管理设备的结构示意图。
具体实施方式
95.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
96.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
97.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
98.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
99.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
100.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
101.本公开实施例提供的一种基于agent的智能化管理工具,通过提供一款标准化的工具,实现对部署在服务器端的管理工具agent进行统一规范的调度和管理,利用管理工具agent的自治性,自主地来对所有安装的agent进行统一部署、监控以及运维操作等,通过工具实现动态调整来保证agent的正常运行,最终提高运维管理水平和运维管理效率。
102.图1a示意性示出了根据本公开实施例的可以应用于基于agent的智能化管理方法的示例性系统架构100。需要注意的是,图1a所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
103.如图1a所示,根据该实施例的系统架构100可以包括节点设备101、102、103,网络104、服务器105以及客户端106、107、108。网络104用以在终端设备101、102、103和服务器105、以及服务器105和客户端106、107、108之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
104.节点设备101、102、103上可以安装管理工具agent及根据需要配置的功能运行agent,其中,管理工具agent与各功能运行agent相互连接,并自治的对各功能运行agent进行管理。
105.具体的,本实施例中节点设备通过选择需要使用的agent插件,通过和管理工具一起安装部署,本实施例的智能化管理工具agentdaemon作为管理大脑和中枢,会统一收集依赖管理工具安装部署的各agent状态,并统一反馈状态到管理工具的控制平台,对所有agent进行统一启动、停止、升级、卸载等运维操作。
106.本实施例的智能化管理工具agentdaemon的安装、卸载以及升级agent的实现具体为:agentdaemon获得agent安装命令以后先校验当前包是否能够在当前系统中运行,然后为agent分配一个固定的工作目录,该工作目录名称作为该agent的唯一标识,最后安装包解压到当前工作目录中,并执行启动命令;agentdaemon获得agent卸载命令后会解析出agent的唯一标识,再获取当前agent的工作状态,如果处于运行中就将agent停止,然后删除agent工作目录;agentdaemon获得agent升级命令后,升级命令中携带当前包的版本信息、系统类型、cpu架构等供daemon来进行校验当前包是否能够安装到当前的agent中。
107.本实施例的智能化管理工具agentdaemon控制agent的配置文件具体为:agentdaemon可以直接操作各个agent的配置文件;当前情况当配置文件修改以后,agentdaemon可以直接通过agent的重启命令来实现配置文件的生效;agentdaemon控制agent的实现主要通过agent的脚本命令来实现。
108.本实施例的智能化管理工具agentdaemon会通过http协议与agent进行通信:可以实时返回任务创建的结果;agent可以占用127.0.0.1的某一端口。
109.用户可以使用客户端106、107、108通过网络104与服务器105交互,以接收或发送消息等。客户端106、107、108可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
110.服务器105可以是提供各种服务的服务器,例如对用户利用客户端106、107、108所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户
请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
111.应该理解,图1a中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
112.如图1b所示,本公开一个实施例的基于agent的智能化管理方法,包括:
113.客户端接收待配置的节点设备的地址信息以及至少一个第一目标agent的任务数据,发送所述地址信息以及至少一个第一目标agent的任务数据至服务端;
114.所述服务端接收所述待配置的节点设备的地址信息以及至少一个第一目标agent的任务数据,并执行地址信息拼接操作;所述服务端将拼接后的所述地址信息及所述任务数据存入缓存数据库(本实施例中可以是redis缓存数据库),并将所述拼接后的所述地址信息及所述任务数据插入关系型数据库中,使得消息中间件发送任务通知至所述地址信息对应的节点设备;
115.所述节点设备接收来自所述服务端的任务通知,基于所述任务通知向所述服务端发送任务数据读取请求;
116.所述服务端接收所述节点设备的任务数据读取请求,读取所述缓存数据库中的所述任务数据,并将所述任务数据发送至所述节点设备;
117.所述节点设备获取至少一个第一目标agent的任务数据,基于所述任务数据执行对应的任务脚本命令,以使得所述至少一个第一目标agent执行与所述任务数据对应的配置操作,并获取所述配置操作的执行状态;以及
118.将所述执行状态信息发送至所述服务端,所述服务端基于所述执行状态信息对所述关系型数据库中的至少一个目标agent的状态进行更新。
119.以agentdaemon及agent所在的节点设备作为执行主体为例,本实施例基于agent的智能化管理方法包括以下步骤:节点设备侧获取待安装的至少一个节点的预设信息(本实施例中预设信息可以是ip地址、应用平台的系统信息等),基于所述预设信息执行所述节点对应的管理工具及至少一个agent的安装,在所述安装完成后采集节点安装信息(在一个较佳的实施例中可以是获取待安装的至少一个agent的应用平台,基于所述应用平台确定相应的工具安装指令;基于所述工具安装指令完成注册及管理工具安装);向服务端发送所述节点安装信息,以使得所述服务端完成所述节点的注册;接收来自所述服务端的任务通知,基于所述任务通知向所述服务端发送任务数据读取请求;获取至少一个第一目标agent的任务数据,基于所述任务数据执行对应的任务脚本命令,以使得所述至少一个第一目标agent执行与所述任务数据对应的配置操作,并获取所述配置操作的执行状态;将所述执行状态信息发送至所述服务端,使得服务端基于所述执行状态信息对所述至少一个目标agent的状态进行更新。需要说明的是,本实施例中,当任务为安装任务时,第一目标agent不包括于所述至少一个agent(已安装的agent)中,当任务为卸载或升级时,第一目标agent包括于所述至少一个agent中。
120.其中,获取待安装的至少一个节点的预设信息,基于所述预设信息执行所述节点对应的管理工具及至少一个agent的安装,包括:获取基于待安装的至少一个节点的系统平台信息确定的工具安装指令及所述待安装的至少一个节点的配置信息;基于所述工具安装指令执行所述节点对应的管理工具的安装;以及确认所述管理工具安装完成后,由所述管
理工具基于所述配置信息完成所述节点对应的至少一个agent的安装。
121.所述管理工具为管理agent,所述管理agent基于http协议与所述至少一个agent进行通信所述方法还包括:所述管理工具采集所述节点对应的至少一个agent的状态信息,基于所述状态信息自主对所述至少一个agent的状态进行动态调整。本实施例中,由于管理agent具有自治性,可以对节点设备上安装的agent进行自主管理,动态调整资源分配。
122.进一步地,所述基于所述状态信息对所述至少一个agent的状态进行动态调整,包括:将每个agent的资源消耗状态信息与对应的预设阈值进行比较,获得第一比较结果,基于所述第一比较结果确定至少一个第二目标agent,对所述第二目标agent进行挂起操作,其中,所述至少一个agent包括所述第二目标agent(其中,第二目标agent即节点设备上资源消耗状态超过预设阈值的agent);和/或基于所述节点对应的所述至少一个agent的总体资源消耗信息与预设范围进行比较,获得第二比较结果,基于所述第二比较结果以及所述至少一个agent的优先级排序确定至少一个第三目标agent以及对所述目标agent第三的资源消耗状态进行动态调整,其中,所述至少一个agent包括所述第三目标agent。其中,动态调整操作可以是,在资源不足的情况下,优先保证高优先级的agent的运行,调整低优先级的agent的资源占比,本公开的一个实施例中,总体资源消耗超出预设范围时,管理agent可以在每个第三目标agent对应的允许调整范围内进行动态调整。
123.所述获取至少一个第一目标agent的任务数据(示例性的,图7所示的实施例中,任务数据包括:1.task_id、2.agent_instance_id、3.type、4.operate),包括:获取任务标识信息、至少一个第一目标agent的标识信息(本公开的一个实施例中,进行agent安装的时候不会下发agent的标识信息,而是安装后自动生成agent的标识信息)、类型信息,所述类型信息包括以下至少之一:安装任务、卸载任务和升级任务;所述基于所述任务数据执行对应的任务脚本,以使得所述至少一个第一目标agent执行与所述任务数据对应的配置操作,包括:所述管理工具获得所述安装任务的任务数据后,校验当前任务数据对应的安装包是否能够在当前系统平台中运行;为所述至少一个agent中的每个agent分配一个预定的工作目录,作为agent的标识信息(本公开的一个实施例中,安装时生成agent的标识信息);将所述安装包解压到所述工作目录中,并执行agent启动命令;和/或所述管理工具获得所述卸载任务的任务数据后,解析获取所述第一目标agent的标识信息;获取所述第一目标agent的当前工作状态,若所述第一目标agent当前处于运行中则将所述第一目标agent停止;直接对所述第一目标agent的配置文件进行操作,删除所述第一目标agent的所述工作目录;和/或所述管理工具获得所述升级任务的任务数据后,将所述任务数据对应的升级命令中携带当前的安装包的版本信息、系统平台类型和cpu架构进行校验,确定当前的安装包是否能够安装到当前的所述第一目标agent中,若确定当前的安装包能够安装到当前的所述第一目标agent中,则直接对所述第一目标agent的配置文件进行修改,并执行所述第一目标agent的重启命令,以执行升级命令。
124.根据本公开的实施例,在服务端基于agent的智能化管理方法的方法包括:接收待配置的节点设备的地址信息以及至少一个第一目标agent的任务数据,并执行地址信息拼接操作;将拼接后的所述地址信息及所述任务数据存入缓存数据库(本实施例中缓存数据库可以是redis),并将所述拼接后的所述地址信息及所述任务数据插入关系型数据库中,使得消息中间件发送任务通知至所述地址信息对应的节点设备;接收所述节点设备的任务
数据读取请求,读取所述缓存数据库中的所述任务数据,并将所述任务数据发送至所述节点设备;以及接收所述节点设备的执行状态信息,基于所述执行状态信息对所述关系型数据库(本实施例中关系型数据库可以是硬盘中的数据库)中的至少一个目标agent的状态进行更新。
125.进一步地,在客户端:接收待配置的节点设备的地址信息以及至少一个第一目标agent的任务数据;发送所述地址信息以及至少一个第一目标agent的任务数据至服务端;其中,所述客户端与所述服务端的通信通过b/s架构实现,所述客户端支持对所述节点设备的远程配置操作和/或本地配置操作。所述智能化管理方法包括:客户端接收待配置的节点设备的地址信息以及至少一个第一目标agent的任务数据,发送所述地址信息以及至少一个第一目标agent的任务数据至服务端;所述服务端接收所述待配置的节点设备的地址信息以及至少一个第一目标agent的任务数据,并执行地址信息拼接操作;所述服务端将拼接后的所述地址信息及所述任务数据存入缓存数据库,并将所述拼接后的所述地址信息及所述任务数据插入关系型数据库中,使得消息中间件发送任务通知至所述地址信息对应的节点设备;所述节点设备接收来自所述服务端的任务通知,基于所述任务通知向所述服务端发送任务数据读取请求;所述服务端接收所述节点设备的任务数据读取请求,读取所述缓存数据库中的所述任务数据,并将所述任务数据发送至所述节点设备;所述节点设备获取至少一个第一目标agent的任务数据,基于所述任务数据执行对应的任务脚本命令,以使得所述至少一个第一目标agent执行与所述任务数据对应的配置操作,并获取所述配置操作的执行状态;以及将所述执行状态信息发送至所述服务端,所述服务端基于所述执行状态信息对所述关系型数据库中的至少一个目标agent的状态进行更新。
126.结合图2、图3,图2为本公开一种基于agent的基于agent的智能化管理方法、装置、设备及存储介质中管理工具的安装流程图:图3为本公开一种基于agent的智能化管理方法、装置、设备及存储介质的agent的管理流程图;;图2具体过程为:点击开始后安装daemon,安装agent,检查是否安装成功,没有安装成功则继续执行安装agent,安装成功的话,启动agent,然后修改参数,重启agent,至结束,若不需要修改参数可以停止agent至结束,重启agent后也可以直接执行停止agent至结束;若需要卸载停止agent至结束,安装成功以后可以直接点击卸载agent至结束;安装成功后需要升降级选择升级或者降级后,启动agent,重复之前启动agent的操作。图3的具体流程为:agent manager拉取心跳信息后,遍历所有的agent工作目录,遍历完以后,向采控平台上报心跳信息后结束;若没有遍历完,则判断当前目录下的agent工作状态,若当前目录下的agent为启动状态的话,根据配置文件获取到当前的ip地址以及端口号,判断是否获取agent信息,根据唯一标识判断agent是否已经存在,如果不存在则根据唯一标识创建对应的agent信息,如果存在的话更新心跳时间,重新返回之前遍历所有的agent工作目录,重复之前操作;若当前目录下的agent未启动的话,返回遍历所有的agent工作目录,重复之前的操作。
127.示例性地,现有的某集团客户内部it系统,内部共有服务器接近上万台,因为服务器隶属于各个业务集团,所以开发运维人员出于自己业务的需要,在服务器端分别部署了属于自己业务部门的agent用户辅助采集信息,但是因为缺乏有效监管,导致agent抢占资源的情况经常发生,导致服务器宕机等异常情况,影响业务的正常运行。通过使用本公开实施例的技术,操作人员只需要“一键式”部署管理工具,各个节点设备可以通过管理工具
agent对功能运行agent进行自治管理,从而实现动态配置资源。参照图4-图6,图4为本公开一种基于agent的智能化管理方法、装置、设备及存储介质的智能化管理工具管理流程图;
128.图5为本公开一种基于agent的智能化管理方法、装置、设备及存储介质的资源消耗详情监控页面;图6为本公开一种基于agent的智能化管理方法、装置、设备及存储介质的熔断保护设置页面;之后整个agent的运行都在管理工具的监管下运行,不仅方便了业务人员统一监控;也方便了运维工程师人员统一的安装部署,既提高了工作效率,又保证了业务安全。
129.图6中的参数具体设置为:将主机cpu使用率、主机内存使用率、以及主机分区磁盘使用率都设置为大于等于80%,选择对应的熔断规则名称、操作系统以及适配的agent,从而完成基于agent的智能化管理工具的熔断保护设置
130.图7为本公开一种基于agent的智能化管理方法、装置、设备及存储介质的agent管理示意图,其中agent任务下发模块设于客户端,任务数据拼接模块设于server端(服务端),数据插入模块设于server端;节点端包括管理工具daemon模块及至少一个agent模块,其中,数据管理模块设于daemon模块,用户在客户端下发agent任务到server端,server端拼接任务数据后存入redis,并向数据库插入数据,daemon模块向server端拉取任务后,server端读取redis任务数据并且将返回任务数据至daemon模块,agent执行agent任务,执行结束后将返回执行状态传至daemon模块,daemon模块将返回状态更新至数据库,客户端轮训server获取执行结果至server端,server端返回执行状态至客户端;daemon模块可以通过各个agent的脚本命令来获取其状态;本实施例的智能化管理工具daemon模块会通过agent的配置文件来加载其对应的http服务的url。
131.本实施例一种基于agent的智能化管理工具,通过和管理工具一起安装部署,有效对部署在服务器端的agent做统一运维管理,通过对agent的统一安装、部署、升级、卸载和启停动控制,至少整体提高安装部署的效率50%以上,并且通过对agent资源消耗的收集,及时进行熔断保护,100%保证不会因为agent资源消耗的异常导致服务器宕机等情况,有效的对业务和服务器进行了保障。
132.图8为本公开实施例提供的一种基于agent的智能化管理装置的结构示意图,其中,所述智能化管理装置包括:
133.安装单元,用于获取待安装的至少一个节点的预设信息,基于所述预设信息执行所述节点对应的管理工具及至少一个agent的安装,在所述安装完成后采集节点安装信息;
134.注册单元,用于向服务端发送所述节点安装信息,以使得所述服务端完成所述节点的注册;
135.数据请求单元,用于接收来自所述服务端的任务通知,基于所述任务通知向所述服务端发送任务数据读取请求;
136.数据获取单元,用于获取至少一个第一目标agent的任务数据,基于所述任务数据执行对应的任务脚本命令,以使得所述至少一个第一目标agent执行与所述任务数据对应的配置操作,并获取所述配置操作的执行状态;以及
137.数据发送单元,用于将所述执行状态信息发送至所述服务端,使得服务端基于所述执行状态信息对所述至少一个目标agent的状态进行更新。
138.进一步的,所述安装单元包括:
139.获取子单元,用于获取基于待安装的至少一个节点的系统平台信息确定的工具安装指令及所述待安装的至少一个节点的配置信息;
140.执行子单元,用于基于所述工具安装指令执行所述节点对应的管理工具的安装;以及
141.确认子单元,用于确认所述管理工具安装完成后,由所述管理工具基于所述配置信息完成所述节点对应的至少一个agent的安装。
142.进一步的,所述装置还包括:
143.动态调整单元,用于所述管理工具采集所述节点对应的至少一个agent的状态信息,基于所述状态信息自主对所述至少一个agent的状态进行动态调整。
144.进一步的,所述动态调整单元包括:
145.第一比较子单元,用于将每个agent的资源消耗状态信息与对应的预设阈值进行比较,获得第一比较结果,基于所述第一比较结果确定至少一个第二目标agent,对所述第二目标agent进行挂起操作,其中,所述至少一个agent包括所述第二目标agent;和/或
146.第二比较子单元,用于基于所述节点对应的所述至少一个agent的总体资源消耗信息与预设范围进行比较,获得第二比较结果,基于所述第二比较结果以及所述至少一个agent的优先级排序确定至少一个第三目标agent以及对所述第三目标agent的资源消耗状态进行动态调整,其中,所述至少一个agent包括所述第三目标agent。
147.进一步的,所述数据获取单元包括:
148.信息获取子单元,用于获取任务标识信息、至少一个第一目标agent的标识信息、类型信息。
149.进一步的,所述信息获取子单元包括:
150.安装任务子单元,用于所述管理工具获得所述安装任务的任务数据后,校验当前任务数据对应的安装包是否能够在当前系统平台中运行;为所述至少一个agent中的每个agent分配一个预定的工作目录,作为agent的标识信息;将所述安装包解压到所述工作目录中,并执行agent启动命令;和/或
151.卸载任务子单元,用于所述管理工具获得所述卸载任务的任务数据后,解析获取所述第一目标agent的标识信息;获取所述第一目标agent的当前工作状态,若所述第一目标agent当前处于运行中则将所述第一目标agent停止;直接对所述第一目标agent的配置文件进行操作,删除所述第一目标agent的所述工作目录;和/或
152.升级任务子单元,用于所述管理工具获得所述升级任务的任务数据后,将所述任务数据对应的升级命令中携带当前的安装包的版本信息、系统平台类型和cpu架构进行校验,确定当前的安装包是否能够安装到当前的所述第一目标agent中,若确定当前的安装包能够安装到当前的所述第一目标agent中,则直接对所述第一目标agent的配置文件进行修改,并执行所述第一目标agent的重启命令,以执行升级命令。
153.在本公开的另一实施例中,提供了一种基于agent的智能化管理装置,用于服务端,包括:
154.信息拼接单元,用于接收待配置的节点设备的地址信息以及至少一个第一目标agent的任务数据,并执行地址信息拼接操作;
155.任务通知单元,用于将拼接后的所述地址信息及所述任务数据存入缓存数据库,
并将所述拼接后的所述地址信息及所述任务数据插入关系型数据库中,使得消息中间件发送任务通知至所述地址信息对应的节点设备;
156.任务发送单元,用于接收所述节点设备的任务数据读取请求,读取所述缓存数据库中的所述任务数据,并将所述任务数据发送至所述节点设备;以及
157.状态更新单元,用于接收所述节点设备的执行状态信息,基于所述执行状态信息对所述关系型数据库中的至少一个目标agent的状态进行更新。
158.在本公开的又一实施例中,提供了一种基于agent的智能化管理装置,用于客户端,包括:
159.数据接收单元,用于接收待配置的节点设备的地址信息以及至少一个第一目标agent的任务数据;
160.信息发送单元,用于发送所述地址信息以及至少一个第一目标agent的任务数据至前述第六方面所述的服务端;
161.其中,所述客户端与所述服务端的通信通过b/s架构实现,所述客户端支持对所述节点设备的远程配置操作和/或本地配置操作。
162.在本公开的再一实施例中,提供了一种基于agent的智能化管理装置,用于基于agent的智能化管理系统,包括:
163.客户端接收发送单元,用于客户端接收待配置的节点设备的地址信息以及至少一个第一目标agent的任务数据,发送所述地址信息以及至少一个第一目标agent的任务数据至服务端;
164.服务端接收发送单元,用于所述服务端接收所述待配置的节点设备的地址信息以及至少一个第一目标agent的任务数据,并执行地址信息拼接操作;所述服务端将拼接后的所述地址信息及所述任务数据存入缓存数据库,并将所述拼接后的所述地址信息及所述任务数据插入关系型数据库中,使得消息中间件发送任务通知至所述地址信息对应的节点设备;
165.节点数据请求单元,用于所述节点设备接收来自所述服务端的任务通知,基于所述任务通知向所述服务端发送任务数据读取请求;
166.服务器数据读取单元,用于所述服务端接收所述节点设备的任务数据读取请求,读取所述缓存数据库中的所述任务数据,并将所述任务数据发送至所述节点设备;
167.节点数据获取单元,用于所述节点设备获取至少一个第一目标agent的任务数据,基于所述任务数据执行对应的任务脚本命令,以使得所述至少一个第一目标agent执行与所述任务数据对应的配置操作,并获取所述配置操作的执行状态;以及
168.状态信息发送更新单元,用于将所述执行状态信息发送至所述服务端,所述服务端基于所述执行状态信息对所述关系型数据库中的至少一个目标agent的状态进行更新。本公开实施例的智能化管理装置,用来统一管理在it行业普遍存在的在服务器端大量部署agent的情况,通过提供智能化的工具来对所有安装的agent进行统一部署、监控以及运维操作等,通过工具提供的规范化的操作和方法来保证agent的正常运行,最终提高运维管理水平和运维管理效率。
169.图9为本公开一种基于agent的智能化管理方法、装置、设备的智能化管理设备的结构示意图。下面具体参考图9,其示出了适于用来实现本公开实施例中的电子设备900的
结构示意图。本公开实施例中的基于agent的智能化管理900可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图9示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
170.如图9所示,基于agent的智能化管理900可以包括处理装置(例如中央处理器、图形处理器等)901,其可以根据存储在只读存储器(rom)902中的程序或者从存储装置908加载到随机访问存储器(ram)903中的程序而执行各种适当的动作和处理。在ram 903中,还存储有电子设备900操作所需的各种程序和数据。处理装置901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
171.通常,以下装置可以连接至i/o接口905:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置906;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置907;包括例如磁带、硬盘等的存储装置908;以及通信装置909。通信装置909可以允许电子设备900与其他设备进行无线或有线通信以交换数据。虽然图9示出了具有各种装置的电子设备900,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
172.在本公开的又一实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现上述所述的方法。
173.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置909从网络上被下载和安装,或者从存储装置908被安装,或者从rom 902被安装。在该计算机程序被处理装置901执行时,执行本公开实施例的任务调度方法中限定的上述功能。
174.需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述
的任意合适的组合。
175.在一些实施方式中,客户端、服务器可以利用诸如http(hypertext transfer protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
176.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
177.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于客户端的任务拉取请求,发送多个任务数据给所述客户端,其中,所述多个任务数据在所述服务端和所述客户端中顺序排序并存储,每个所述任务数据具有唯一的索引标识;通过调整所述客户端与所述服务端的指针指向位置,执行任务防丢失操作,所述指针包括执行指针和任务指针,所述执行指针指向数据丢失的索引标识,所述任务指针指向连续排序的多个任务数据中最后一个任务数据的索引标识。
178.可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
179.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
180.描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
181.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
182.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可
读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
183.本公开针对统一管理在it行业普遍存在的在服务器端大量部署agent的情况,提供了一种基于agent的智能化管理方法、装置、设备及存储介质,每个节点设备上管理工具和节点运行功能的agent一起安装部署,通过基于agent的智能化的管理工具的自治性,自主地来对所有安装的agent进行统一部署、监控以及运维操作等,通过工具实现动态调整来保证agent的正常运行,最终提高运维管理水平和运维管理效率。
184.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
185.此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
186.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献