快速业务通道

Java运行时监控,第1部分: Java系统运行时性能和可用性监控 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
监控计划中的关键环节。由于 JMX 抽象层,该流程与之前介绍的类似。

下面是来自 JBoss 4.2 应用服务器实例的典型数据源指标:

可用连接数:当前池中可用连接的数量。

连接数:连接池与数据库建立的实际物理连接的数量。

最大使用连接数:池中正在使用的连接的上限标记。

正在使用的连接数:当前正在使用的连接数量。

已创建的连接数:为该池创建的连接总数。

已部署的连接数:为该池部署的连接总数。

Java运行时监控,第1部分: Java系统运行时性能和可用性监控(10)

时间:2011-02-13 IBM Nicholas Whitehead

现在,收集器将使用批属性检索,并在一个调用中获取所有属性。惟一需要注意的是,您需要查询返回的数据,以接通不同的数据和跟踪程序类型。DataSource 指标在没有活动时也是不会变化的,因此,要使数值变化,您需要生成一些负载。清单 4 显示 DataSource 收集器的 collect() 方法:

清单 4. DataSource 收集器

public void collect() {   try {    log("Starting DataSource Collection");    long start = System.currentTimeMillis();    ObjectName on = objectNameCache.get("DS_OBJ_NAME");    AttributeList attributes = jmxServer.getAttributes(on, new String[]{       "AvailableConnectionCount",       "MaxConnectionsInUseCount",       "InUseConnectionCount",       "ConnectionCount",       "ConnectionCreatedCount",       "ConnectionDestroyedCount"    });    for(Attribute attribute: (List<Attribute>)attributes) {      if(attribute.getName().equals("ConnectionCreatedCount")       || attribute.getName().equals("ConnectionDestroyedCount")) {         tracer.traceDeltaSticky((Integer)attribute.getValue(), hostName,         "DataSource", on.getKeyProperty("name"), attribute.getName());      } else {       if(attribute.getValue() instanceof Long) {         tracer.traceSticky((Long)attribute.getValue(), hostName, "DataSource",          on.getKeyProperty("name"), attribute.getName());       } else {         tracer.traceSticky((Integer)attribute.getValue(), hostName,          "DataSource",on.getKeyProperty("name"), attribute.getName());       }      }    }    // Done    long elapsed = System.currentTimeMillis()-start;    tracer.trace(elapsed, hostName, "DataSource", "DataSource Collector",      "Collection", "Last Elapsed Time");    tracer.trace(new Date(), hostName, "DataSource", "DataSource Collector",      "Collection", "Last Collection");    log("Completed DataSource Collection in ", elapsed, " ms.");   } catch (Exception e) {    log("Failed:" + e);    tracer.traceIncident(hostName, "DataSource", "DataSource Collector",      "Collection", "Collection Errors");   } }

图 8 显示了 DataSource 收集器的相应指标树:

图 8. DataSource 收集器

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号