开源监控软件 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 需要重启,(如果不采用插件管理器方式部署)