续 《jplogic开发案例之服务器状态信息监控(服务器端监控)》写这篇关于j2ee应用服务器监控解决方案,对于一些大型系统中,对于系统管理员,在每个终端浏览器上需要系统了解j2ee服务器各项参数状态是一件头疼的事情!那么系统管理员或者拥有权限的管理员如何在每个终端浏览器上通过统一的界面或者(图形)报表来了解部署在远端的j2ee服务器的状态呢?像这类的解决方案还是有的。那么如何来获取关于服务器上关于CPU、内存等信息的呢?下面我就来简要阐明这其中的原理:

关于获取服务器操作系统内存、CPU等信息----【java要直接获取操作系统本身的一些信息,需要使用到JNI技术来调用第三方部件API来获取相关信息,典型有sigar,又或者是通过jvm来获取操作系统(跨平台)本身的一些,也就是oracle公司(收购了sun)提供的API来获取相关信息,本人也花了一些时间读一些这方面API的源码,诸如com.sun.management.OperatingSystemMXBean、java.lang.management.MemoryPoolMXBean、java.lang.management.MemoryUsage等】

关于获取http请求信息----【通过过滤器(既定API)的方式来拦截监控客户端请求服务端资源的一些状态信息】

关于获取j2ee服务器执行sql的状态以及用户Session数量、JDBC连接数等信息----【通过动态代理的方式来拦截每次j2ee应用向数据库发送sql的执行状态信息,那么如何实现这类的拦截呢,我们都知道我们的j2ee应用需要同jdbc标准或者基于该标准之下的ORM框架来完成对数据库的操作,如果使用一些开源ORM框架在应用中也可能会使用到数据库连接池(pooling),那么我们监控sql的状态信息,就可以使用动态代理技术来实现监控(我们可以创建这类对象或者与这些类对象相关联的一些对象的代理对象,当应用或者框架在执行代理对象的方法时,那么我们可以植入AOP切面去监控到这些信息,从而将这些信息显示在界面上)】

关于获取jsp容器的信息----【这需要调用j2ee标准规范下的API即可获取这类信息】

说了这些,希望能小伙伴们有所帮助,方面大家理解一些原理上的东西。说的不好地方也大家能指出,也欢迎大家与我交流【376447127】。

下面来展示一下我在自主研发的平台上针对服务器监控这块功能集成实现:

java web服务器监控(j2ee web 服务器各项参数监控)

java web服务器监控(j2ee web 服务器各项参数监控)

java web服务器监控(j2ee web 服务器各项参数监控)

java web服务器监控(j2ee web 服务器各项参数监控)

java web服务器监控(j2ee web 服务器各项参数监控)

java web服务器监控(j2ee web 服务器各项参数监控)

java web服务器监控(j2ee web 服务器各项参数监控)

java web服务器监控(j2ee web 服务器各项参数监控)

相关文章: