使用JMX监控应用程序内、外部的状况

2016-02-19 15:58 6 1 收藏

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐使用JMX监控应用程序内、外部的状况,希望大家看完后也有个好心情,快快行动吧!

【 tulaoshi.com - 编程语言 】

Java治理API (JMX)对治理WebLogic服务器而言是必需的。通过这个API,你可以在应用程序服务器里搜索治理beans (mbeans) 并且通过它们你既可以查询配置信息又可以查询runtime监控信息。 此外,通过这个API还可以用来改变服务器的配置。 !-- frame contents -- !-- /frame contents -- 事实上,这个API 已在控制台和其他的治理工具上使用着,用来完成它们的工作和提供报告数据。
  
  这个API是一个强大的监控工具。让我们来看一个例子。 在这个应用程序中,有大部分的静态内容,一些你的个性化的jsp页面,一个注册系统,一个基于JMS(Java Messaging Services,Java消息服务)的数据系统,以及一个小付费应用系统。在这个应用程序中在哪里使用JMX对我们有利呢?在静态页面上,你可以为FileServlet存取信息并且可以看到花费了多少时间用来服务静态内容。时间可能比你预期的要少,因为浏览器自动的在客户端缓存了部分内容。大多数对静态内容的请求将会是HEAD请求,用来检查变化。
  
  对于动态页面,在系统中的每个servlet是被分别计算地。这个数据不能很好的反映用户的经验 (因为用户在他们送出请求和接到页面的返回之间存在延迟),但是这些数据告知了平均每个servlet花在一个请求上的时间,以及多少个请求被完成。我们的注册系统是一个实体bean,而付费系统是一个由外部服务返回的无状态会话bean。 两个bean都能被监控,而且通过这些监控信息可以帮助我们用来优化缓存和池的大小。我们的数据同样能有助于决定是否我们已经得到了所需要的信息,或是决定多少用户正在使用数据。吞吐量也可以使用JMS的topic和queue类型的mbean的属性来计算。此外,所有的JDBC连接都可以被监控,而且从它们的mbeans你能发现多少连接池被争用,举例来说,这将帮助你判定是否需要更多的数据库客户端授权。

  mbeans 在WebLogic服务器中的第二种用途是用于配置信息。通过配置mbeans,所有资源的配置都被包含在runtime中。这些mbeans本质上是被包含在config.XML文件里的信息的表示。部署在服务器监听端口上的应用程序的所有内容都包括在这些接口中。大多数个别的属性是直接相关直接;然而,描述一个部署单元的属性集合是复杂的并且为了方便它们被集合在weblogic.Deployer类中。直接访问它们是可能的,但是除了看配置以及不改变它之外的操作是不被推荐的。其余的属性是随意的,但要小心,但假如组件(如JDBC池)被重新部署或服务器重新启动,大多数这些属性实际上只改变运行时的行为。这些配置性的mbeans 应用的作用范围从决定为某一特定应用使用资源,到调整基于来自监mbeans的反馈数值。

  正如你所看到的,这有许多信息――但是假如你对JMS和WebLogic服务器都不熟悉,你如何着手呢? 它实际上不那么难。 只要你能使用JNDI并且可以阅读JavaDocs你就会发现操纵 mbeans是相当轻易的。在下面你所看见的代码示例中,会告诉你如何得到本地服务器的mbean home接口以及JDBC池。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)MBeanHome home = (MBeanHome) new
  InitialContext().lookup(MBeanHome.LOCAL_JNDI_NAME);
  Set pools = home.getMBeansByType("JDBCConnectionPool");

  上面的代码给出了对于JDBC(Java DataBase Connectivity,Java数据库连接)池的配置mbean。假如你想监控连接池而不考虑它们的配置,只要通过添加"Runtime"来改变mbean的类型就可以完成。从这个mbean你可以确定重要的信息,比如是否有连接泄漏――你甚至可以得到一个堆栈追踪,找到该连接的具体位置。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  假如你不想做任何Java编程,就像从一个脚本文件中一样的使用JMX mbean系统,怎么办?幸运的是我们有一个命令行工具,它能让你以命令行的方式直接查看和改变mbean-weblogic.Admin。除了PINGing服务器,得到JNDI列表,重置连接池,以及关闭服务器外,它给出了直接访问mbean的分层结构。在下面的代码示例中你将看到这样的一个weblogic.Admin的指令。

java weblogic.Admin -username system -passWord [password] -url [url] GET
  -pretty -type JDBCConnectionPool

  

来源:http://www.tulaoshi.com/n/20160219/1610813.html

延伸阅读
标签: Web开发
阅读提要 AJAX,一个异步JavaScript和XML的缩略词,是当今快速发展的Web开发界十分热门的技术。在这项新技术提供巨大能力的同时,它也燃发了在"Back"按钮问题上的不容置疑的争论。本文作者将向你解释怎样在真实世界中使用AJAX以及怎样在一个工程中评估它的价值。在你读完本文后,你就会明白什么是AJAX,在什么情况下,为什么以及怎样使用这项技...
标签: Delphi
  Delphi不仅可调用C++产生的DLL模块,同样C++程序也可调用Delphi所产生的DLL部件。这样交互调用,无须重复开发,大大缩短了生产周期。…… Delphi与VisualBasic、VisualFoxPro等软件一样,属于RAD工具(快速应用开发工具)。适合开发32位或16位/32位混合应用程序。Delphi所使用的程序语言是ObjectPascal,是结构化...
标签: Delphi
  11.1 Help文件的建立 Help文件是 Micosoft Windows3.0 以上的版本提供的超文本帮助文件。利用这种超文本 , 用户可非常方便地使用帮助文件系统。帮助文件是以主题为主线进行编写的,一个主题可以跳转至相关的主题,也可按关键字进行主题查询。帮助文件与软件开发工具相结合,可实现应用程序的 ' 上下文敏感 ' ,而且帮助系统...
标签: Delphi
  所有的应用程序都是 TApplication的派生类。 TApplication 有三种方法调用在线帮助系统。 HelpContext方法可调用 WinHelp( 关于 Winhelp的内容见上节 ) 。它把 HelpFile 中的文件名和一个文本代码传递给 WinHelp 。 HelpFile是 TApplication 的字符串类型的属性,专门用来存放 Help 文件的。如果 HelpFile 属性是空字...
iPhone如何禁止应用程序(www.tulaoshi.com)内访问控制中心   进入iPhone6设置界面,点击【控制中心】进入,关闭【应用程序内访问】即可。(如下图)      iPhone6手势怎么设置   iPhone6手势怎么设置呢?iphone手机内置一个非常实用方便的手势辅助功能,使用该功能可以实现多种快捷操作方式,对于刚刚...

经验教程

65

收藏

83
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部