logo好方法网

一种云计算环境下智能agent管理系统


技术摘要:
本发明公开了一种云计算环境下智能agent管理系统,属于云计算,本发明要解决的技术问题为如何能够较为可靠方便的动态安装管理以及配置各类agent,采用的技术方案为:该系统包括管理端Manager、执行端updater、消息队列MQ和仓库;管理端Manager将任务发送到消息队列MQ中  全部
背景技术:
云计算以及云计算的服务以高扩展、高灵活的资源分配方式,吸引了世界上的各 类厂商、个人以及组织由传统的物理机服务纷纷转向云上服务。云时代的按需使用、动态扩 展、高可靠以及共享资源成为了云计算的核心特性,这些特性一方面需要虚拟化技术、容器 技术等提供底层的资源管理的支撑,另外一方面云平台中的各类智能agent提供的监控告 警日志采集等功能,为云计算的高可靠、动态资源的伸缩提供了数据上的支撑。然而云平台 中运行的agent类型繁多,数量庞大,对其安装、升级、配置的更改是十分繁琐,同时管理也 非常繁琐复杂,存在以下问题: (一)agent的类型较多,现有云平台存在如mysql服务监控agent,云主机监控 agent,docker容器的日志采集agent等,种类繁多,作用各不相同; (二)云平台对于agent的安装升级配置的场景需求较为复杂,无法提供一个统一 的agent以及配置;各类agent需要运行在不同类型的环境中,不同的操作系统中;各类服务 的agent的配置变更需求也不尽相同; (三)云平台内存在大量的agent,可能需要面对单个租户升级其agent,也可能需 要平台大规模的升级agent,而这种升级对平台压力太大并且升级的过程难以控制; (四)用户自定义的agent难以通过平台自动的部署运行以及维护。 上述问题导致了智能agent成为了当前云平台上的管理的软肋。故如何能够较为 可靠方便的动态安装管理以及配置各类agent是目前亟待解决的技术问题。
技术实现要素:
本发明的技术任务是提供一种云计算环境下智能agent管理系统,来解决如何能 够较为可靠方便的动态安装管理以及配置各类agent的问题。 本发明的技术任务是按以下方式实现的,一种云计算环境下智能agent管理系统, 该系统包括管理端Manager、执行端updater、消息队列MQ和仓库;管理端Manager将任务发 送到消息队列MQ中,同时将各类型服务对应的agent上传并存储到仓库中;执行端updater 运行在需要管理agent的宿主机中,周期性的监听消息队列MQ中的队列,获取消息队列MQ中 的记录并生成配置文件并执行记录中的命令,再根据生成的配置文件运行该agent。 作为优选,所述管理端Manager的工作过程如下: S1、根据云平台中记录的agent的IP地址集信息IPs={ip1,ip2,...ipn},建立任务 树TaskTree; S2、接受租户对单个agent或是某个IP范围内的agent的操作命令,查找到目标叶 子节点; S3、管理端Manager根据任务规则修改任务树中的对应叶子节点的信息; 5 CN 111600753 A 说 明 书 2/5 页 S4、将具体任务发送到消息队列MQ中。 更优地,所述任务树TaskTree包括树的根节点root和非叶子节点;其中,树的根节 点root为虚拟节点无数据信息;非叶子节点拥有四层,表示agent的IP地址层次关系。 更优地,所述非叶子节点的数据模型包括firstChild字段、data字段、parent字段 和nextSibling字段; 其中,firstChild字段表示该节点的第一个孩子节点;data字段表示ip段;parent 字段表示当前节点的父节点;nextSibling字段为兄弟节点。 更优地,所述叶子节点存储具体的agent的运行信息;叶子节点信息中记录该 agent的任务信息以及最近相邻节点的链接;叶子节点的数据模型包括data字段、parent字 段和next字段; 其中,data字段表示ip段;parent字段表示当前节点的父节点;next字段表示最近 相邻节点,即next节点;next节点记录相邻最近IP地址的节点的链接,通过该记录信息完成 对agent的范围查找。 更优地,所述data中为具体的任务信息以JSON方式存储,具体内容如下: 其中,CMD表示执行端updater需要执行的操作,CMD的值包括upgrade、install和 reconfig;upgrade表示升级agent;install表示安装agent;reconfig表示配置文件的重新 生成; IP表示目标agent运行的宿主机的IP地址; Version表示执行端updater管理的agent的目标版本; ConfigFile表示agent运行需要的模板文件的地址; Type表示执行端updater管理的agent的类型,如为云平台mysql服务的监控agent 或是云主机的日志收集agent; Option表示agent运行模板中需要的参数。 更优地,所述步骤S3中管理端Manager根据任务规则修改任务树中的对应叶子节 点的信息具体如下: S301、管理端Manager根据租户的具体变更请求,生成对应的IP匹配规则regex(如 目标IP需要匹配10.1.2.*); S302、根据任务树TaskTree查找到第一个符合匹配规则的叶子节点; S303、修改叶子节点对应的任务信息; 6 CN 111600753 A 说 明 书 3/5 页 S304、根据叶子节点的next字段,匹配下一个叶子节点,直到相邻的叶子节点的ip 地址不满足匹配规则为止。 更优地,所述管理端Manager包括listener模块,listener模块的工作过程如下: (1)、listener模块监听每个叶子节点的记录变化之后,将叶子节点的记录加入到 任务队列queue中; (2)、listener模块执行任务队列queue中的任务; (3)、判断任务数是否达到阈值λ或时间阈值Timeout: ①、若是,则执行步骤(4); ②、若否,则跳转至步骤(2); (4)、listener模块取出任务i对应的任务记录Task,加载任务记录Task中的模板 文件以及运行参数生成配置文件,并将配置文件发送到消息队列MQ中,配置文件在消息队 列MQ中队列的名字为mq_queue_name(i)=MD5(ip(i));其中,ip(i)表示任务i中的记录的 ip地址。 作为优选,所述执行端updater周期性的监听消息队列MQ中的队列,目标队列为 mq_queue_name(i)=MD5(ip(i));其中,参数ip表示宿主机的ip地址;执行端updater执行 消息队列MQ的任务记录中的CDM命令,如记录中的CMD为install,则updater会根据自身的 系统类型System、消息记录中的Type、Version信息到agent仓库中下载对应的agent其名字 为{System}-{Type}-{Version}。 作为优选,所述仓库用于存储各个类型服务对应的agent,agent的命名规则如下: {System}-{Type}-{Version}; 其中,System表示系统信息如linux32,windows64;Type表示agent的服务类型,如 mysql服务,日志log服务;Version表示agent的版本。 本发明的云计算环境下智能agent管理系统具有以下优点: (一)本发明能够较为可靠方便的动态安装管理以及配置各类agent,并提供云平 台中agent的安装升级配置变更的功能; (二)本发明的管理端Manager通过对agent的IP地址匹配规则进行分区的修改,大 大减轻大规模agent升级对云平台造成的压力,同时满足租户对单一agent的管理需求; (三)本发明支持租户自定义的agent部署安装以及配置的更改,租户修改agent配 置或是安装agent可通过任务树查找到满足规则的叶子节点,再修改其对应的配置信息, listener模块监听到节点配置修改之后,将其加入到任务队列当中。 附图说明 下面结合附图对本发明进一步说明。 附图1为云计算环境下智能agent管理系统的结构框图; 附图2为任务树TaskTree的示意图。
下载此资料需消耗2积分,
分享到:
收藏