jmx是什么?

2024-04-21 04:38
文章标签 jmx

本文主要是介绍jmx是什么?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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是什么?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/922172

相关文章

环境-系统服务监控管理Grafana,Prometheus安装,Java服务监控,JMX监控,JVM监控

Grafana作用 监控环境搭建步骤 1.Grafana环境安装-docker版本 命令:docker run -d -p 3000:3000 --name grafana grafana/grafana【:6.5.0 可指定版本】 如果不加版本就拉取的是最新的;默认账号:admin/admin 首次登录需要修改密码 2.Prometheus环境安装-docker版本 docker ru

JMX RMI简介

连接器概念: JMX规范定义了连接器的概念(Connectors),连接器位于JMX的3层构架中的分布式服务层。连接器负责建立MBean服务器和管理应用之间的通信。连接器由一个驻留在代理层的连接器服务器(connector server)和管理应用的连接器客户端(connector client)构成。连接器服务端(connector server)连接到MBean服务器并监听来自客户端(co

JMX简介及实践

简介 基本术语 MBean:是Managed Bean的简称,可以翻译为“管理构件”。在JMX中MBean代表一个被管理的资源实例,通过MBean中暴露的方法和属性,外界可以获取被管理的资源的状态和操纵MBean的行为。事实上,MBean就是一个Java Object,同JavaBean模型一样,外界使用自醒和反射来获取Object的值和调用Object的方法,只是MBean更为复杂和高级一

zabbix之通过jmx监控tomcat

zabbix之通过jmx监控tomcat 转载 fireweb 2015-11-06 13:57:24 评论(0) 277人阅读 zabbix监控tomcat 1.编译zabbix的时候需要添加参数--enable-java 关于如何安装zabbix,可以参考上一篇文章http://blog.unix178.com/ 备份zabbix_server.conf和zabbix_ag

spring boot项目从创建之后启动报错Unregistering JMX-exposed beans on shutdown

在pom文件中添加以下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <art

【30天精通Prometheus:一站式监控实战指南】第14天:jmx_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细

亲爱的读者们👋   欢迎加入【30天精通Prometheus】专栏!📚 在这里,我们将探索Prometheus的强大功能,并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。🚀   Prometheus是云原生和DevOps的核心监控工具,我们将从基础概念开始,逐步涵盖配置、查询、告警和可视化。💪   在接下来的30天里,我们将解锁Prometheus的实战技巧,通过案例

利用Java内置的API开发JMX功能

一、什么是JMX       JMS是一种Java规范,定义了如何管理一个软件系统(或应用程序)的规范。 对于一个简单的应用程序,该程序本身不需要被管理。但如果是开发的一个复杂系统(如一个电商平台、一个企业内部管理系统),则该系统本身也需要被管理,如需要了解这个软件的运行情况,比如某些状态是否正常、当前登录用户数,还有可能需要动态的调整系统的某些参数,如数据库链接池的大小、某些缓存的大小。

Java成神之路(十四)JMX与JMS

一:JMS Java消息服务 两个应用程序之间进行异步通信的API-JMS,中间间 异步,可靠:服务器只推送一次: 两种模型:点对点(一对一),发布订阅(一对多)JMS模型 点对点,P2P: 消息队列(queue)、发布者(Sender)、接受者(Receiver): 每一个消息只有一个消费者(一旦消费,就不再消息队列) 时间无依赖(发了就不用管,登陆后就接收) 接受成功后,需要向队列提交

JVM监控-JMX探针的安装和使用

jvm监控的搭建和使用 ​ Java Management Extensions(JMX)是一种Java标准,用于管理和监控Java应用程序,特别是分布式系统。它提供了一种标准化的方式来管理应用程序的各种方面,包括性能监控、配置更改、事件通知等。目前JMX最常用的就是用来做JAVA程序的监控,市面上常见的Java 监控框架基本都是基于JMX来实现的。 准备文件1 2:文件1可以自行下载(在文章

JMX_EXPORTER配置详解

启动方式 自启动 java -javaagent:./jmx_prometheus_javaagent-0.13.0.jar=8080:config.yaml -jar yourJar.jar 随组件启动         随组件启动时启动,在组件运行命令中添加以下代码: -javaagent:./jmx_prometheus_javaagent-0.13.0.jar=8080:con