分享

Java?管理扩展(JMX)(Zz)

 Ethan的博客 2011-11-28

Java 管理扩展(JMX)

Java 管理扩展(JMX)是一个框架,它提供将 Java 资源(例如,应用程序服务器)列出到系统管理基础结构的标准方法。使用 JMX 框架,提供者可实施一些功能,如列出配置设置,以及编辑设置。此框架还包括管理应用程序可用于监控事务(如应用程序服务器的启动)的通知层。

JMX 主要特性

JMX 的 WebSphere Application Server V6 实施的主要特性包括:
  • 运行 JMX 代理程序的所有进程。
  • 通过 JMX 操作执行的所有运行时管理。
  • 用于将 JMX 代理程序连接到远程启用 JMX 的管理应用程序的连接器。支持以下连接器:
    • SOAP JMX 连接器
    • 远程方法调用/因特网 ORB 间协议(RMI-IIOP)JMX 连接器
  • 通过给定的协议提供 JMX 代理程序的管理视图的协议适配器。连接到协议适配器的管理应用程序通常是特定于给定的协议的。
  • 查询并更新运行时对象的配置设置的能力。
  • 在运行时期间,装入、初始化、更改并监控应用程序组件和资源的能力。

JMX 体系结构

JMX 体系结构被结构化为三层:
  • 检测层 - 规定如何将资源合并到称为管理 Bean(MBean) 的特殊的 Java bean 中。
  • 代理程序层 - 由 MBean Server 和代理程序组成,它们提供管理基础结构。可实施的服务包括:
    • 监控
    • 事件通知
    • 定时器
  • 管理层 - 定义外部管理应用程序可以如何根据协议、API 等等与底层进行交互。该层使用分布式服务规范(JSR-077)的实施,它还不是 Java 2 Platform, Enterprise Edition(J2EE)规范的部件。
JMX 的分层体系结构在以下图中概述:

说明 JMX 的体系结构。

图 1:JMX 体系结构

JMX 分布式管理

下图显示如何使 JMX 体系结构适合 Network Deployment 环境的整个分布管理拓扑。

说明 JMX 的 WebSphere Application Server 分布式管理

图 2:JMX 的 WebSphere Application Server 分布式管理

该分布管理体系结构的关键点包括:
  • 使用本地 MBean Server 注册的 Java 虚拟机(JVM)的本地内部 MBean。
  • 外部 MBean 有对于它们的 MBean Server 的一个本地代理。该代理用本地 MBean Server 注册。使用 MBean 代理,本地 MBean Server 将消息传递到位于以下位置的外部 MBean Server:
    • 有对于在它节点中的所有服务器的一个 MBean 代理的 Node Agent。未使用其他节点的 MBean 代理。
    • Deployment Manager 有对于单元中的所有 Node Agent 的 MBean 代理。

JMX Mbean

WebSphere Application Server 提供许多 MBean,每个 MBean 有不同的可用的功能和操作。例如,应用程序服务器 MBean 可以列出操作(如启动和停止)。应用程序 MBean 可以列出操作(如安装和卸载)。您可遇到的一些 JMX 使用方案包括:
  • 通过程序化地访问 JMX API,控制 Network Deployment 和它的资源的外部程序。
  • 第三方应用程序(包括将定制 JMX MBean 作为已部署代码的一部分)支持应用程序组件和资源的 JMX API 管理。
下例说明如何获取 MBean:
使用 Jacl:
set am [$AdminControl queryNames type=ApplicationManager,process=server1,*]
使用 Jacl:
am = AdminControl.queryNames('type=ApplicationManager,process=server1,*')

每个 WebSphere Application Server 运行时 MBean 可以有属性、操作和通知。随 WebSphere Application Server 一起提供的每个 MBean 的完整文档以一个 html 表提供,该表安装在 WebSphere Application Server 产品的每个副本中。在产品的主要安装目录下,有一个命名为 web 的目录。在该目录下有称为 mbeanDocs 的另一个目录。mbeanDocs 目录中有多个 html 文件,对每个文件都提供了一个 WebSphere Application Server。还有一个 index.html 文件,它将所有独立的 MBean 文件结合到顶层导航树中。每个 MBean 都提供其属性、操作和通知的摘要。

JMX 好处

在 WebSphere Application Server 中对于管理功能使用 JMX 具有以下好处:
  • 在没有重要投入的情况下,启用 Java 应用程序的管理。
  • 依靠担当管理代理程序的核心受管对象服务器。
  • Java 应用程序可以嵌入受管对象服务器,并使它的某些功能可用,作为一个或多个用对象服务器注册的 MBean。
  • 提供可伸缩的管理体系结构。
  • 每个 JMX 代理程序服务是独立的模块,它可被插入到管理代理程序。
  • API 是可扩展的,允许通过管理接口将新的 WebSphere Application Server 和定制应用程序功能简单地添加并列出。
  • 集成现有的管理解决方案。
  • 通过 HTTP 浏览器或各种管理协议(如 Web service、Java 消息服务(JMS)和简单网络管理协议(SNMP))有能力管理 JMX 智能代理。
  • 当每个进程到达它的资源的管理时,它是自足的。不存在中心控制点。在原理上,启用 JMX 的管理客户机可以连接到任何受管进程,并与由该进程托管的 MBean 交互。
  • JMX 提供对系统管理使用单个、平面的以域为宽度的方法。独立的进程通过 MBean 代理进行交互,其支持单个管理客户机通过受管进程的网络进行无缝导航。
  • 仅定义对管理是必需的接口。
  • 为管理工具提供用于列出应用程序和管理资源的标准 API。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多