浏览 1316 次
锁定老帖子 主题:用jwebap监控独立数据源应用
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-06-19
但是,在一些应用中,并未使用到 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> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |