JavaMelody 可以实现对内存、CPU、线程、JDBC 连接数、HTTP 请求执行时间、SQL 执行时间(分析 Top SQL)、方法执行时间(分析系统方法性能瓶颈)等等的监控。
配置方式
1. pom.xml(加入依赖包)
1
2
3
4
5
|
<
dependency
>
<
groupId
>net.bull.javamelody</
groupId
>
<
artifactId
>javamelody-core</
artifactId
>
<
version
>1.53.0</
version
>
</
dependency
>
|
2. web.xml
2.1. 配置过滤器,也可以配置不需要监控的 HTTP 请求。
注意:一定要放在所有过滤器的最上面,不然会被 action 拦截。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<
filter
>
<
filter-name
>monitoring</
filter-name
>
<
filter-class
>net.bull.javamelody.MonitoringFilter</
filter-class
>
<
init-param
>
<!-- 配置不需要拦截的路径
<param-name>url-exclude-pattern</param-name>
<param-value>/static/.*</param-value>
-->
<!-- 配置登录用户名密码。shop端配置,man端不需要 -->
<
param-name
>authorized-users</
param-name
>
<
param-value
>用户名:密码</
param-value
>
</
init-param
>
</
filter
>
<
filter-mapping
>
<
filter-name
>monitoring</
filter-name
>
<
url-pattern
>/*</
url-pattern
>
</
filter-mapping
>
|
2.2 配置 JDBC 监控统计(必须作为第一个配置文件)
1
2
3
4
5
6
7
|
<
context-param
>
<
param-name
>contextConfigLocation</
param-name
>
<
param-value
>
classpath:net/bull/javamelody/monitoring-spring.xml;
<!-- 和 Spring 集成时添加 -->
classpath:spring-config.xml;classpath:spring-config-struts.xml
</
param-value
>
</
context-param
>
|
3 struts.xml 配置 Struts 监控(将 'monitoring' interceptor 配置到被继承的 package 下)
1
2
3
4
5
6
7
8
9
10
11
12
|
<
package
name
=
"default"
extends
=
"struts-default"
>
<
interceptors
>
<!-- javamelody -->
<
interceptor
name
=
"monitoring"
class
=
"net.bull.javamelody.StrutsInterceptor"
/>
<
interceptor-stack
name
=
"myStack"
>
<
interceptor-ref
name
=
"monitoring"
/>
<!-- struts 默认的拦截器 -->
<
interceptor-ref
name
=
"defaultStack"
/>
</
interceptor-stack
>
</
interceptors
>
<
default-interceptor-ref
name
=
"myStack"
/>
</
package
>
|
4. 配置 Quartz 监控
全文搜索 org.springframework.scheduling.quartz.SchedulerFactoryBean,在 xml 的每个 bean 中加入 propetry。
1
2
3
|
<
bean
id
=
"quartzScheduler"
class
=
"org.springframework.scheduling.quartz.SchedulerFactoryBean"
>
<
property
name
=
"exposeSchedulerInRepository"
value
=
"true"
/>
</
bean
>
|
访问链接:域名/monitoring,如:http://localhost/monitoring
JavaMelody 缓存文件的清除:默认路径一般在 tomcat_home/temp/javamelody 中。