JMX使用总结

原创 2006年06月02日 17:06:00

  JMX(Java Management Extensions)是一套基于Java技术的网管系统解决方案的规范。JMX为网管系统定义了一整套体系结构和设计模式用于实现各类管理操作,而JDMK是JMX的第一个商业化产品,它是JMX(Java Management extensions)的一个实现,它提供了通过Java应用程序来管理Java对象的一个框架。使用JMX的优点:
1>增强系统的可配性:不对该系统进行重启的情况下,修改的配置文件即可生效。例如连接数据库的配置和日志信息级别的配置
2>可以实现对新增模块的动态加载
3>使应用程序模块化,并可替换或移除正在运行程序中的模块
4>可对程序中的一些操作或者变量进行监控-告警

JMX

<一>对Instrumentation层中4种类型的MBean分别做一说明:

1>Standard MBean
由MBean接口和实现该接口的类组成。MBean接口中包含欲通过远程客户端让管理员看到的变量和可操作的方法
2>Dynamic MBean
由一个实现DynamicMBean接口的类组成。欲通过远程客户端让管理员看到的变量和操作的方法可以直接在这个类中进行声明,无需为此专门再写一个MBean接口。这样的话,可进行远程操作的方法可以根据需要进行动态的配置
    类中需要实现的有如下几个部分:
    MBeanInfo 最终实现的一个对象,这个类构造函数的参数中包含下面其它所有部分返回的数组
    MBeanOperationInfo 初始化可供管理员进行远程操作的方法
    MBeanConstructorInfo
    MBeanParameterInfo
    MBeanAttributeInfo 初始化可供管理员进行查看的变量
    MBeanNotificationInfo 初始化需要监听的变量和操作
3>Model MBean
由RequiredModelMBean、Model MBean Metadata和Target Object(s)组成。其中Model MBean Metadata可由xml配置文件进行初始化。由于Model MBean的实现是继承了Dynamic MBean,所以Model MBean的实现方法类似于Dynamic MBean,结构也类似于Dynamic MBean。
注:1.xml文件的加载可以使用adventnet公司xmojo.jar包中的Utilities.convertXmlToModelMBeanInfo("ServerInfo.xml")方法进行加载
    2.由于在运行的时候经常出现找不到类的情况,在引入类名时尽量包含路径,如com.neu.mbean.xmodel.ServerInfo

<二>对Agent层中包含的三种Service(在程序中可实现监控-告警)分别做一说明:

1>Timer Service
在如下情况发生告警:
  1.在指定的时间只告警一次
  2.在一个指定的时间范围内反复告警
2>Monitor Service
在如下情况发生告警:
  1.在指定的触发事件发生之后告警
  2.在对指定属性进行监测的时候发生错误之后告警
包含三种类型的Monitor:
  a.Counter Monitor 当被监测变量的值>=指定的值时进行告警
  b.Gauge Monitor 当被监测变量的值>=指定的最大值或者<=指定的最小值时进行告警
  c.String Monitor 当被监测字符串和指定的字符串匹配或者不匹配的时候进行告警
3>M-Let Service
允许将远程获取的一个或者多个MBean注册到MBean Server,这个MBean的远程路径和一些所需的其它配置都包含在一个M-Let文件中

在现有管理系统中添加JMX的解决方案(不使用JMX自带的HtmlAdaptorServer,而是通过在现有管理系统中增添一个新页面来实现对MBean的管理):
1>在Servlet初始化方法中建立MBeanServer,并注册所需的MBean,如下:
  MBeanServer server = MBeanServerFactory.createMBeanServer("Local");
  ObjectName ob_name = new ObjectName("MBeanInfo","name","SimpleStandard");
  server.createMBean("org.webjmx.example.SimpleStandard",ob_name);
  ObjectName ob_name = new ObjectName("MBeanInfo", "name", "SimpleDynamic");
  server.createMBean("org.webjmx.example.SimpleDynamic", ob_name);
2>管理界面通过开源项目webjmx(实现了可以很方便的编写管理MBean的管理界面的jmx标签)来实现,如下:
  <jmx:getMBeanServer id="server" attribute="locator"/>
  <jmx:getFeatureByName id="attribute" name="attrs" featureName="State"/>
  <jmx:getFeatureByName id="operation" name="mbi" property="operations" featureName="reset"/>
详细介绍可参考webjmx包中自带的一个example

参考:http://www.xmojo.org/products/xmojo/docs/index_no_frames.html

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

JMX配置与使用

  • 2016-01-02 11:57
  • 571KB
  • 下载

zabbix监控多实例tomcat--不使用JMX

用zabbix监控tomcat,网上搜索大部分都是通过配置JMX端口来进行监控。这个方法对只有一个tomcat的情况支持的还是不错的。 此文章针对同一主机多tomcat实例的情况

使用JMX搭建WebLogic9监控软件

使用JMX搭建WebLogic9监控软件 因笔者工作需要,监控多台weblogic服务器,当服务器的状态不正常时进行邮件通知。 根据需求的情况,决定使用WebLogic的JMX功能。 一...

使用JMX监控Tomcat

1,什么是JMX        JMX是一种JAVA的正式规范,它主要目的是让程序有被管理的功能,那么怎么理解所谓的“被管理”呢?试想你开发了一个软件(如WEB网站),它是在24小时不间断运行的,那...

(转)使用 JMX 管理 Apache Geronimo

Apache Geronimo 构建在一个支持 JMX 框架的通用反向控制 (IoC) 内核之上,它监管称为 Geronimo Beans (GBeans) 的托管组件的集合。Geronimo 是以 ...

使用JMX监控Tomcat

一、激活Tomcat的JMX远程配置 要通过JMX远程监控Tomcat,首先需要激活Tomcat的JMX远程配置。 ① 先修改Tomcat的启动脚本,windows下为bin/ca...

使用JMX搭建WebLogic9监控软件(二)

使用JMX搭建WebLogic9监控软件(二) 程序实现下面提供了部分代码的节选。 1.提供JMXWebLogicHelper作为获取连接的工具。 public class ...

Tomcat7中的JMX使用(二)Dynamic MBean

如上一篇文章所见Standard MBean在Tomcat的例子并不多,在jconsole中所看到的大量MBean(如Catalina下的Connector、Engine、Server、Service...

使用jmx监控weblogic启用iiop协议

使用jmx监控weblogic服务器。建一个java工程,引入weblogic.jar到工程里面。 package com.tst.idc.weblogic; import java.io.IOE...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)