用JavaMelody来监控我们的web应用

JavaMelody的是一款监控Java或Java EE应用服务器在质量保证和生产环境。它不是一个工具来模拟来自用户的请求,这是一个测量和计算在实际操作应用程序根据用户应用程序的使用情况的工具。JavaMelody主要是基于请求统计数据和图表。

可以在 http://code.google.com/p/javamelody/downloads/list 下载它,最新的版本发布在https://github.com/javamelody/javamelody/releases/tag/1.51.0
我下载一个javamelody-1.51.0.zip 解压开来,将jira-javamelody.jar放在我web程序的目录下,
这里配置的是一个简单的jsp+servlet应用,修改你的web.xml

<filter>
      <filter-name>monitoring</filter-name>
      <filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
</filter>
<filter-mapping>
       <filter-name>monitoring</filter-name>
       <url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
       <listener-class>net.bull.javamelody.SessionListener</listener-class>
</listener>

ok,启动应用访问http://127.0.0.1:8080/sample-jsp/monitoring 来看看。
1
友好的中文提示,来看看其他的,中文的解释你懂的。。
2

3

4

我这里只是一个基础的servlet应用,显示的数据比较小,他也支持和struts、spring这些web框架集成。

•集成struts2

<package name="default" extends="struts-default" >
                <interceptors>
                        <interceptor name="monitoring" class="net.bull.javamelody.StrutsInterceptor"/>          
 
                        <interceptor-stack name="myStack">
                                <interceptor-ref name="monitoring"/>
                                <interceptor-ref name="defaultStack"/>
                        </interceptor-stack>
                </interceptors>
                 
                <default-interceptor-ref name="myStack"/>
</package>

其他的包继承default包即可

•集成spring

<context-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>
                classpath:net/bull/javamelody/monitoring-spring.xml
                classpath:context/services.xml
                classpath:context/data-access-layer.xml
                /WEB-INF/applicationContext.xml
          </param-value>
</context-param>

<bean id="facadeMonitoringAdvisor" class="net.bull.javamelody.MonitoringSpringAdvisor">
       <property name="pointcut">
             <bean class="net.bull.javamelody.MonitoredWithInterfacePointcut">
                   <property name="interfaceName" value="com.xyz.someapp.service.Facade" />
             </bean>
       </property>
</bean>

也可以使用注解的方式进行配置,一般不用.

关于Zeno Chen

本人涉及的领域较多,杂而不精 程序设计语言: Perl, Java, PHP, Python; 数据库系统: MySQL,Oracle; 偶尔做做电路板的开发,主攻STM32单片机
此条目发表在Java分类目录。将固定链接加入收藏夹。