前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >系统监控工具JavaMelody使用案例

系统监控工具JavaMelody使用案例

作者头像
小柒2012
发布2018-04-13 15:19:47
1.8K0
发布2018-04-13 15:19:47
举报
文章被收录于专栏:IT笔记

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

好了,说了那么多,配图实例一下,这是添加完成应用的一个统计。

看着的确是难看了那么一点点,但是很全面啊,各种统计报表都在里面了。

好了,看了那么多,我们下面来说一下如何配置到应有中去。

源码下载:http://pan.baidu.com/s/1skEEvnf

1.下载的源码文件夹里面 ,有一个javamelody.war,这个需要部署到你的web服务器下面,这里我使用的是tomcat。

2.然后将 jrobin-1.5.9.1.jar 和 javamelody.jar 放入需要被监控应用的lib下面。

3.web.xml里面需要加入如下代码(注意一定要放到所有过滤器的最上面,否则无法添加应用):

代码语言:javascript
复制
<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>需要,以支持Servlet API的3.0异步请求。

可选参数配置: 排除某个目录下的监控配置。

代码语言:javascript
复制
<init-param>
        <param-name>url-exclude-pattern</param-name>
        <param-value>/static/.*</param-value>
    </init-param>

日志打印参数配置。

代码语言:javascript
复制
 <init-param>
        <param-name>log</param-name>
        <param-value>true</param-value>
    </init-param>

4.如何监控Struts2操作

如果来监视应用程序包含了一些Struts 2的动作,一个柜台可以为动作执行的统计数据来创建。为此,必须添加Struts拦截器。

在Struts xml文件中,添加以下行(或在默认堆栈中添加“监视”拦截器):

代码语言:javascript
复制
<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>

5.如何监控数据库 只需要在web.xml中导入一下配置即可:

代码语言:javascript
复制
 <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        classpath:net/bull/javamelody/monitoring-spring-datasource.xml
    </param-value>
  </context-param>

monitoring-spring-datasource.xml 文件在jar包的绝对路径下面。 项目使用的是struts2+spring+hibernae,网上很多说如何监控sql配置hibernate的,但是都没有配置成功,可能是方法不对吧。 这是网上给出的案例:

代码语言:javascript
复制
<property name="hibernate.connection.driver_class">net.bull.javamelody.JdbcDriver</property> <!-- 注意这里 -->
        <property name="hibernate.connection.driver">com.mysql.jdbc.Driver</property> <!-- 还要注意这里 -->
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/myschema</property>
        <property name="hibernate.connection.username">myuser</property>
        <property name="hibernate.connection.password">mypassword</property>

6.如何监控spring 在xml中配置一下代码:

代码语言:javascript
复制
<!-- spring sql 监控 -->
    <bean id= "facadeMonitoringAdvisor" class="net.bull.javamelody.MonitoringSpringAdvisor" >  
         <property name ="pointcut" >  
                 <bean class="org.springframework.aop.support.JdkRegexpMethodPointcut" >  
                         <property name ="pattern" value="com.acts.web.*.service.*" /><!--正则表达式-->  
                 </bean>  
         </property>  
    </bean>

用户指南:https://github.com/javamelody/javamelody/wiki/UserGuide

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-02-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档