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

JMX在Tomcat中的应用(一)

阅读更多

一、 JMX 简单介绍

Tomcat 5.0 版本开始引入 JMX ,力图使 JMX 成为 Tomcat 未来版本的管理工具和平台。首先,让我们来对 JMX 做一个简单了解。 JMX Java Management Extension 的缩写,可译为 Java 管理工具扩展,扩展的意思就是 JMX 不包含在标准的 J2SE 中,我们必须要另外下载 JMX RI 的实现。不过,这种把 JMX 排除在 J2SE 之外的情况已经成为历史了, J2SE5.0 J2SE6.0 都已经包含了 JMX 的标准实现。这说明, JMX 已经成为 J2SE 不可分割的一部分,另外一方面, JMX 已经成为 Java 平台上管理工具的事实标准,在业界广泛使用。例如, JBOSS 就是以 JMX 为微内核, Web 应用模块和其它功能模块都可热插拨到这个微内核,将 JMX 的管理功能发挥得淋漓尽致。从当前业界使用情况看, JMX 中的 X(Extension ,扩展 ) 应该去掉,改名为 Java Management Standard Platform (JMSP Java 管理标准平台 ) 更加合适。为了向下兼容,我们姑且还是称之为 JMX 吧。

JMX 要管理的对象是什么呢,是资源。什么是资源,资源是指企业中的的各种应用软件和平台,举例来说,一个公司内部可能有许多应用服务器、若干 Web 服务器、一台至多台的数据库服务器及文件服务器等等,那么,如果我们想监视数据库服务器的内存使用情况,或者我们想更改应用服务器上 JDBC 最大连接池的数目,但我们又不想重启数据库和应用服务器,这就是典型意义上的资源管理,即对我们的资源进行监视 (Monitoring ,查看 ) 和管理 (Management ,更改 ) ,这种监视和更改不妨碍当前资源的正常运行。对资源进行适当的监测和管理,可以让我们的 IT 资源尽可能的平稳运行,可以为我们的客户提供真正意思上的 24 × 7 服务。在资源耗尽或者在硬件出故障之前,我们就可以通过管理工具监测到,并通过管理工具进行热调整和插拔。独孤九剑,料敌机先,适当的资源管理就是我们料敌机先的工具,可以让我们立于 IT 服务的不败之地。在 Sun 公司提出 JMX(JSR174) 以前,人们通常都是使用 SNMP 对网络上的资源进行管理。 SNMP 的主要问题是入门门槛太高,不容易使用。所以 Sun 提出了 JSR174 倡议并且提供了一套 JMX 的参考实现。

从技术上说, JMX 整体架构可分为三层,即资源植入层 (Instrumentation Level ,可能有更好的译法? ) 、代理层 (Agent Level) 和管理层 (Manager Level) ,简述如下:

资源植入层 (Instrumentation Level) :该层包含 MBeans 及这些 MBeans 所管理的资源, MBeans 是一个 Java 对象,它必须实现 JMX 规范中规定的接口。按照 JMX 规范,在 MBeans 对象的接口中,我们可以指定管理层可以访问资源的哪些属性,可以调用资源的哪些方法,并且,在资源的属性发生变化是,我们的 MBeans 可以发出消息,通知对这些属性变化感兴趣的其它对象。 JMX 规范定义了四种 MBeans ,它们分别是标准 MBeans(Standard MBeans) 、动态 MBeans(Dynamic MBeans) 、开放 MBeans(Open MBeans) 和模态 MBeans(Model MBeans)

代理层 (Agent Level) :代理层的目的就是要把 MBeans 中实现的接口暴露给管理层,该层通常由 MBean Server Agent Services 构成, MBean Server 就是一个 MBeans 对象注册器,所有的资源 MBeans 都注册到这个 MBean Server ,对象管理器或者其它的管理层应用程序可以通过访问 MBean Server ,从而可以访问 MBean Server 中注册的 MBeans ,当然也就可以监视和管理和这些 MBeans 绑定的资源。

管理层 (Manager Level) :又称之为分布式服务层 (Distributed Services) ,顾名思义,该层主要包含一些管理应用程序,这些程序可以访问和操作 JMX 代理层 (Agent Level) 。这些管理应用程序可以是一个 Web 应用,也可能是一个 Java SWT 应用程序。

分享到:
评论

