1. Hyperic插件
Hyperic是插件式的。
从层次模块划分:配置(product plugin),服务发现(detector),数据收集也称为monitor(collector, measurement),事件跟踪(track),报警,处理(control),UI(HQU)。
从功能模块划分:JMX, Script,SQL Query,SNMP等插件,往往一个功能模块包含多个层次。
从业务模块划分:tomcat,mysql等
我们开发插件主要会集中在服务发现,数据收集,处理,UI上。目前script我们主要是通过nagios实现。
开发插件的两种方式:
1. 在Hyperic已有的插件基础上,只关心自己的监控逻辑(比如Mbean,sql, script,SNMP)实现,不关心hyperic插件的接口实现,只自定义了某种插件的一部分。
2. 实现hyperic的接口,用代码实现一个完整的hyperic插件。
ServerDetector
用来发现server和service。我们一般要插件化的都是server和service resource。Hyperic分为三个层级的资源,platform(物理服务器,操作系统,如windows,linux),server(如tomcat,mysql,jvm等),service(具体的资源服务,如缓存的大小)。
我们可以在控制台上将资源进行归类分组,
(1) 方便观察,同种类型的服务要观察的逻辑往往是一致的。
(2) 方便监控,如同组的某个服务失败认为这组服务整体就是有问题的
(3) 方便处理,同时处理整个组的服务
(4) 方便授权,定位相关责任人。某组服务是哪个小组负责开发的。
归类归组我们可以定义application和mixed group
MeasurementPlugin
MeasurementPlugin负责监控数据的收集,收集的数据如果出现异常,和警告配置不符,就会报警。
我们自定义measurementplugin主要会实现两个方法。
String translate(String template, ConfigResponse config)
getValue(Metric metric)
|
String translate(String template, ConfigResponse config)
解析配置的template模板
getValue(Metric metric)
由plugin descriptor组装的metric对象获取对应metric的值。
2. 插件开发步骤
(1) 设计自己的监控服务,需要监控哪些数据,以哪种类型的图表展示。
(2) 开发自己的监控插件
(3) 配置plugin descriptor
(4) 测试plugin
目录:/home/hyperic/agent-4.5.1/bundles/agent-4.5.1/pdk/lib
java -jar hq-pdk-4.5.1.jar -p testMbean -m metric Availability -Dmetric-collect=default -Dmetric-indicator=true -Dmetric-cat=AVAILABILITY -Dmetric-iter=3000 -Djmx.url=service:jmx:rmi:///jndi/rmi://192.168.3.60:8849/jmxrmi -Djmx.username= -Djmx.password=
(1) Deploy plugin
创建一个hq-plugins目录。
Hq-server端
创建完hq-plugins目录后,需要重启,但之后添加新的plugin jar和xml描述符不需要再重启了,hq-server会自动load。
HQ-Agent端
目前,HQ-Agent还不支持热部署,需要重启agent。
1. SIGAR PTQL
Hyerpic Sigar有一套进程表查询语法,用于发现运行的进程。Sigar ptql可以用来发现进程,从而发现server和service。一般一个进程对应于一个server。
<server name="My Single Process Server">
<property name="PROC_QUERY" value="State.Name.eq=myprocess"/>
<config>
<option
default="State.Name.eq=myprocess"
name="process.query"
description="Process Query for singleprocess">
</option>
</config>
<plugin type="autoinventory" class="org.hyperic.hq.product.DaemonDetector" />
|
详见:http://support.hyperic.com/display/SIGAR/PTQL
|
- 大小: 18.6 KB
- 大小: 22.2 KB
分享到:
相关推荐
标题中的"hyperic-sigar-1.6.4.zip"是一个软件工具包,它主要用于监控和收集服务器的各种系统性能指标。SIGAR(System Information Gatherer and Reporter)是Hyperic公司开发的一个跨平台的系统管理库,它允许...
首先,"hyperic-sigar-1.6.4.jar"是Sigar库的主要组成部分,它包含了各种平台下的本地库(如"sigar-amd64-winnt.dll"),这些本地库允许Java应用程序通过JNI(Java Native Interface)调用操作系统级别的接口来获取...
可以收集的信息 CPU信息:包括基本信息(vendor、model、mhz、cacheSize)和统计信息(user、sys、idle、nice、wait) 文件系统信息:包括Filesystem、Size、Used、Avail、Use%、Type 事件信息:类似Service ...
在`hyperic-sigar-1.6.4`这个压缩包中,通常包含以下内容: 1. `lib`目录:存放不同平台的库文件,如`.dll`(Windows)、`.so`(Linux)、`.dylib`(Mac OS X)等,这些都是与平台相关的动态链接库,供应用程序调用...
java 获取服务器内存使用情况、cpu运行情况、使用效率等等硬件指标,所需的jar包、dll文件工具
Hyperic-Sigar是一个收集系统各项底层信息的工具集.他有如下特点: 1. 收集信息全面 收集CPU,MEM,NETWORK,PROCESS,IOSTAT等 使用Sigar,你完全可以模仿出cpuinfo,meminfo,top,free,ifconfig,ipconfig,netstat,route,df...
- 使用文件传输工具将 Hyperic HQ 的安装包 `hyperic-hq-agent-x86-64-linux-5.8.0(1).tar.gz` 上传到服务器。 ```bash rz hyperic-hq-agent-x86-64-linux-5.8.0(1).tar.gz ``` **3. 解压缩安装包** - 将上传...
在Windows平台上,Hyperic Agent的安装包通常以`.zip`格式提供,如`hyperic-hq-agent-3.1.4-EE-504-win32.zip`所示。安装过程涉及解压缩、设置环境变量及配置代理与HQ服务器的通信参数。 **步骤1:解压缩安装包** ...
### Hyperic HQ安装配置指南(第一部分)知识点详解 #### 一、安装要求 Hyperic HQ的安装配置涉及多个方面,主要包括服务器、数据库和代理的要求。 ##### 1.1 HQ服务器要求 - **HQ Server JRE要求**:Hyperic HQ...
《深入理解Hyperic Sigar:跨平台系统度量库》 ...通过"hyperic-sigar-1.6.2"提供的库文件,开发者可以在Windows和Linux系统上无缝地实现系统监控和管理功能,极大地提高了开发效率和系统管理的便利性。
hyperic-sigar-1.6.4包 sigar-1.6.4.jar sigar-1.6.4-sources.jar sigar在Linux和Windows下使用java语言获得各种系统信息所需要的包;使用方法
### Hyperic HQ 系统安装指南 #### 一、简介 Hyperic HQ 是一款功能强大的开源 IT 资源管理平台,它支持多种操作系统、Web 服务器、应用服务器、数据库及消息中间件等的监控与管理。通过 Hyperic HQ,用户能够对...
在Hyperic Mule Plugin中,`README.txt`文件通常包含了插件的安装指南、使用说明以及可能遇到的问题和解决方案,是用户快速上手的重要参考资料。`mule-cpl-plugin.xml`文件则是该插件的核心配置文件,它定义了插件...
在“hyperic-sigar-1.6.4.rar”这个压缩包中,包含了Sigar库的不同版本,用于支持不同的操作系统,如Windows下的dll动态链接库文件和Linux下的so共享对象文件。 Sigar库提供了丰富的API,允许开发者轻松获取系统级...
hyperic-sigar实现操作系统CPU、内存等系统资源监控
Hyperic Sigar(System Information Gatherer and Reporter)是一款强大的跨平台系统管理工具,它提供了丰富的API,用于收集和监控各种操作系统级别的信息,如CPU使用率、内存状态、网络接口统计、磁盘I/O等。...