前言:
前几天领导分享了一篇文章,说让我们也用起来。原文:JavaMelody应用监控使用指南
JavaMelody github Wiki主页(请查看此文)
wiki中有详细解说,不过是英文,可能有人看不懂。也可以查看上面第一篇文章,它的后两篇文章是监控sql和spring struts的。
添加JavaMelody到项目中
jar包(无maven的项目使用)
复制文件 javamelody.jar 和 jrobin-x.jar, 到你的项目中的 WEB-INF/lib 目录下。
配置maven
如果你的项目是maven,很幸运,不用像别人一样复制jar包,你只要配置pom.xml就可以了。
<!--JavaMelody 核心jar包-->
<dependency>
<groupId>net.bull.javamelody</groupId>
<artifactId>javamelody-core</artifactId>
<version>1.57.0</version>
</dependency>
<!-- itext, 用于支持 PDF 导出 -->
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
<exclusions>
<exclusion>
<artifactId>bcmail-jdk14</artifactId>
<groupId>bouncycastle</groupId>
</exclusion>
<exclusion>
<artifactId>bcprov-jdk14</artifactId>
<groupId>bouncycastle</groupId>
</exclusion>
<exclusion>
<artifactId>bctsp-jdk14</artifactId>
<groupId>bouncycastle</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- 用于支持xml,json导出 -->
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.2</version>
</dependency>
<!-- 监控核心类,包含在JavaMelody 核心jar包,不用单独添加 -->
<dependency>
<groupId>org.jrobin</groupId>
<artifactId>jrobin</artifactId>
<version>1.5.9</version>
</dependency>
配置web.xml
在web.xml添加
<filter>
<filter-name>javamelody</filter-name>
<filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
<async-supported>true</async-supported>
</filter>
<filter-mapping>
<filter-name>javamelody</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>ASYNC</dispatcher>
</filter-mapping>
<listener>
<listener-class>net.bull.javamelody.SessionListener</listener-class>
</listener>
<async-supported>true</async-supported>
和 <dispatcher>ASYNC</dispatcher>
用于在servlet3.0中处理异步请求,一般我们用的是servlet2.3 或者 2.4 ,不使用这两个参数即可。
启动项目
按你的方式启动项目即可。
访问监控
你的项目根目录访问路径+/monitoring 即可。
例如:http://localhost:8080/test-project/monitoring
重新定义访问路径及设置密码
<filter>
<filter-name>javamelody</filter-name>
<filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
<init-param>
<param-name>monitoring-path</param-name>
<param-value>/moni</param-value>
</init-param>
<init-param>
<param-name>authorized-users</param-name>
<param-value>user1:password1,user2:password2,user3:password3...</param-value>
</init-param>
<!--<async-supported>true</async-supported>-->
</filter>
设置参数说明:
可以使用多各方式设置参数。
1. 可以在web.xml上下文中添加以javamelody.
开头的参数。
2. 在过滤器配置的servletContext中添加的参数也可以(没用过)
3. 直接在过滤器中添加初始化参数(上文中用到的方法)
其实有很多参数可以设置的。JavaMelody中有一个枚举类public enum net.bull.javamelody.Parameter
,它里面的所有属性都可以设置为参数。可以慢慢去发掘。