开源监控软件 Hyperic 的两种插件
开源监控工具 Hyperic 提供两种插件,用户交互插件和资源插件。不过到当前的5.8版本,在官方的文档上只剩下了资源插件。
用户交互(HQU)插件
HQU是一个Hyperic HQ的插件框架,允许自定义用户插入的界面,它将会与Hyperic HQ各个方面交互。所有HQU插件都有与整个HQ后端的交互能力,并具有一个快速开发的API。插件是用Groovy写的,一个类似于Java语法的脚本语言。 Groovy能够运行在JVM并能与普通的Java类和库完全交互。HQ许多插件都是在HQU框架内开发的,例如,事件中心,警报中心,Systems Down, Groovy控制台, HQ Health和LiveExec视图都是HQU插件。
HQU设计模式
Model 模型:表示HQ数据和访问/更新的规则;包括HQ Groovy API:提供插件视图,JSON,XML所需的数据
View 视图:GSP
Control 控制:Groovy脚本
目录结构
ROOT/hqu /plugin 插件名称 /app控制文件 /etc本地化文件 /lib非HQ的jar文件 /public 其他HTML,CSS,Image /views GSP /templates 重用
部署目录
拷贝HQU 插件到 TOMCAT_HOME/webapps/ROOT/hqu
HQU 内部流程图
资源插件
Hyperic 管理插件是Hyperic HQ与网络上想要管理的产品之间的接口。Hyperic管理插件分为标准插件和客户化插件。Hyperic依靠它的标准插件可以检测到几百种产品,但也可以开发客户化插件扩展HQ还没覆盖到的产品的功能。
资源插件的功能包括自动发现,监测,采集数据,控制,事件管理,不能用于报警,报表等服务器端功能。
服务端和客户端的插件角色
客户端:自动发现,采集数据,控制;
服务器端:资源类型和Inventory模型,资源类型的配置模式,数据展示,帮助,控制的定义;
Hyperic提供的支持类简化插件开发类型
Scripting :qmail, Sendmail, Sybase
SNMP: Squid, Cisco IOS
JMX: JBoss, WLS, WAS, ActiveMQ, Jetty
JDBC MySQL, PostgreSQL, Oracle
Win-Perf Counters IIS, Exchange, DS, .NET
SIGAR System, Process, Netstat
Net Protocols HTTP, FTP, SMTP…
Vendor Citrix, DB2, VMware
资源插件的部署
部署在 Hyperic Server 和 Hyperic Agent
版本必须一致
HQ Server 支持热部署,不必重启服务器
HQ Agent 需要重启,(如果不采用插件管理器方式部署)