`
abalone
  • 浏览: 130675 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JMX(Java Management Extensions)

    博客分类:
  • java
阅读更多
http://zhangljerry.iteye.com/blog/monthblog/2007-10?show_full=true

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)
只定义了一些可以访问的接口
相关资源:

JMX相关框架
MC4J
XMOJO
MX4J
JFoxMX
JMX4Ant
Panoptes
EJTools JMX Browser
jManage

分享到:
评论

相关推荐

    The Java Management extensions

    Java Management Extensions(JMX)是Java平台上的一个标准技术,用于构建和管理应用程序、设备和服务。JMX允许开发者创建可管理的组件,并将它们集成到一个管理控制台中,以便监控和配置系统的运行状态。这一技术是...

    Java Management Extensions

    ### Java Management Extensions (JMX)概述与核心技术 #### 一、引言 Java Management Extensions (JMX) 是一种由Sun Microsystems开发的Java技术标准,旨在为管理企业级应用提供一个统一且灵活的框架。该技术使得...

    JDK10-JSE Java Management Extensions Guide-125.pdf

    《JDK10-JSE Java Management Extensions Guide》是Oracle公司发布的一份技术指南,主要针对Java平台标准版(Java Platform, Standard Edition,简称JSE)的Java管理扩展(Java Management Extensions,简称JMX)...

    JDK9-JSE- Java Management Extensions Guide-245.pdf

    Java Management Extensions (JMX) 是Java平台上的一个标准扩展,用于构建和管理复杂的分布式系统。在JDK 9中,JMX提供了一套框架和API,使得开发人员能够创建、注册和管理称为管理 Bean(MBeans)的可管理组件。...

    JDK16-java-management-extensions-guide.pdf

    Java Management Extensions(JMX)是 Java 平台标准版的一部分,是一种Java技术,允许开发人员编写管理Java应用程序和服务的代理程序。JMX提供了一个通用的管理架构,允许开发人员编写管理代理程序来管理Java应用...

    JDK18-java-management-extensions-guide.pdf

    Java Management Extensions(JMX)是一种Java API,用于管理和监控应用程序、系统和网络资源。它提供了一种标准化的方式来访问和控制Java应用程序中的管理信息。 Java Management Extensions Guide是Java Platform...

    Java获取计算机CPU、内存等信息

    Java虽然不像C++或C#那样可以直接调用操作系统API,但它提供了Java Management Extensions (JMX) 和 Java Native Interface (JNI) 这样的工具来获取这些信息。下面我们将详细探讨如何使用Java来获取CPU和内存信息。 ...

    Ehcache 简单的监控

    Ehcache提供了JMX(Java Management Extensions)支持,允许我们通过JMX客户端工具(如jconsole或VisualVM)来监控缓存的大小、命中率、过期情况等关键指标。此外,Ehcache还提供了一个Web管理界面——`Ehcache Web ...

    JDK19-java-management-extensions-guide.pdf

    这篇指南专门介绍了Java管理扩展(Java Management Extensions,JMX)的基本概念、架构、组件、功能和应用场景,以帮助开发者更好地理解和使用JMX技术。 一、Java管理扩展简介 Java管理扩展(Java Management ...

    JVM JMX java

    JMX(Java Management Extensions)是Java平台的一部分,用于管理和监控应用程序,包括JVM自身。在这个主题中,我们将深入探讨JVM与JMX在Java环境中的交互以及它们如何增强Java应用的管理和维护能力。 **JVM详解** ...

    Zabbix通过JMX监控java中间件.docx

    随着 Java 中间件的广泛应用,Zabbix 也提供了对 Java 中间件的监控功能,通过 JMX(Java Management Extensions)来实现对 Java 应用程序的监控。 Zabbix 通过 JMX 监控 Java 中间件的工作原理是:Zabbix 服务器想...

    JDK13-java-management-extensions-guide.pdf

    《JDK13 Java Management Extensions Guide》是Oracle公司发布的一份技术文档,主要针对Java Platform, Standard Edition (Java SE) 13版本的Java管理扩展(Java Management Extensions, JMX)进行详细介绍。JMX是一...

    JDK12-java-management-extensions-guide.pdf

    《JDK12 Java Management Extensions Guide》是Oracle公司发布的一份技术文档,主要针对Java Platform, Standard Edition(Java SE)12版本中的Java Management Extensions(JMX)进行深入的介绍和指导。JMX是一种...

    JDK11-java-management-extensions-guide.pdf

    Java管理扩展(Java Management Extensions,JMX)是Java平台标准版的一部分,提供了一种标准化的方式来管理和监控Java应用程序。JMX允许开发人员创建管理bean(MBean),以便在运行时管理和监控Java应用程序。 JMX...

    java jmx agent不安全的配置漏洞如何改进(由浅入深代码范例和详细说明).docx

    Java JMX(Java Management Extensions)是一种用于监控和管理应用程序的工具,通过使用 JMX Agent,我们可以暴露应用程序的管理和监控接口,从而允许外部管理应用程序的运行状态和配置。然而,如果 JMX Agent 的...

    jdk20-java-management-extensions-guide.pdf

    Java 管理扩展(Java Management Extensions,JMX)是一种 Java 技术,用于监控和管理 Java 应用程序和系统。JMX 提供了一种统一的方式来监控和管理 Java 应用程序,无论是本地还是远程。JMX 的主要特点是提供了一个...

    jmx监控activeMQ监控

    jmx(Java Management Extensions)是一种Java技术,为Java应用程序提供了管理和监控的功能。ActiveMQ是Apache软件基金会下的一个开源消息队列系统,提供了高效、可靠的消息传递服务。在生产环境中, ActiveMQ的监控...

    JDK14-java-management-extensions-guide.pdf

    《JDK14 Java Management Extensions Guide》是Oracle公司发布的一份关于Java管理扩展(Java Management Extensions,简称JMX)在JDK14版本中的详细指南。JMX是一种为Java应用程序提供管理和监控能力的标准框架,它...

    java management extension

    Java Management Extensions(JMX)是Java技术中一个重要的管理框架,它为开发、部署和监控Java应用程序提供了标准化的方法。JMX允许开发者创建可管理和监控的组件,并将它们集成到更复杂的管理系统中。这个规范是...

    JDK17-java-management-extensions-guide.pdf

    Java Management Extensions(JMX)是Java平台标准版(Java Platform, Standard Edition)的一部分,提供了一个强大的管理和监控Java应用程序的框架。JMX允许开发者编写管理代理程序,监控和控制Java应用程序的状态...

Global site tag (gtag.js) - Google Analytics