JavaMelody是用来在QA和实际运行生产环境中监控Java或Java EE应用程序服务器的一个开源框架。它可以测量和计算用户在实际操作中应用程序的使用情况,并以图表的形式显示,图表可以按天,周,月,年或自定义时间段查看,并且可以进行session的管理,强制清除session等操作
JavaMelody基础的监控包括Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、 Guice)的执行数量,平均执行时间,错误百分比等。如果要监控Jenkins,JIRA,Sonar等等一些,需要另外安装对应的插件,还有一些高级文档用于高级配置。
这里使用的框架为jfinal
<dependency>
<groupId>net.bull.javamelody</groupId>
<artifactId>javamelody-core</artifactId>
<version>1.76.0</version>
</dependency>
如果你是SpringBoot项目,则引入以下依赖
<dependency>
<groupId>net.bull.javamelody</groupId>
<artifactId>javamelody-spring-boot-starter</artifactId>
<version>1.76.0</version>
</dependency>
如果应用服务器兼容Servlet API 3.0比如tomcat 7, glassfish v3或者 jboss 6,一般可以跳过这一步,除非你用了一个没有version="3.0"的web.xml。不然就如下操作:在程序的WEB-INF/web.xml里面,在servlet之前添加如下行,其中注意
<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>
如果你是SpringBoot项目,请参照以下配置:
#javamelody 监控
javamelody:
init-parameters:
# log http requests
log: true
上述步骤操作完毕,即可启动项目进行访问: http://ip地址+端口号/monitoring,界面如下