java weblogic 监控_关于java对于weblogic的一些监控方式(一)

本文介绍了如何通过java利用wlfulclient.jar建立与WebLogic的连接,并进行监控,包括JVM和JDBC连接池的关键指标。重点讲述了JMXServiceURL的设置以及MBeanServerConnection的初始化,同时也提到了WebLogic自带的jrockit JVM监控工具。
摘要由CSDN通过智能技术生成

1.关于jar包的引用

网上找了很多人,发现大家用的都是weblogic.jar,wlclient.jar(wljmxclient.jar),wls-api之类的包,这些包能在 WL_HOME/server/lib 下面能够找到。其实在官方文档里面也说明了,只要一个wlfulclient.jar包就够了,这个包并不是安装完就能找到的。而要进行如下操作

首先用cmd,或者用terminal进入 WL_HOME/server/lib

jdk1.6的用户敲入 java -jar wljarbuilder.jar

jdk1.5的用户敲入 java -jar wljarbuilder.jar -profile wlfullclient5

键入命令后就会在该目录下多出一个wlfulclient.jar的包(前提是已经配好了java环境变量 否则java命令要打全)。之后再配置下classpath就可以正常进行调用

2.常用监控指标

JVMRuntime

HeapSizeCurrent 返回当前JVM堆中内存数,单位时字节

HeapFreeCurrent 返回当前JVM堆中空闲内存数,单位时字节

ExecuteQueueRuntime

ExecuteThreadCurrentIdleCount 返回队列中当前空闲线程数

PendingRequestOldestTime 返回队列中最长的等待时间

PendingRequestCurrentCount 返回队列中等待的请求数

Queue Length 队列长度

JDBCConnectionPoolRuntime

WaitingForConnectionHighCount 返回本JDBCConnectionPoolRuntimeMBean 上最大等待连接数

WaitingForConnectionCurrentCount 返回当前等待连接的总数

MaxCapacity 返回JDBC池的最大能力

WaitSecondsHighCount 返回等待连接中的最长时间等待者的秒数

ActiveConnectionsCurrentCount 返回当前活动连接总数

ActiveConnectionsHighCount 返回本JDBCConnectionPoolRuntimeMBean 上最大活动连接数

在进行检测的时候主要关注两种Mbeans:配置Mbeans 与运行时Mbeans。(本文暂不对配置Mbeans进行分析)

运行时Mbeans 则提供了诸如JVM 内存资源使用状况以及WebLogic 服务器状态等资源的信息快照。当域中的某一资源实例化时(例如Web 应用),相应地就会创建一个Mbeans 实例来收集该资源的信息。我们要做的就是如何用java对这些可视化的资源进行收集。

3.用java进行连接weblogic

weblogic的链接也有多种方式。此处提供官方推荐的方式:

public class MyConnection {

private static MBeanServerConnection connection;

private static JMXConnector connector;

private static final ObjectName service;

/*

* 实例化与 Domain Runtime MBean Server 的连接。

*/

public static void initConnection(String hostname, String portString,

String username, String password) throws IOException,

MalformedURLException {

String protocol = "t3";

Integer portInteger = Integer.valueOf(portString);

int port = portInteger.intValue();

String jndiroot = "/jndi/";

String mserver = "weblogic.management.mbeanservers.domainruntime";

JMXServiceURL serviceURL = new JMXServiceURL(protocol, hostname, port,

jndiroot + mserver);

Hashtable h = new Hashtable();

h.put(Context.SECURITY_PRINCIPAL, username);

h.put(Context.SECURITY_CREDENTIALS, password);

h.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES,

"weblogic.management.remote");

connector = JMXConnectorFactory.connect(serviceURL, h);

connection = connector.getMBeanServerConnection();

}

public static void main(String[] args) throws Exception {

String hostname = args[0];

String portString = args[1];

String username = args[2];

String password = args[3];

MyConnection c= new MyConnection();

initConnection(hostname, portString, username, password);

...

connector.close();

}

}

以上操作可以初始化MBeanServerConnection 当然获得的对象是DomainRuntimeServiceMBean

// 实例化 DomainRuntimeServiceMBean 对象名

// 这样可以通过类使用此对象名。

static {

try {

service = new ObjectName("com.bea:Name=DomainRuntimeService,Type=weblogic.management.mbeanservers.domainruntime.DomainRuntimeServiceMBean");

}catch (MalformedObjectNameException e) {

throw new AssertionError(e.getMessage());

}

}

下一篇为大家介绍jxm的注册方式

PS.1.weblogic 在安装完后会有一个jrockit。是weblogic自带的一个很好的jvm监控工具。

此处献上jmx笔记http://m.oschina.net/blog/719

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2014-04-08 11:12

浏览 2926

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值