<!----><!---->
<!---->
前言
Apusic
应用服务器提供了数据源事件监控功能,通过
Apusic Studio
的辅助,可以非常直观地获得应用中
SQL
执行情况,帮助分析发现问题。
但是,在一些应用中,并未使用到
Apusic
的数据源,如何对
SQL
执行情况进行监控呢?搜索了下,有开源的产品如
jamon
(
jamonapi.sf.net
)和
jwebap
(
jwebap.sf.net
)能够解决这个问题。本文描述如何在
web
应用中配置使用
jwebap
进行
SQL
监控。
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
网站下载。
配置
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
,将各数据源暂时注释掉。
jwebap
的控制台通过
http://your-host-name:your-port/your-context-root/detect/
进行访问,这是一个基于
EXT
做的界面,
还不错
。
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>
|
分享到:
相关推荐
NULL 博文链接:https://canofy.iteye.com/blog/286490
同时Jwebap提供Web Console进行整个Jwebap的管理和数据展现。在API层提供一套默认的视图框架供plugin开发者使用,可以只用Jar包就开发出相当漂亮的 Web界面。 3)Jwebap的开发分为两个部分Jwebap-core部分,...
4. **core-src**:这是jwebap的核心源代码,包含主要的分析引擎、数据收集模块以及与Web应用交互的接口。通过阅读这部分源代码,开发者可以理解其工作原理,甚至进行定制化开发。 5. **doc**:文档目录,通常包含...
接下来是`web.xml`文件,它是Web应用的部署描述符,虽然主要负责Web应用的初始化参数和Servlet配置,但也可以与Jwebap配合使用,通过在`web.xml`中引入Jwebap的相关配置,使得日志设置能够在Web应用启动时自动加载。...
Jwebap的开发分为两个部分Jwebap-core部分,Jwebap-plugin部分。core部分基于jdk14提供了类静态增强,轨迹生命管理,Plugin管理,视图框架等等,在这个基础上开发plugin。我觉得,好的profiling应该能够根据不同的...
博文链接:https://leadyu.iteye.com/blog/138576
最后,为了监控和优化后端性能,性能检测框架如Jwebap(或二次开发版本)不可或缺,它可以跟踪每个请求、方法调用、数据库和缓存连接的耗时和状态,帮助识别并优化性能瓶颈。 综上所述,互联网后端基础设施架构涉及...
commontemplate-0.8.1.jar,是使用jwebap所需要的jar包。没有它,启动会有错误