JavaMelody-监控web应用
2016-06-14 12:57
429 查看
EE应用程序服务器,并以图表的方式显示:Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、 Guice)的执行数量,平均执行时间,错误百分比等。图表可以按天,周,月,年或自定义时间段查看。
1、下载
1)直接下载: https://github.com/javamelody/javamelody/releases/download/1.50.0/javamelody-1.50.0.zip,打开下载即可
2)如果使用Maven,那么在pom中加入下面的引用即可
<dependency> <groupId>net.bull.javamelody</groupId> <artifactId>javamelody-core</artifactId> <version>1.59.0</version> </dependency> <dependency> <groupId>org.jrobin</groupId> <artifactId>jrobin</artifactId> <version>1.5.9</version> </dependency>
注意:
要使用JDK1.7,使用JDK1.6有bug会OOM
Bean的配置其实就是net/bull/javamelody/monitoring-spring.xml里面的配置,可以到javamelody.jar看源码配置文
<bean id="monitoringAdvisor" class="net.bull.javamelody.MonitoringSpringAdvisor"> <property name="pointcut"> <bean class="net.bull.javamelody.MonitoredWithAnnotationPointcut"/> </property> </bean> <bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"> <property name="proxyTargetClass" value="true"/> </bean> <bean id="springDataSourceBeanPostProcessor" class="net.bull.javamelody.SpringDataSourceBeanPostProcessor"> </bean>
2、配置XML。
1) 修改contextConfigLocation,改为:
[html] view
plain copy
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:net/bull/javamelody/monitoring-spring.xml
classpath:config/spring-*.xml</param-value>
</context-param>
即,添加了monitoring-spring.xml文件。
2) 在第一个Filter之前加上JavaMelody的Filter配置,确保JavaMelody的Filter第一个被执行
[html] view
plain copy
<!-- javamelody===begin -->
<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>
<!-- javamelody===end -->
3、和struts2集成
1)在struts-common.xml中加入以下代码:
[html] view
plain copy
<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>
2)将struts-模块名.xml中的extends改为default, 即:
[html] view
plain copy
<package name="qx-module" namespace="/module" extends="default">
4、和Spring集成
1)在spring-common.xml中添加以下代码:
[html] view
plain copy
<bean id="facadeMonitoringAdvisor" class="net.bull.javamelody.MonitoringSpringAdvisor">
<property name="pointcut">
<bean class="org.springframework.aop.support.JdkRegexpMethodPointcut">
<property name="pattern" value="mgr.*.*.service" />
</bean>
</property>
</bean>
5、监控实体
在实体的persistence.xml文件最前面加入红色语句(必须用JavaMelody1.5及以上),如:
[html] view
plain copy
<persistence-unit name="gxpt-qx-entity" transaction-type="JTA" >
<provider>net.bull.javamelody.JpaPersistence</provider>
<jta-data-source>java:/MySqlDS</jta-data-source>
<properties>
<!-- <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/> -->
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.show_sql" value="true" />
</properties>
</persistence-unit>
6、查看javaMelody
访问的目录后加/javamelody ,如http://localhost:8080/应用名/monitoring
相关文章推荐
- 使用zabbix监控Nginx活动状态--Part1
- C#实现简单屏幕监控的方法
- C#进程监控方法实例分析
- Windows下使用性能监视器监控SqlServer的常见指标
- Android编程实现监控各个程序流量的方法
- Zabbix监控Linux主机设置方法
- Zabbix监控交换机设置方法
- 使用zabbix监控mongodb的方法
- Shell脚本实现Linux系统和进程资源监控
- jQuery 监控键盘一段时间没输入
- 使用jQuery.wechat构建微信WEB应用
- Oracle 监控索引使用率脚本分享
- 获取键盘键的值 集合 方便监控键盘事件
- 一个监控Squid运行进程数并自动重启的简洁Shell脚本分享
- Linux下用Python脚本监控目录变化代码分享
- Shell脚本编写Nagios插件监控程序资源占用
- Shell脚本实现监控kingate并自动启动
- Shell脚本监控网站页面正常打开情况
- shell脚本监控系统负载、CPU和内存使用情况
- MySQL数据库维护中监控所用到的常用命令