`
fyjava
  • 浏览: 60661 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

用jwebap监控独立数据源应用

阅读更多

<!----><!----> <!---->

前言

Apusic 应用服务器提供了数据源事件监控功能,通过 Apusic Studio 的辅助,可以非常直观地获得应用中 SQL 执行情况,帮助分析发现问题。

但是,在一些应用中,并未使用到 Apusic 的数据源,如何对 SQL 执行情况进行监控呢?搜索了下,有开源的产品如 jamon jamonapi.sf.net )和 jwebap jwebap.sf.net )能够解决这个问题。本文描述如何在 web 应用中配置使用 jwebap 进行 SQL 监控。

 

 


<!---->1        <!---->获取 jwebap

jwebap 的程序都在一个 jar 文件中,可以从其官方网站下载,也可以从以下地址下载 http://ftp.apusic.com/sam/ jwebap_0.5.9_1.jar (用户: common 密码: common )。

在实际使用中,发现 jwebap 还依赖于 jakarta common 包中的 commons-beanutils commons-digester commons-logging log4j 等,相关 jar 文件请从 http://jakarta.apache.org 网站下载。


<!---->2        <!---->配置 jwebap

配置 jwebap 只需要简单的几步:

1. jwebap_0.5.9_1.jar 及上文提及的其他相关 jar 文件复制到应用的 WEB-INF/lib 目录。

2. 在应用的 WEB-INF 目录下创建文件 jwebap.xml ,参考内容如下:

<jwebap>

 

<component name="JdbcComponent" type="org.jwebap.plugin.jdbc.JdbcComponent">

      <property name='trace-filter-active-time'>-1</property>

      <property name='trace-max-size'>1300</property>

      <property name='connection-listener'>org.jwebap.plugin.http.ServletOpenedConnectionListener;org.jwebap.plugin.method.MethodOpenedConnectionListener</property>

      <property name='driver-clazzs'>oracle.jdbc.driver.OracleDriver</property>

</component>

</jwebap>

其中, dirver-clazzs 表示需要监控的数据库 JDBC 驱动类。

3. 在应用的 WEB-INF/web.xml 文件中,添加 jwebap 相关的配置,相关配置片段参考如下:

<context-param>

      <param-name>config</param-name>

      <param-value>/WEB-INF/jwebap.xml</param-value>

</context-param>

<listener>  

      <listener-class>org.jwebap.core.JwebapListener</listener-class>      

</listener>

<servlet>

      <servlet-name>detect</servlet-name>

      <servlet-class>org.jwebap.ui.controler.JwebapServlet</servlet-class>      

</servlet>

<servlet-mapping>

      <servlet-name>detect</servlet-name>

      <url-pattern>/detect/*</url-pattern>

</servlet-mapping>

4. 其他

检查 Apusic 连接池配置文件 datasources.xml ,将各数据源暂时注释掉。

<!---->3        <!---->访问 jwebap 控制台

jwebap 的控制台通过 http://your-host-name:your-port/your-context-root/detect/ 进行访问,这是一个基于 EXT 做的界面, 还不错

<!---->4        <!---->更多配置

jwebap 不仅可以监控独立数据源,而且可以监控 http 页面、应用方法等的执行性能。相关的配置样例如下:

jwebap.xml

<jwebap>

 

<component name="HttpComponent" type="org.jwebap.plugin.http.HttpComponent">

       <property name='trace-filter-active-time'>-1</property>

       <property name='trace-max-size'>1000</property>

</component>

 

<component name="MethodComponent" type="org.jwebap.plugin.method.MethodComponent">

       <property name='trace-filter-active-time'>-1</property>

       <property name='trace-max-size'>1000</property>

       <property name='detect-clazzs'>test.*;</property>

</component>

 

<component name="JdbcComponent" type="org.jwebap.plugin.jdbc.JdbcComponent">

       <property name='trace-filter-active-time'>-1</property>

       <property name='trace-max-size'>1300</property>

       <property name='connection-listener'>org.jwebap.plugin.http.ServletOpenedConnectionListener;org.jwebap.plugin.method.MethodOpenedConnectionListener</property>

       <property name='driver-clazzs'>oracle.jdbc.driver.OracleDriver</property>

</component>

 

</jwebap>

 

web.xml

<context-param>

       <param-name>config</param-name>

       <param-value>/WEB-INF/jwebap.xml</param-value>

</context-param>

<listener>   

       <listener-class>org.jwebap.core.JwebapListener</listener-class>      

</listener>

 

<filter>

       <filter-name>PageDetectFilter</filter-name>

       <filter-class>org.jwebap.plugin.http.DetectFilter</filter-class>

       <init-param>

              <param-name>excludeUrls</param-name>

              <param-value>/detect;/detect/*;*.js;*.jpg;*.htm;*.html;*.gif;*.png;*.css;*.swf</param-value>

       </init-param>

</filter>

<filter-mapping>

       <filter-name>PageDetectFilter</filter-name>

       <url-pattern>/*</url-pattern>

</filter-mapping>

 

<servlet>

       <servlet-name>detect</servlet-name>

       <servlet-class>org.jwebap.ui.controler.JwebapServlet</servlet-class>      

</servlet>

<servlet-mapping>

       <servlet-name>detect</servlet-name>

       <url-pattern>/detect/*</url-pattern>

</servlet-mapping>

 

 

分享到:
评论

相关推荐

    Jwebap使用手册(强烈推荐)

    Jwebap是一个针对Java Web应用程序的Profiler工具,它不依赖于JVMPI,而是作为一个独立的JAVA应用运行,适用于JDK1.4及更高版本。Jwebap旨在安全高效地部署在生产和测试环境中,帮助识别性能瓶颈并为动态性高的应用...

    jwebap应用

    NULL 博文链接:https://canofy.iteye.com/blog/286490

    jwebap_0.6.1

    同时Jwebap提供Web Console进行整个Jwebap的管理和数据展现。在API层提供一套默认的视图框架供plugin开发者使用,可以只用Jar包就开发出相当漂亮的 Web界面。  3)Jwebap的开发分为两个部分Jwebap-core部分,...

    jwebap_0.6.0_all.zip

    4. **core-src**:这是jwebap的核心源代码,包含主要的分析引擎、数据收集模块以及与Web应用交互的接口。通过阅读这部分源代码,开发者可以理解其工作原理,甚至进行定制化开发。 5. **doc**:文档目录,通常包含...

    Jwebap User Guide 配置网站日志追踪

    接下来是`web.xml`文件,它是Web应用的部署描述符,虽然主要负责Web应用的初始化参数和Servlet配置,但也可以与Jwebap配合使用,通过在`web.xml`中引入Jwebap的相关配置,使得日志设置能够在Web应用启动时自动加载。...

    jwebap_0.5.9_1.jar

    Jwebap的开发分为两个部分Jwebap-core部分,Jwebap-plugin部分。core部分基于jdk14提供了类静态增强,轨迹生命管理,Plugin管理,视图框架等等,在这个基础上开发plugin。我觉得,好的profiling应该能够根据不同的...

    profiler工具Jwebap_0.5.2_alpha版发布

    博文链接:https://leadyu.iteye.com/blog/138576

    互联网后端基础设施架构.pdf

    最后,为了监控和优化后端性能,性能检测框架如Jwebap(或二次开发版本)不可或缺,它可以跟踪每个请求、方法调用、数据库和缓存连接的耗时和状态,帮助识别并优化性能瓶颈。 综上所述,互联网后端基础设施架构涉及...

    commontemplate-0.8.1.jar

    commontemplate-0.8.1.jar,是使用jwebap所需要的jar包。没有它,启动会有错误

Global site tag (gtag.js) - Google Analytics