官方:http://download.oracle.com/javase/tutorial/jmx/index.html
什么是JMX?
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
凡是有该标志的文章,都是该blog博主Caoer(草儿)原创,凡是索引、收藏
、转载请注明来处和原文作者。非常感谢。
分享到:
相关推荐
jmx监控ActiveMQ监控 jmx(Java Management Extensions)是一种Java技术,为Java应用程序提供了管理和监控的功能。ActiveMQ是Apache软件基金会下的一个开源消息队列系统,提供了高效、可靠的消息传递服务。在生产...
Java Management Extensions(JMX)是Java平台中用于管理和监控应用程序、操作系统、网络设备等资源的一种标准框架。通过JMX,开发者可以创建管理代理(MBeans),这些代理暴露了各种管理特性,使得系统管理员可以...
Java管理扩展(JMX)是Java平台提供的一种标准机制,用于管理和监视应用程序、服务和设备。在本项目中,"jmx监控weblogic,tomcat,websphere源码"涉及了使用JMX来监控三个主流的Java应用服务器:WebLogic、Tomcat和...
JMX实战 书中不仅有对于基础知识的介绍,还有对于JMX开发中重大的体系架构问题的深入探讨,总结了大量JMX开发中的设计模式,并讨论了框架、安全性与性能等等。书中提供了几个典型的例子,兼顾各种开发平台,这些...
当我们谈论"jboss远程调用JMX"时,我们关注的是如何通过网络从一个JMX客户端连接到运行在JBoss服务器上的JMX服务,以便进行远程管理和监控。 首先,我们需要了解JMX的基本概念。MBean是JMX的核心,它是一个Java对象...
Java Management Extensions(JMX)是Java平台提供的一种标准框架,用于管理和监控应用程序、操作系统和网络设备等资源。它允许开发者创建可管理的组件,并通过管理代理暴露这些组件,以便远程或本地工具进行监控和...
JMX(Java Management Extensions)是一种Java平台标准,用于管理和监控应用程序。在本实战中,我们将深入探讨如何利用JMX对HBase和Hadoop进行监控,以确保系统的稳定性和性能。 首先,我们需要理解HBase。HBase是...
Java Management Extensions (JMX) 是Java平台上的一个标准技术,用于管理和监控应用程序、操作系统和网络设备等资源。它提供了一种灵活的框架,允许开发者创建和管理管理对象(MBeans),这些对象代表了可管理的...
Java Management Extensions (JMX) 是Java平台上的一个标准技术,用于管理和监控应用程序、操作系统和网络设备。`jmxri-1.2.1.jar` 和 `jmxtools-1.2.1.jar` 是与JMX相关的两个核心库文件,它们在Java应用程序中扮演...
在Java世界中,远程方法调用(Remote Method Invocation, RMI)和Java管理扩展(Java Management Extensions, JMX)是两个强大的工具,用于管理和监控分布式系统。本文将深入探讨如何利用RMI远程连接到Java虚拟机...
【JMX 一步步来】 JMX(Java Management Extensions)是一个用于在Java应用程序中添加管理和监控功能的框架。它提供了一套标准的接口和服务,使得开发者能够轻松地在Java应用中集成管理和监控的能力。JMX的核心概念...
### JMX快速上手指南 #### 一、JMX简介 JMX,全称为Java Management Extensions,是一项由Sun Microsystems提出并被广泛采纳的标准技术。它主要用于监控和管理系统资源,包括但不限于应用程序、硬件设备以及网络...
在运维过程中,JMX(Java Management Extensions)监控是一个非常重要的工具,可以帮助我们实时查看和管理应用程序的状态,以及诊断和解决问题。本文将详细介绍如何使用 JMX 监控 TongWeb7。 首先,要开启 JMX 监控...
Java JMX Agent 不安全的配置漏洞如何改进 Java JMX(Java Management Extensions)是一种用于监控和管理应用程序的工具,通过使用 JMX Agent,我们可以暴露应用程序的管理和监控接口,从而允许外部管理应用程序的...
JMX以RMI方式连接的场景示例 JMX(Java Management Extensions)是一种Java技术,用于管理和监控应用程序。JMX框架主要由三部分组成:MBean(Managed Bean)、Agent(代理)和Client(客户端)。在本场景中,我们将...
这个"jmx-1.2.1(jmxri+jmxtools) jar"包含了JMX的两个核心组件:JMX Remote Interface (jmxri) 和 JMX Tools。 1. **JMX Remote Interface (jmxri)**: JMX Remote Interface 是JMX框架的一部分,它允许远程访问和...
Java Management Extensions(JMX)是Java平台上的一个标准技术,用于管理和监控应用程序、操作系统和网络设备。它提供了一种统一的方式来创建、配置、查询和控制管理资源,使得开发者能够轻松地在他们的应用中添加...
Java Management Extensions(JMX)是Java平台上的一个标准API,用于管理和监控应用程序、服务和设备。JMX允许开发者创建管理接口,这些接口可以被本地或远程的管理工具使用,以便监控和配置应用的状态。在本实例中...
JMX,全称为Java管理扩展(Java Management Extensions),是一套用于管理Java应用程序的开放标准和API,它允许开发人员和系统管理员对应用程序、设备、服务及其他资源进行监控和管理。JMX规范自提出以来,已经成为...
Java Management Extensions(JMX)是Java平台上的一个标准技术,用于管理和监控应用程序、服务和设备。JMX允许开发者创建管理接口,以便在运行时收集和操作应用的状态信息。本示例是一个简单的JMX实现,适合初学者...