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

2016-02-19 15:58 2 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池。

MBeanHome home = (MBeanHome) new
  InitialContext().lookup(MBeanHome.LOCAL_JNDI_NAME);
  Set pools = home.getMBeansByType("JDBCConnectionPool");

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

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

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)java weblogic.Admin -username system -passWord [password] -url [url] GET
  -pretty -type JDBCConnectionPool

  

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

延伸阅读
作为Web应用程序模型的AJAX的出现使服务器端的面貌发生了巨大的变化。用户对着Web页面填写表单并单击提交按钮转到下一个链接的典型Web使用模式现在正在转变为更先进的客户端JavaScript以及功能更丰富的用户界面,只要对表单进行操作,比如单击一个复选框、按下一个键或将鼠标移到一个选项卡上,该用户界面就会不断地与服务器交互。 考...
标签: Web开发
始      首先我们从一个简单的XML文档开始。现在来看看我们最初的演示文档--CD 目录:          ?xml version="1.0"?    CATALOG    CD    TITLEEmpire Burlesque /TITLE    ARTISTBob Dylan /ARTIST &nb...
标签: 电脑入门
MAC系统中Dock栏里总是有着许多我们常用的或正在使用的应用程序,对于这些应用程序,我们可以通过Dock对他们进行管理。下面是具体的方法。 Dock管理应用程序的方法: 以iTunes为例,我们先启动iTunes。当然,不管我们是从应用程序文件夹中还是从Dock上启动应用程序,程序都是会显示在Dock上的,Dock即充当了快捷启动栏又是一个任务条。 ...
iPhone如何禁止应用程序(www.tulaoshi.com)内访问控制中心   进入iPhone6设置界面,点击【控制中心】进入,关闭【应用程序内访问】即可。(如下图)      iPhone6手势怎么设置   iPhone6手势怎么设置呢?iphone手机内置一个非常实用方便的手势辅助功能,使用该功能可以实现多种快捷操作方式,对于刚刚...
标签: Delphi
  11.1 Help文件的建立 Help文件是 Micosoft Windows3.0 以上的版本提供的超文本帮助文件。利用这种超文本 , 用户可非常方便地使用帮助文件系统。帮助文件是以主题为主线进行编写的,一个主题可以跳转至相关的主题,也可按关键字进行主题查询。帮助文件与软件开发工具相结合,可实现应用程序的 ' 上下文敏感 ' ,而且帮助系统...

经验教程

726

收藏

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