Chinaunix首页 | 论坛 | 博客
  • 博客访问: 232253
  • 博文数量: 75
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 848
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-08 10:27
文章分类
文章存档

2014年(9)

2013年(66)

我的朋友

分类: Java

2013-11-30 19:13:04

简介
JavaMelody 能够监测Java或Java EE应用程序服务器,并以图表的方式显示:
Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,
和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、 Guice)的执行数量,平均执行时间,错误百分比等。


图表可以按天,周,月,年或自定义时间段查看。


使用步骤


1.下载JavaMelody。

javamelody-1.16.0.jar,jrobin-1.5.9.1.jar
(版本号可能会不同)




2.将Jar包拷贝到项目的WEB-INF的lib目录。
3.在web.xml下增加配置。


 


[html] view plaincopy
 
             monitoring  
                net.bull.javamelody.MonitoringFilter  
           
 
         
                monitoring  
                /*  
       
 
         
                net.bull.javamelody.SessionListener  
       
 




  
4.重新启动项目,访问 即可看到监控图表。




安全问题
按照上述的配置,不需要登录就可以访问JavaMelody的页面。
实际项目中,常见需求是“登录用户,才可以查看”。
定制方法如下:
web.xml的Filter配置
packageName.ProjectMonitoringFilter
自定义的Filter  


[java] view plaincopy
public class ProjectMonitoringFilter extends net.bull.javamelody.MonitoringFilter{  
  
 @Override  
 public void doFilter(ServletRequest req, ServletResponse response,  
   FilterChain chain) throws IOException, ServletException {  
  HttpServletRequest request = (HttpServletRequest) req;  
  HttpSession session = request.getSession();  
  User user = (User) session.getAttribute(Constant.LOGIN_USER);  
  String uri = ((HttpServletRequest) request).getRequestURI();  
  if(user == null && uri.indexOf("/monitoring") != -1){  
   return;  
  }  
  super.doFilter(request, response, chain);  
 }  
   
}  


实践出真知
 本来想自己总结的,发现别人总结的比我好,所以就借鉴了许多别人写的。
 
 我觉得“借鉴”和“复制”别人的并不可耻,因为绝大部分技术都是别人开发的,我们只是用。
那些技术的优点、正确的使用方法,基本是固定的了,我们只有学习的份。


    这类工具的使用方法,网上一大堆。
 不过,自己总结下,加深下理解,今后也有自己的参考。
 看自己总结的,更亲切,更可读,出错的可能性更小。
阅读(1673) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~