CN105718360A - Java管理扩展抓取组件及java管理扩展抓取组件实现方法 - Google Patents
Java管理扩展抓取组件及java管理扩展抓取组件实现方法 Download PDFInfo
- Publication number
- CN105718360A CN105718360A CN201610132875.6A CN201610132875A CN105718360A CN 105718360 A CN105718360 A CN 105718360A CN 201610132875 A CN201610132875 A CN 201610132875A CN 105718360 A CN105718360 A CN 105718360A
- Authority
- CN
- China
- Prior art keywords
- jmx
- grabbing assembly
- parameter value
- parameter
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
一种JAVA管理扩展抓取组件,包括:创建单元,用于创建JMX抓取组件;赋值单元,用于将第一参数值P1、第二参数值P2、第三参数值P3传入JMX抓取组件;数据反馈单元,用于根据第一参数值P1、第二参数值P2自动适配远程连接接口并自动定位并返回所需的数据。本发明具有以下有益效果:提供了一个通用的JAVA管理扩展抓取组件,研发人员无需对JMX自身的规范、实现进行学习,即可快速地应用该JMX抓取组件。2.研发人员可以应用该JMX抓取组件快速的获取各类基于JMX实现的数据抓取,无需对被监控系统采用哪一类连接方式(Connector)进行了解。3.研发人员无需对被监控系统的具体MBean实现进行了解。由该JMX抓取组件根据JMX规范进行自动遍历、自动定位。
Description
技术领域
本发明涉及软件编程技术领域,特别涉及一种JAVA管理扩展抓取组件及JAVA管理扩展抓取组件实现方法。
背景技术
JMX(JavaManagementExtensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。
JMX是一份规范,SUN依据这个规范在JDK各个版本提供了JMX接口。而根据这个接口的实现则有很多种,比如Weblogic的JMX实现、MX4J、JBoss的JMX实现等等。
JMX提供了两种远程连接方式:RMIConnector和JMXMPConnector(JMXmessageprotocolConnector)。
JMXRemoteAPI定义了标准的连接器RMIConnector,它通过RMI提供了对MBeanServer的远程访问。
JMXRemoteAPI还定义了一个可选协议,名为JMXMP(JMX消息协议)。JMXMP基于TCP连接上的序列化Java对象(在可选包javax.management.remote.message中定义)。实现此协议的连接器称为JMXMPConnector。也可以使用JMXConnectorFactory提供的用户定义的连接器协议和可选的通用连接器(javax.management.remote.generic)。
当我们需要监控一套基于JAVA开发的应用系统的时候,研发人员可以编写代码,通过JMX接口获得中间件的运行数据,实现对信息系统运行状态的实时监控。一般来说,当研发人员需要监控不同的中间件的运行数据的时候,就需要针对不同厂商、版本的中间件进行代码的开发。因此研发人员需要对JMX有非常深入的了解。同时由于各种JMX实现的不同,导致研发实现的难度较大。代码的通用性较差。
发明内容
为了解决现有技术中研发人员需要监控不同的中间件的运行数据,由于各种JMX实现的不同,导致针对不同厂商、版本的中间件进行代码的研发实现的难度较大,并且代码的通用性较差的缺点,提出一种JAVA管理扩展抓取组件及JAVA管理扩展抓取组件实现方法。
一种JAVA管理扩展抓取组件,其包括如下单元:
创建单元,用于创建JMX抓取组件;
赋值单元,用于将第一参数值P1、第二参数值P2传入JMX抓取组件;
数据反馈单元,用于根据第一参数值P1、第二参数值P2自动适配远程连接接口并自动定位并返回所需的数据。
一种JAVA管理扩展抓取组件实现方法,其包括如下步骤:
S1、创建JMX抓取组件;
S2、将第一参数值P1、第二参数值P2传入JMX抓取组件;
S3、根据第一参数值P1、第二参数值P2自动适配远程连接接口并自动定位并返回所需的数据。
实施本发明提供的JAVA管理扩展抓取组件及JAVA管理扩展抓取组件实现方法具有以下有益效果:提供了一个通用的JAVA管理扩展抓取组件(JMX抓取组件),研发人员无需对JMX自身的规范、实现进行学习,即可快速地应用该JMX抓取组件。2.研发人员可以应用该JMX抓取组件快速的获取各类基于JMX实现的数据抓取,无需对被监控系统采用哪一类连接方式(Connector)进行了解。3.研发人员无需对被监控系统的具体MBean实现进行了解。由该JMX抓取组件根据JMX规范进行自动遍历、自动定位。
附图说明
图1是本发明实施例的JAVA管理扩展抓取组件结构框图;
图2是本发明实施例的JAVA管理扩展抓取组件实现方法流程图。
具体实施方式
如图1所示,一种JAVA管理扩展抓取组件,其包括如下单元:
创建单元10,用于创建JMX抓取组件。
可选地,创建JMX抓取组件的方式如下:
JMXControljMonitor=newJMXControl();
赋值单元20,用于将第一参数值P1、第二参数值P2传入JMX抓取组件。
可选地,将第一参数值P1、第二参数值P2传入JMX抓取组件的方式如下:jMonitor.getMBeanValue("service:jmx:t3:///jndi/t3://10.52.1.77:7001/weblogic.management.mbeanservers.domainruntime,weblogic,weblogic","#MaxHeapSize#")。
数据反馈单元30,用于根据第一参数值P1、第二参数值P2自动适配远程连接接口并自动定位并返回所需的数据。
可选地,在本发明实施例所述的JAVA管理扩展抓取组件中,
赋值单元20中第一参数值P1为JMX的连接字符串,第二参数值P2为需要获取的JMX实现的对象名称。
可选地,在本发明实施例所述的JAVA管理扩展抓取组件中,
第一参数值P1包括服务器IP、端口信息。在本发明实施例中,服务器IP、端口信息是第一参数值P1中必须有的。
可选地,在本发明实施例所述的JAVA管理扩展抓取组件中,
第一参数值P1还包括用户名信息、密码信息。如果没有用户名信息、密码信息,则默认为空。通过实施本实施例,JAVA管理扩展抓取组件可以连接公开的(无用户名与密码)和非公开的(需用户名与密码)两种权限的JMX实现。
可选地,在本发明实施例所述的JAVA管理扩展抓取组件中,
数据反馈单元30包括:
根据第一参数P1,自动判断JMX使用的远程连接方式。JMX提供的远程连接方式包括但不限于RMIConnector(RMI为远程接口调用)和JMXMPConnector两种。研发人员可以应用该JMX抓取组件快速的获取各类基于JMX实现的数据抓取,无需对被监控系统采用哪一类连接方式(Connector)进行了解,实现了远程连接方式的自动定位。
根据第一参数P1,JMX抓取组件连接对应的应用,并创建对应的工厂对象FAC。工厂对象FAC包括但不限于Weblogic中间件、Tomcat中间件等。Weblogic为基于JAVAEE架构的中间件,Tomcat中间件为web服务器的中间件,是应用JAVAweb工程的容器。
通过工厂对象FAC确定目前所连接的中间件类型。
根据第二参数P2,在工厂对象FAC中自动定位所需要获取的对象MBO。MBO为项目的一种,即自定义开发的MBO类。
根据获得的对象MBO获得所需的指标值;并根据指标值的数据类型返回对象MBO对应的数据值VAL(VAL为数据值的英文缩写)。
可选地,在本发明实施例所述的JAVA管理扩展抓取组件中,
所述第二参数P2为JMX抓取组件预先对业界所有的中间件进行了映射配置的指标名。
可选地,映射配置的指标名可以如以下格式:
应用名称+后缀名ini
例如:
Weblogic.ini
Tomcat.ini
Websphere.ini。
可选地,映射配置的指标内容格式如下:
#自定义参数名称#;MBO名称;指标名称
其中“自定义参数名称”为抓取时需要传入的参数P2,“MBO名称”为需要抓取的JAVA应用的监控指标所在的MBean名称,“指标名称”为需要抓取的JAVA应用的监控指标名称。
例如Weblogic.ini的内容可以为如下形式:
Weblogic.ini
#MaxHeapSize#(最大堆栈长度);
com.bea:Name=DomainRuntimeService,Type=weblogic.management.mbeanservers.domainruntime.DomainRuntimeServiceMBean#ServerRuntimes#JVMRuntime;
HeapSizeMax
#JDBCMaxSize#(数据库连接最大长度);
com.bea:Name=DomainRuntimeService,Type=weblogic.management.mbeanservers.domainruntime.DomainRuntimeServiceMBean#ServerRuntimes#JVMRuntime;
JDBCMaxSize。
在本发明实施例所述的JAVA管理扩展抓取组件中,可预先对业界现有的中间件进行映射配置。
可选地,第二参数P2是可以扩展的,在业界出现了新的中间件时,可以很方便地对新中间件或新JAVA应用做映射配置。本发明的使用人,通过任何可编辑文本文件的工具软件新建满足名称格式要求(JAVA应用名称+INI后缀)的映射文件,再根据映射指标格式(#自定义参数名称#;MBO名称;指标名称)将需要监控的指标写入新建的映射文件中,即可完成对新中间件或新JAVA应用做映射配置。
例如:
新增对JAVA应用JAPP1的支持,需要先新建文本文件如下:
JAPP1.ini
开发人员需要对JAPP1中MBean:
com.soft:Name=AppRuntimeService,Type=mbeanservers.appruntime.
RuntimeServiceMBean#Runtimes#APPRuntime中的指标JDBCMaxSize进行监控,则在刚刚添加的JAPP1.ini中加入以下内容:
#JDBCMSize#;
com.soft:Name=AppRuntimeService,Type=mbeanservers.appruntime.
RuntimeServiceMBean#Runtimes#APPRuntime;JDBCMaxSize。
即可完成指标映射的添加。
可选地,可以预先设置不同中间件的权值,根据权值确定中间件的优先级,将各个中间件的权值做成列表存储在本地文件中。本实施例可以实现在系统资源紧张时,通过调取本地文件来优先执行优先级高的中间件。
可选地,获取根据中间件的执行的反馈情况,对中间件的权值进行调整,并更新本地文件。本实施例可以实现优选级的动态调整。
可选地,对中间件的权值进行调整的依据包括中间件的调用次数、中间件的单次执行时间以及用户对中间件的执行评价。中间件的权值与中间件的调用次数、用户对中间件的执行评价正相关,与中间件的单次执行时间负相关。本实施例可以实现对中间件的权值分配更科学。
可选地,在本发明实施例所述的JAVA管理扩展抓取组件中,可选地,由于对象MBO中可能会存在上下层级关系
所述在工厂对象FAC中自动定位所需要获取的对象MBO采用遍历的方式进行自动定位。
如图2所示,本发明实施例还提供一种JAVA管理扩展抓取组件实现方法,其包括如下步骤:
S1、创建JMX抓取组件;
S2、将第一参数值P1、第二参数值P2传入JMX抓取组件;
S3、根据第一参数值P1、第二参数值P2自动适配远程连接接口并自动定位并返回所需的数据。
可选地,在本发明实施例所述的JAVA管理扩展抓取组件实现方法中,
赋值单元20中第一参数值P1为JMX的连接字符串,第二参数值P2为需要获取的JMX实现的对象名称。
可选地,在本发明实施例所述的JAVA管理扩展抓取组件实现方法中,
所述步骤S2包括:
根据第一参数P1,自动判断JMX使用的远程连接方式;
根据第一参数P1,JMX抓取组件连接对应的应用,并创建对应的工厂对象FAC;
通过工厂对象FAC确定目前所连接的中间件类型;
根据第二参数P2,在工厂对象FAC中自动定位所需要获取的对象MBO;
根据获得的对象MBO获得所需的指标值;并根据指标值的数据类型返回对象MBO对应的数据值VAL。
上述方法实施例与JMX抓取组件实施例是一一对应的,因此,JMX抓取组件实施例相关的扩展情况也可适用于上述方法实施例。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机储存器、内存、只读存储器、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其他形式的存储介质中。
可以理解的是,对于本领域的普通技术人员来说,可以根据本发明的技术构思做出其它各种相应的改变与变形,而所有这些改变与变形都应属于本发明权利要求的保护范围。
Claims (10)
1.一种JAVA管理扩展抓取组件,其包括如下单元:
创建单元,用于创建JMX抓取组件;
赋值单元,用于将第一参数值P1、第二参数值P2传入JMX抓取组件;
数据反馈单元,用于根据第一参数值P1、第二参数值P2自动适配远程连接接口并自动定位并返回所需的数据。
2.如权利要求1所述的JAVA管理扩展抓取组件,其特征在于,
赋值单元中第一参数值P1为JMX的连接字符串,第二参数值P2为需要获取的JMX实现的对象名称。
3.如权利要求2所述的JAVA管理扩展抓取组件,其特征在于,
第一参数值P1包括服务器IP、端口信息。
4.如权利要求3所述的JAVA管理扩展抓取组件,其特征在于,
第一参数值P1还包括用户名信息、密码信息。
5.如权利要求4所述的JAVA管理扩展抓取组件,其特征在于,
数据反馈单元包括:
根据第一参数P1,自动判断JMX使用的远程连接方式;
根据第一参数P1,JMX抓取组件连接对应的应用,并创建对应的工厂对象FAC;
通过工厂对象FAC确定目前所连接的中间件类型;
根据第二参数P2,在工厂对象FAC中自动定位所需要获取的对象MBO;
根据获得的对象MBO获得所需的指标值;并根据指标值的数据类型返回对象MBO对应的数据值VAL。
6.根据权利要求4所述的JAVA管理扩展抓取组件,其特征在于,
所述第二参数P2为JMX抓取组件预先对业界所有的中间件进行了映射配置的指标名。
7.根据权利要求5所述的JAVA管理扩展抓取组件,其特征在于,
所述在工厂对象FAC中自动定位所需要获取的对象MBO采用遍历的方式进行自动定位。
8.一种JAVA管理扩展抓取组件实现方法,其包括如下步骤:
S1、创建JMX抓取组件;
S2、将第一参数值P1、第二参数值P2传入JMX抓取组件;
S3、根据第一参数值P1、第二参数值P2自动适配远程连接接口并自动定位并返回所需的数据。
9.如权利要求8所述的JAVA管理扩展抓取组件实现方法,其特征在于,
赋值单元中第一参数值P1为JMX的连接字符串,第二参数值P2为需要获取的JMX实现的对象名称。
10.如权利要求9所述的JAVA管理扩展抓取组件实现方法,其特征在于,
所述步骤S2包括:
根据第一参数P1,自动判断JMX使用的远程连接方式;
根据第一参数P1,JMX抓取组件连接对应的应用,并创建对应的工厂对象FAC;
通过工厂对象FAC确定目前所连接的中间件类型;
根据第二参数P2,在工厂对象FAC中自动定位所需要获取的对象MBO;
根据获得的对象MBO获得所需的指标值;并根据指标值的数据类型返回对象MBO对应的数据值VAL。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610132875.6A CN105718360A (zh) | 2016-03-09 | 2016-03-09 | Java管理扩展抓取组件及java管理扩展抓取组件实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610132875.6A CN105718360A (zh) | 2016-03-09 | 2016-03-09 | Java管理扩展抓取组件及java管理扩展抓取组件实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105718360A true CN105718360A (zh) | 2016-06-29 |
Family
ID=56157567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610132875.6A Pending CN105718360A (zh) | 2016-03-09 | 2016-03-09 | Java管理扩展抓取组件及java管理扩展抓取组件实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105718360A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106953751A (zh) * | 2017-03-13 | 2017-07-14 | 成都育芽科技有限公司 | 一种wtc通信模块开发方法及装置 |
CN110546615A (zh) * | 2017-04-29 | 2019-12-06 | 思科技术公司 | 超动态java管理扩展 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105749A (zh) * | 2007-08-16 | 2008-01-16 | 金蝶软件(中国)有限公司 | 一种获取应用服务器中类装载信息的方法 |
CN101436274A (zh) * | 2008-11-14 | 2009-05-20 | 山东浪潮齐鲁软件产业股份有限公司 | 跨平台监控企业应用系统性能的方法 |
CN104618161A (zh) * | 2015-02-02 | 2015-05-13 | 浪潮软件股份有限公司 | 一种应用集群监控装置及方法 |
-
2016
- 2016-03-09 CN CN201610132875.6A patent/CN105718360A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101105749A (zh) * | 2007-08-16 | 2008-01-16 | 金蝶软件(中国)有限公司 | 一种获取应用服务器中类装载信息的方法 |
CN101436274A (zh) * | 2008-11-14 | 2009-05-20 | 山东浪潮齐鲁软件产业股份有限公司 | 跨平台监控企业应用系统性能的方法 |
CN104618161A (zh) * | 2015-02-02 | 2015-05-13 | 浪潮软件股份有限公司 | 一种应用集群监控装置及方法 |
Non-Patent Citations (1)
Title |
---|
周强,饶国勇: "JMX规范的应用框架", 《南昌高专学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106953751A (zh) * | 2017-03-13 | 2017-07-14 | 成都育芽科技有限公司 | 一种wtc通信模块开发方法及装置 |
CN106953751B (zh) * | 2017-03-13 | 2020-07-14 | 沸蓝建设咨询有限公司 | 一种wtc通信模块开发方法及装置 |
CN110546615A (zh) * | 2017-04-29 | 2019-12-06 | 思科技术公司 | 超动态java管理扩展 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080256225A1 (en) | Osgi-Based Dynamic Service Management Method for Context-Aware Systems | |
JP5485993B2 (ja) | サービスのロードバランシング | |
Binder et al. | Decentralized orchestration of compositeweb services | |
CN104508627A (zh) | 混合云环境 | |
US10956242B1 (en) | Automating the migration of web service implementations to a service provider system | |
US20120131166A1 (en) | Server management systems | |
Da Silva et al. | Internet of things out of the box: using TOSCA for automating the deployment of IoT environments | |
CN102810069A (zh) | 一种java对象的请求和响应方法、装置、系统和终端 | |
Beckmann et al. | sDDS: A portable data distribution service implementation for WSN and IoT platforms | |
Nugur et al. | Design and development of an iot gateway for smart building applications | |
KR20110106765A (ko) | 분산 연산 기법을 이용한 유비쿼터스 시스템용 미들웨어 장치 | |
Leitão et al. | Integration patterns for interfacing software agents with industrial automation systems | |
JP2011096045A (ja) | 計算機、計算機システム、及び、アプリケーション実行方法 | |
CN105718360A (zh) | Java管理扩展抓取组件及java管理扩展抓取组件实现方法 | |
Sotiriadis et al. | Automatic migration and deployment of cloud services for healthcare application development in FIWARE | |
US20220109980A1 (en) | Template-based registration | |
CN106802805B (zh) | 一种适用服务器管理的应用服务管理方法及装置 | |
US20220103634A1 (en) | Device registration mechanism | |
Butterfield | Fog computing with Go: A comparative study | |
Jo et al. | IoTivity-lite: Comprehensive IoT solution in a constrained memory device | |
US10757177B1 (en) | Data locality-aware MapReduce using IoT devices | |
Rigole et al. | A component-based infrastructure for pervasive user interaction | |
Thramboulidis | Service-oriented architecture in industrial automation systems-the case of IEC 61499: A review | |
JP6813110B1 (ja) | 通信装置、プログラム、通信方法、及び通信システム | |
Bissyandé et al. | Bridging the gap between legacy services and web services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160629 |
|
RJ01 | Rejection of invention patent application after publication |