相关推荐

    jmx 监控 tomcat

    在Tomcat这样的Java应用服务器中,JMX能够让我们深入洞察服务器的运行状态,包括内存使用、线程信息、MBean(Managed Beans)的属性和操作等。下面我们将详细介绍如何设置和使用JMX来监控Tomcat。 1. **开启JMX支持...

    jmx_tomcat_jboss

    在这个上下文中,“jmx_tomcat_jboss”涉及到的是如何通过JMX接口来对Apache Tomcat和Red Hat JBoss应用服务器进行监控和管理。这两个流行的Java应用服务器都支持JMX,以提供对内部组件和服务的远程访问,例如监控...

    基于Spring+JMX+Tomcat实现资源动态管理

    总之,"基于Spring+JMX+Tomcat实现资源动态管理"是一个强大的技术组合,它为开发者提供了强大的工具来监控和调整应用程序和服务器的运行状态。通过了解和掌握这些技术,我们可以构建出更加灵活、可扩展且易于维护的...

    jmx 实现远程连接tomcat

    在tomcat目录下/bin/catalina.sh文件中,我们需要插入一行配置,用于启用jmx远程监控。配置内容如下: CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8888 -...

    tomcat开启远程jmx连接方式

    在Tomcat这样的Java应用服务器中,JMX可以帮助管理员监控和管理Tomcat的运行状态,如线程、内存使用、MBean等。以下是如何在不同版本的Tomcat(5、6、7)以及在Windows环境下开启远程JMX连接的详细步骤。 ### ...

    jmx监控weblogic,tomcat,websphere源码

    在本项目中,"jmx监控weblogic,tomcat,websphere源码"涉及了使用JMX来监控三个主流的Java应用服务器:WebLogic、Tomcat和WebSphere。这些服务器都是企业级应用部署的常见选择,对它们的监控对于确保系统性能、稳定性...

    Monitoring Apache Tomcat with JMX.pdf

    Apache Tomcat是世界上最流行的开源Java Servlet容器,广泛用于部署Web应用程序。为了确保这些应用程序的稳定性和性能,对Tomcat...在实际操作中,结合日志分析和其他监控工具,可以构建出一个全面、高效的监控体系。

    Tomcat开启JMX服务方法介绍

    主要介绍了Tomcat开启JMX服务方法的相关内容,小编觉得挺不错的,在这里给大家分享一下,需要的朋友可以参考。

    boundary-plugin-jmx-tomcat:从 Apache Tomcat 实例收集指标

    在监控系统性能时,能够从 Tomcat 实例中收集指标至关重要,这有助于优化应用程序的效率,及时发现并解决问题。"boundary-plugin-jmx-tomcat" 是一个专门用于此目的的工具,它利用 Java Management Extensions (JMX)...

    zabbix监控tomcat所需的cmdline-jmxclient-0.10.3.jar和zbx自定义模版

    本文将深入探讨如何使用Zabbix监控Tomcat应用服务器,特别关注"cmdline-jmxclient-0.10.3.jar"工具以及相关的自定义模板。 首先,`cmdline-jmxclient-0.10.3.jar`是一个Java管理扩展(JMX)客户端,它允许通过...

    cmdline-jmxclient-0.10.3.jar + zabbix tomcat监控模板

    本文将详细讲解如何利用`cmdline-jmxclient-0.10.3.jar`工具与Zabbix集成,实现对Tomcat应用服务器的高效监控。 首先,`cmdline-jmxclient-0.10.3.jar`是一个命令行Java Management Extensions (JMX)客户端,它允许...

    tomcat中文手册.chm

    由于其小巧、高效和免费的特性,Tomcat在小型到中型的Web应用中得到了广泛应用。 二、Tomcat安装与配置 1. 安装:下载Tomcat的最新稳定版本,解压到指定目录,无需复杂安装过程。 2. 配置:修改`conf/server.xml`...

    cmdline-jmxclient.zip

    标题“cmdline-jmxclient.zip”指的是一个包含命令行界面的Java管理扩展(JMX)客户端工具,这个工具主要用于远程连接并监控Java虚拟机(JVM)以及运行在其中的应用,比如Tomcat服务器。JMX是一种Java平台提供的标准...

    提供一个《在Tomcat部署和发布Web应用》的入门教程

    在Java Web开发中,Tomcat是一个非常常见的应用服务器,它被广泛用于运行Servlet和JSP应用。本教程将深入探讨如何在Tomcat上部署和发布Web应用,这对于初学者和开发者来说是至关重要的技能。 首先,理解Web应用的...

    Tomcat源码研究.pdf

    4. JMX在tomcat中的应用:Java Management Extensions (JMX) 是一种为应用程序、设备、系统等植入管理功能的体系结构。Tomcat使用JMX来暴露其内部状态和管理信息,允许管理员通过各种JMX客户端来监控和配置运行中的...

    tomcat_weblogic_jmx.txt

    为了在 Apache Tomcat 中启用 JMX,首先需要修改 Tomcat 的启动脚本,即 `catalina.sh` 文件。在文件中添加以下行: ```bash CATALINA_OPTS="${CATALINA_OPTS}-Djava.rmi.server.hostname=162.16.10.53" CATALINA_...

    zabbix 监控 tomcat

    Tomcat 作为一个流行的 Java Web 服务器,广泛应用于各种 Web 应用程序中。然而,随着应用程序的复杂度增加,Tomcat 的性能和稳定性也变得越来越重要。因此,监控 Tomcat 的性能和状态变得非常必要。 Zabbix 监控 ...

    JMX、MXBean学习

    Java Management Extensions(JMX)是Java平台中用于管理和监控应用程序的一种技术。它提供了一种标准的方式来管理和监控Java应用程序的各种资源,如内存、线程、系统属性等。JMX允许开发者创建可管理的组件,称为...

Global site tag (gtag.js) - Google Analytics