`
constant
  • 浏览: 27668 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。

JMX的前身是JMAPI

JMX致力于解决分布式系统管理的问题,因此,能够适合于各种不同的环境是非常重要的。为了能够利用功能强大的Java计算环境解决这一的问题,Sun公司扩充了Java基础类库,开发了专用的管理类库。

JMX是一种应用编程接口,可扩充对象和方法的集合体,可以用于跨越一系列不同的异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用它提供了用户界面指导、Java类和开发集成系统、网络及网络管理应用的规范。

管理对象是JMX应用程序的核心。JMX结构包括:支持Java的Web浏览器用户接口,管理运行模块ARM(Admin Runtime Module)和应用。这三个部件之间通过RMI(Remote Method Invocation)进行通信。这里需要说明的是,RMI是使得一个Java虚拟机(JVM)上运行的程序可以调用远程服务器上另一个JVM总的对象。

用户接口用来发布管理操作,这些操作可以间接的通过浏览器或通过单独的应用程序来激发。管理运行模块用来给应用提供实例化的管理对象。它包括Agent对象接口,通知接口和被管数据接口。应用指的是那些被管设备单元。

JMX是一个完整的网络管理应用程序开发环境,它同时提供了:厂商需要收集的完整的特性清单,可生成资源清单表格,图形化的用户接口;访问SNMP的网络API;主机间远程过程调用;数据库访问方法。

JMX这一轻型的管理基础结构,价值在于对被管理资源的服务实现了抽象,提供了低层的基本类集合,开发人员在保证大多数的公共管理类的完整性和一致性的前提下,进行扩展以满足特定网络管理应用的需要。

JMX注重于构造管理工具的软件框架,并尽量采用已成熟的技术。

JMX体系被分成三个层次

  • 表现层
  • 代理层
  • 分布式服务层

表现层

表现层定义的是JMX可管理资源所在的层。

这些已管理的资源可以编写或封装为MBean

MBean分为四种类型: 标准、动态、开放、模型

代理层

定义的是MBean向应用程序施加管理的层。包括MBean服务器和代理服务的定义。还至少包括一个协议适配器或连接器。

代理的组成: 。一个MBean服务器 。要管理的MBean 。作为MBean实现的代理服务 。至少一个协议适配器

MBean

在JMX中,最小的可管理单元是MBean。

MBean不是一个真正的接口和类,而是必须准循的设计模式以确保资源是一个兼容的MBean。

MBean的激活方法:

invoke()方法是管理应用程序用于激活MBean的方法的手段。 invoke()方法有三个参数,分别是方法的名称、表示属性的对象数组和描述方法签名的一个字符串数组。它与使用Java Reflection Api 激活方法的方式类似。

Notification(通知)模型:

MBean的通知模型类似与Java事件的监听器模型。 MBean或管理应用程序可以作为MBean事件的监听器注册。 通知支持由两个基本的概念组成,即广播器和监听器。

MBean服务器

MBean服务器用于注册可管理的MBean。

所有对MBean的请求或查询都是通过MBean服务器实施的。

代理服务

代理服务是一些特殊的函数,代理把这些服务提供给MBean,这些代理服务独立于任何MBean。

一个代理可以提供四种主要的服务:

  • 动态装载:允许代理通过下载这个Bean的类动态实例化MBean,这与装载applet的方式类似。

JMX使用m-let这个标记指定期望动态装载的MBean的位置。

  • 监控:允许代理通知有关的监听器监控一个MBean的属性值的变化

JMX允许使用三种基本类型的监控程序 (1)CounterMonitor:该程序可以观察类型方面的变化,比如Byte类似或Integer类型 (2)GaugeMonitor:该程序可以观察类型方面的变化,比如Byte类似或Integer类型,还可以在到达上下阀值时进行报告。 (3)StringMonitor:该程序可以观察java.lang.String类型的变化。

  • 计时器:允许预设的时间间隔发送通知,可以作为一个调度程序
  • 关系:允许创建和维护MBean之间的关系

分布式服务层

包含协议适配器和连接器两种类型的组件,通过它们连接到外部的应用,如RMI管理应用、基于浏览器的管理控制等

协议适配器和连接器

协议适配器是代理与管理客户通信的手段,每个通信的协议都可能不同。

它们都是管理客户与MBean交互的方式。

JMX的好处

  • 可减少对JAVA应用实施管理的投资
  • 提供了一个可伸缩的管理框架
  • 集成现有的管理方案:如:WBEM,SNMP,TMN
  • 使用现有的标准JAVA技术
  • 能使用未来的一些管理概念:如Jini连接技术、通用即插即用、服务定位协议(Service Location Protocol)
  • 只定义了一些可以访问的接口

相关资源:

分享到:
评论

相关推荐

    Hbase和Hadoop JMX监控实战

    Hbase和Hadoop JMX监控实战

    JMX基础知识

    什么是JMX?在一篇网文中是这样说的:"JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架。JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理",这句...

    JMX实战 JMX开发

    JMX实战 书中不仅有对于基础知识的介绍,还有对于JMX开发中重大的体系架构问题的深入探讨,总结了大量JMX开发中的设计模式,并讨论了框架、安全性与性能等等。书中提供了几个典型的例子,兼顾各种开发平台,这些...

    jmx入门

    为什么JMX那么受欢迎,JMX到底有那些优势只得人们去学习和理解,本文从JMX的基本架构、hellowold jmx以及spring对JMX的支持讲起,希望大家能通过本文对JMX有个基础的认识,并能通过本文为今后学习JMX打个基础

    jmx一步步来 jmx快速上手指南

    jmx快速上手 jmx快速上手 jmx快速上手 jmx快速上手

    Fiddler导出jmx文件

    Fiddler导出jmx文件,解决Fiddler导出文件中 没有jmx文件选项,各个版本fiddler都适用

    亲测可用 com.sun.jmx. jmxri-1.2.1.jar

    Description Resource Path Location Type Missing artifact com.sun.jmx:jmxri:jar:1.2.1 pom.xml /eshop-storm line 2 Maven Dependency Problem

    jmx监控tomcat测试包

    catalina-jmx-remote.jar放到tomcat/lib目录下 如果是windows版本,编辑TOMCAT_HOME/bin/catalina.bat,在开头加入下面几行: set CATALINA_OPTS=%CATALINA_OPTS% -Djava.rmi.server.hostname=JMX_HOST set CATALINA...

    JMX SNMP API

    JMX and SNMP This API is a component of the Java Management extensions (JMX), a specification for application and network management. See “Related Information” on page vi for information about the ...

    jmx-jvm配置

    jmx配置

    HDFS namenode主备安装

    最新的hdfs namenode主备安装文档,详细,命令只需要copy执行即可

    JBoss JMX实现架构

    JBoss JMX实现架构 JBoss JMX实现架构

    JMX小例子以及介绍

    JMX小例子以及介绍 JMX小例子以及介绍 JMX小例子以及介绍

    JMX与JMS的概念

    JMX与JMS的概念

    JMX一步一步来,快速学会开发JMX应用

    JMX一步一步来,从最基本的应用开始入手,快速应用开发。

    Jmx实例demo下载

    java实现Jmx实例,jmxdemo项目源码下载

    jmx介绍和使用

    jmx的简单介绍和使用,包含一些简单的代码示例,看完基本能了解jmx并使用。

    通过jmx监控管理weblogic

    JMX(Java Management Extensions)是SUN创建的一套规范。BEA WebLogic Server实现了JMX大部分的API,并且提供了一个完全兼容JMX的控制台来管理各种资源。OPEN SOURCE的应用服务器JBoss也是基于JMX来实现。并且对之评价...

    jmx监控activeMQ监控

    activeMQ开启jmx固定rmi端口,穿透防火墙,用了一天的时间,踩了无数的坑,拿出来共享.

Global site tag (gtag.js) - Google Analytics