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

刚入门编程,在weblogic实现监控处碰到了许多问题。在网上找了些相关的资料做了一些整合,和大家分享下。

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

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

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

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

[b]2.常用监控指标[/b]


[size=large]JVMRuntime[/size]

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


[size=large]ExecuteQueueRuntime[/size]

ExecuteThreadCurrentIdleCount 返回队列中当前空闲线程数
PendingRequestOldestTime 返回队列中最长的等待时间
PendingRequestCurrentCount 返回队列中等待的请求数
Queue Length 队列长度


[size=large]JDBCConnectionPoolRuntime [/size]

WaitingForConnectionHighCount 返回本JDBCConnectionPoolRuntimeMBean 上最大等待连接数
WaitingForConnectionCurrentCount 返回当前等待连接的总数
MaxCapacity 返回JDBC池的最大能力
WaitSecondsHighCount 返回等待连接中的最长时间等待者的秒数
ActiveConnectionsCurrentCount 返回当前活动连接总数
ActiveConnectionsHighCount 返回本JDBCConnectionPoolRuntimeMBean 上最大活动连接数

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

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


[b]3.用java进行连接weblogic[/b]
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笔记[url]http://m.oschina.net/blog/719[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值