JMX监控原理与使用详解(手把手教你JMX)

JMX监控原理与使用详解(手把手教你JMX)JMX 经常用于监控 Java 程序的基本信息和运行情况 本篇重点详解 JMX 的技术架构 以及如何使用 mikechen 本篇已收于 mikechen 原创超 30 万字 阿里架构师进阶专题合集 里面

欢迎大家来到IT世界,在知识的湖畔探索吧!

JMX监控原理与使用详解(手把手教你JMX)

欢迎大家来到IT世界,在知识的湖畔探索吧!

JMX经常用于监控Java程序的基本信息和运行情况,本篇重点详解JMX的技术架构,以及如何使用@mikechen

本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。

JMX监控原理与使用详解(手把手教你JMX)

什么是JMX

JMX(Java Management Extensions),含义为Java管理扩展的缩写,是一个为应用程序植入管理功能的框架,提供了一种简单的、标准的监控和管理资源的方式。

JMX 的应用场景

JMX有以下典型的应用场景:

  • 监控应用程序的运行状态和相关统计信息;
  • 修改应用程序的配置(无需重启);
  • 状态变化或出错时通知处理。

举个例子,我们可以通过jconsole监控应用程序的堆内存使用量、线程数、类数,查看某些配置信息,甚至可以动态地修改配置。

下图是使用Jconsle通过JMX查看Java程序的运行信息:

JMX监控原理与使用详解(手把手教你JMX)

JMX最常见的场景是监控Java程序的基本信息和运行情况,任何Java程序都可以开启JMX,然后使用JConsole或VisualVM进行预览。

JMX 的技术架构

JMX监控原理与使用详解(手把手教你JMX)

从图中我们可以看到,JMX的结构一共分为三层:

1、基础层:主要是MBean,被管理的资源

MBean分为如下四种:

JMX监控原理与使用详解(手把手教你JMX)

2、适配层:主要是提供对资源的注册和管理。

Agent层 用来管理相应的资源,并且为远端用户提供访问的接口。

Agent层主要定义了各种服务以及通信模型,该层的核心是 MBeanServer,所有的MBean都要向它注册,才能被管理。

注册在MBeanServer上的MBean并不直接和远程应用程序进行通信,他们通过 协议适配器(Adapter) 和 连接器(Connector) 进行通信。

通常Agent由一个MBeanServer和多个系统服务组成。

3、接入层:提供远程访问的入口。

怎么使用JMX

下面我们就简单的使用jmx来实现配置bean属性的动态修改,动态修改的意思就是在不重启服务器的情况下,实现配置属性的变更。

第一步:提供管理信息

1) 首先定义一个MBean接口,接口的命名规范为以具体的实现类为前缀(这个规范很重要)

//接口要以MBean结尾 public interface HelloMBean { String getName(); void setName(String name); }

欢迎大家来到IT世界,在知识的湖畔探索吧!

2)定义一个实现类,实现上面的接口

欢迎大家来到IT世界,在知识的湖畔探索吧!//实现类跟接口在同一个包中,且名字不包含MBean public class Hello implements HelloMBean { private String name; @Override public String getName() { System.out.println("Hello.getName"); return name; } @Override public void setName(String name) { this.name = name; System.out.println("Hello.setName"); } }

第二步:使用jconsole连接

jconsole是jdk自带工具,在配置了jdk环境之后,我们只需要在cmd命令行中输入jconsole即可。

如下图所示:

JMX监控原理与使用详解(手把手教你JMX)

然后我们就可以在这里来进行Name属性的修改。

第三步:控制打印结果

JMX监控原理与使用详解(手把手教你JMX)

本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。

JMX监控原理与使用详解(手把手教你JMX)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/115339.html

(0)
上一篇 1天前
下一篇 1天前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信