jmx 远程监控 jvm及weblogic
来源:互联网 发布:小猪cms创始人 编辑:程序博客网 时间:2024/05/29 05:01
这两天写了一些jmx 监控 weblogic 及 jvm 的代码。内容简单。代码都写在一个按钮的事件里。主要完成的功能就是远程监控jvm 及weblogic 的一些使用情况。功能单一。也可以改一下内容进行手动远程gc。oracle weblogic 技术讨论群49303854
try {
//初始监控化信息表头
DefaultTableModel mode = new DefaultTableModel();
mode.addColumn("IP");
mode.addColumn("当前堆大小");
mode.addColumn("自由内存");
mode.addColumn("内存使用率");
mode.addColumn("空闲线程");
mode.addColumn("总线程");
mode.addColumn("队列长度");
mode.addColumn("等待服务队列");
mode.addColumn("每秒处理请求数");
//weblogic 服务器信息
String hostName = "172.18.27.48";
String port = "7878";
//初始化mbeanServer 连接
ServerConnection sinfo = new ServerConnection();
MBeanServerConnection mbeanServerConn = sinfo.getConnection(hostName, "7878", null, null);
//RuntimeServiceMBean
ObjectName root = new ObjectName( "com.bea:Name=RuntimeService,Type=weblogic.management.mbeanservers.runtime.RuntimeServiceMBean");
serverRuntime = (ObjectName) mbeanServerConn.getAttribute(root, "ServerRuntime");
threadPoolRuntime = (ObjectName) mbeanServerConn.getAttribute(serverRuntime, "ThreadPoolRuntime");
objName = (ObjectName) mbeanServerConn.getAttribute(serverRuntime,"JVMRuntime");
//jvm 内存使用情况
double memoryMaxSize=Integer.parseInt(String.valueOf(mbeanServerConn.getAttribute(objName, "HeapSizeCurrent")))/1024/1024;
double memoryFreeSize=Integer.parseInt(String.valueOf(mbeanServerConn.getAttribute(objName, "HeapFreeCurrent")))/1024/1024;
double memoryPer=(memoryMaxSize-memoryFreeSize)/memoryMaxSize*100;
//空闲线程:指占用了内存,但没有执行任务的线程
int ideThread = Integer.parseInt(String.valueOf(mbeanServerConn.getAttribute(threadPoolRuntime, "ExecuteThreadIdleCount")));
//总线程数
int totalThread = Integer.parseInt(String.valueOf(mbeanServerConn.getAttribute(threadPoolRuntime, "ExecuteThreadTotalCount")));
//等待请求的队列
int queueLength = Integer.parseInt(String.valueOf(mbeanServerConn.getAttribute(threadPoolRuntime, "QueueLength")));
//用户请求执行等待队列
int waitThreadCount = Integer.parseInt(String.valueOf(mbeanServerConn.getAttribute(threadPoolRuntime, "PendingUserRequestCount")));
//每秒处理的线程数比率
String throuhput = mbeanServerConn.getAttribute(threadPoolRuntime, "Throughput").toString();
//加入row 中
Object[] row = {hostName,memoryMaxSize,memoryFreeSize,memoryPer,ideThread,totalThread,queueLength,waitThreadCount,throuhput};
mode.addRow(row);
this.jTable1.setModel(mode);
} catch (MBeanException ex) {
Logger.getLogger(Jmx_moinView.class.getName()).log(Level.SEVERE, null, ex);
} catch (AttributeNotFoundException ex) {
Logger.getLogger(Jmx_moinView.class.getName()).log(Level.SEVERE, null, ex);
} catch (InstanceNotFoundException ex) {
Logger.getLogger(Jmx_moinView.class.getName()).log(Level.SEVERE, null, ex);
} catch (ReflectionException ex) {
Logger.getLogger(Jmx_moinView.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Jmx_moinView.class.getName()).log(Level.SEVERE, null, ex);
} catch (MalformedObjectNameException ex) {
Logger.getLogger(Jmx_moinView.class.getName()).log(Level.SEVERE, null, ex);
} catch (NullPointerException ex) {
Logger.getLogger(Jmx_moinView.class.getName()).log(Level.SEVERE, null, ex);
}
- jmx 远程监控 jvm及weblogic
- 施用JMX远程监控、管理JVM
- JMX远程图形化监控、管理JVM
- loadrunner 监控 weblogic(JMX)
- jmx远程连接weblogic
- 设置jmx远程监控
- mule jmx远程监控
- jmx配置远程监控
- Druid JMX 远程监控
- 通过JMX监控weblogic服务
- jconsole或jvisualvm监控远程weblogic应用JVM内存情况
- 用Zabbix经过JMX方式监控JVM/Tomcat/Weblogic/Websphere/Jboss等
- visualvm监控jvm及远程jvm监控方法
- visualvm监控jvm及远程jvm监控方法
- visualvm监控jvm及远程jvm监控方法
- visualvm监控jvm及远程jvm监控方法
- visualvm监控jvm及远程jvm监控方法
- visualvm监控jvm及远程jvm监控方法
- busybox 基本根文件系统
- Spannable
- 鼠标拖动(移动、拖曳)控件
- OPENGL ES资料
- mysql 索引
- jmx 远程监控 jvm及weblogic
- Amf3+socket开发网络游戏或应用的一点研究心得
- [转] 为什么要进行傅立叶变换
- 轻松得到C# ADO.NET的各种数据库连接字符串
- Git学习教程
- (Android) Low Memory Killer
- 网站技巧
- jsp中类型转换
- java的System.getProperty()方法可以获取的值