Hyperic 如何部署和管理插件

 Hyperic 提供插件管理和部署功能,可保证所有代理使用同一种插件向Hyperic服务器提交监控数据。主要功能包括:

■ 插件管理接口。 插件管理器提供插件的部署管理的交互界面。用户可以使用插件管理器部署和管理插件。

■服务器-代理的插件同步(SAPS),代理及其服务器协作保证代理和服务器之间的插件是相同的。

对于版本的要求:

SAPS进程要求Hyperic Agent和 Hyperic Server的版本必须一致,或 Hyperic Agent的版本比Hyperic Server的新。插件管理器会显示有多少Agent是同步的。如果Agent过时,将显示需要升级。

插件管理器  通过主界面 Hyperic的“管理”-》“插件管理器”  访问。

插件管理任务

如果Hyperic server是启用的,用户可使用插件管理器管理和部署插件。提供两个功能:

■ 部署和更新定制的插件。如果用户开发了自己的插件,或者定制了一个内置的插件,使用插件管理器可上传和部署新插件。用户使用插件管理器部署的插件将部署到Hyperic Server之外的一个目录,因此不会在Hyperic Server升级过程中覆盖。

■删除插件。出于优化Hyperic性能的考虑,应尽量减少Hyperic Agent占用的内存,这需要删除一些不必要的插件。只需使用插件管理器的一个命令,即可删除指定的插件。

资源插件部署的目录

在Hyperic Server上有两个插件部署目录:

■标准目录:ServerHome/hq-engine/hq-server/webapps/ROOT/WEB_INF/hq-plugins/ 该目录存放随Hyperic安装包发布的插件.

■定制插件:user.dir/hq-plugins 该目录存放定制插件或内置插件的客户化版本。插件管理器将插件部署到该目录下的子目录中。用户可通过配置 server.plugin.custom.dir 属性改变存放的目录。

在Hyperic Agent,所有插件都存放在AgentHome/bundles/agent-x.y.z/pdk/plugins/ 目录中.

启动时同步插件

服务器端和客户端的插件有可能会变得不同步。这往往是由于手工添加或删除插件导致的。

Hyperic Server每次启动时,以及Hyperic agent每次启动时,会检测插件是否一致匹配。(实际上Hyperic Server实在启动后5分钟时开始检测)。如果检测到不匹配,服务器会更新代理。

代理启动时同步插件

当Hyperic代理启动时,将加载插件目录中的插件,向Hyperic Server发送报告,包括每个插件的MD5校验和。

当Hyperic 服务器收到插件的状态报告后,将与服务器上插件的校验和相比较。如果不一样:

■如果代理加载的同名MD5校验和与服务器上不一样,服务器将向代理推送服务器上版本的插件。

■如果代理未加载该插件,服务器也向代理推送服务器版本的插件。

■如果代理上加载了该插件,而服务器上没有加载,那么服务器将删除代理上的插件。

如果服务器增加或删除了代理的服务器,服务器将重启代理。

服务器启动时同步插件

当Hyepric 服务器启动并加载目录中的插件后,将与代理最新发来的插件状态报告中的MD5校验和相比较。如果不一致,服务器将通过推送或删除的方式,使得代理的插件与服务器插件保持一致。

如果服务器增加或删除了代理的服务器,服务器将重启代理。

禁用服务器-代理插件同步

SAPS默认是启用的,如要禁用,需在 ServerHome/conf/hq-server.conf 文件中配置:

server.pluginsync.enabled=false