论坛首页 Java企业应用论坛

Hyperic监控不完全指南(二)--插件进阶

浏览 2375 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-08-17  

1.      Hyperic插件

Hyperic是插件式的。

从层次模块划分:配置(product plugin),服务发现(detector),数据收集也称为monitorcollector, measurement),事件跟踪(track),报警,处理(control)UI(HQU)

从功能模块划分:JMX, ScriptSQL QuerySNMP等插件,往往一个功能模块包含多个层次。

从业务模块划分:tomcatmysql

 

我们开发插件主要会集中在服务发现,数据收集,处理,UI上。目前script我们主要是通过nagios实现。

 

开发插件的两种方式:

1.      Hyperic已有的插件基础上,只关心自己的监控逻辑(比如Mbeansql scriptSNMP)实现,不关心hyperic插件的接口实现,只自定义了某种插件的一部分。

2.      实现hyperic的接口,用代码实现一个完整的hyperic插件。

 

ServerDetector

用来发现serverservice。我们一般要插件化的都是serverservice resourceHyperic分为三个层级的资源,platform(物理服务器,操作系统,如windowslinux),server(如tomcatmysqljvm等),service(具体的资源服务,如缓存的大小)。



 

我们可以在控制台上将资源进行归类分组,

(1)     方便观察,同种类型的服务要观察的逻辑往往是一致的。

(2)     方便监控,如同组的某个服务失败认为这组服务整体就是有问题的

(3)     方便处理,同时处理整个组的服务

(4)     方便授权,定位相关责任人。某组服务是哪个小组负责开发的。

归类归组我们可以定义applicationmixed 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=

  • 大小: 18.6 KB
  • 大小: 22.2 KB
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics