Hyperic HQ架构概述
Hyperic HQ是一个基于Java的软件资源监测和管理平台。体系结构的关键要素是HQ Server,可用于集中管理和持久性存储,以及HQ Agent,提供了对每个监测平台基础地监测和控制。
1.HQ Agent
HQ Agent可以运行在想要使用Hyperic HQ管理的每一台机器上。在第一次启动时,agent自动发现机器上运行的软件,并定期重新扫描配置的更改。HQ agent收集可用性,利用率,性能和吞吐量等度量参数数据;执行日志和事件跟踪,并允许您进行软件控制动作,例如启动和停止Web和应用服务器。agent将它们收集到的inventory数据和指标发送到中央HQ Server。
agent的资源插件框架是提供特定资源功能的基础。对每个被管理的资源类型的监测和控制功能都是由插件提供。HQ Agent带有70余个资源插件。附加插件由Hyperic公司和Hyperic社区使用Hyperic插件开发包(PDK)创建。
2.HQ Server和HQ 数据库
HQ Server接收来自HQ Agent的inventory和度量数据,并把它存放在HQ 数据库中。该服务器提供管理软件inventory的设施,它实现了HQ inventory和访问模型,用有效的方法将软件资产分组,以减轻监控和管理。
HQ Server检测到警报发生时,执行定义好的通知或升级流程。它也处理一些从用户界面或Hyperic HQ的web服务API启动操作。该服务器利用内部引擎或外部认证服务提供认证服务。
HQ Server有一个内置的JBoss服务器以及一个内置的PostgreSQL数据库用于小型或评估部署。对于生产部署,HQ Server支持外部的MySQL,Oracle或PostgreSQL数据库。
3.HQ用户界面
Hyperic HQ拥有丰富的,基于AJAX的Web用户界面。其主页是HQ Dashboard,软件inventory变化,资源问题,最近警报,重要的资源指标图表的网页概览页面。在Dashboard(仪表板)之外是选项卡式浏览清单的视图,查看和可视化指标,以及管理监控和预警逻辑。
Hyperic HQ用户界面,可以使用Hyperic的HQU框架来扩展,如下所述。
4.HQ可扩展性和自动化工具插件和插件框架
Hyperic插件是以.jar或.xml文件格式发布的,可以在服务器和代理上进行部署。可以通过安装插件来增强从特定应用程序或服务收集信息的能力,通过插件定位和增加一个新监控目录以及控制动作来控制特殊资源。Hyperic网站提供关于插件发展的全面文档。开发和添加一个新插件似乎是一个更复杂的工作。Hyperic HQ提供的框架给出了高级APIs,通过APIs,插件可以在多种平台上查询信息。例如,在Windows上,Hyperic HQ提供一些类,插件可以使用这些类来访问Windows特殊数据和函数。这些函数提供对性能信息、注册数据、事件日志信息和服务控制管理器(SCM)的有效访问。Hyperic HQ还支持基于脚本的简单插件,用这样的插件来制定特殊的度量规则。甚至是个人脚本或是Nagios脚本都可以被Hyperic HQ服务器和代理引入并配置使用。
以下这些工具用于扩展和定制HQ功能:
(1)插件开发工具包(PDK)提供了目前HQ不支持的现成的管理资源基本的类来构建资源插件,插件可以是Java,JMX的SNMP或基于脚本。
(2)HQU框架提供了开发扩展插件的基架。扩展插件可以扩展HQ的用户界面,自动化通常执行的流程,并实现与其他管理系统的Web服务接口。
(3)HQ API是一个Web服务API,它提供了所有HQ 服务器数据和功能的编程入口。