JavaMelody应用监控使用指南

前言

  本文参考JavaMelody的UserGuide编写,部分文字均来自文档,添加有个人理解。并进行实践操作

  JavaMelody是一款可以监控Java应用(比如项目war,ear包)以及应用服务器(比如Tomcat或Jboss weblogic等等)。可以通过图表给出监控数据。

  软件下载参考google网址:http://code.google.com/p/javamelody/downloads/list

  它支持对Java的内存使用,垃圾回收,Session,JDBC,SQL,http请求,业务方法等等多种信息的监控。

  JavaMelody介绍

  JavaMelody用于对Java应用或者应用服务器的QA以及开发环境的监控。它并不是一个模拟请求类似JMeter的压力测试工具,而是一个衡量并且计算在应用上的操作信息的工具,也就是说,它只负责对行为进行监控,而不负责触发操作。JavaMelody基于请求统计生成模拟图表,并为我们的应用程序在QA或者开发上提供下面的帮助:

  1 给出平均的响应时间以及执行数

  2 在某些操作趋势变得严重前给出提示

  3 优化响应

  4 找出响应瓶颈的根本

  5 证实优化策略的效果

  JDK版本要求:需要Java JDK在1.6或者1.6以上。

  支持在以下应用服务器的部署以及监控:

    servlet API在2.4以上

    Tomcat 5.5 6 或者7

    GlassFish v2或v3

    JBoss 4,5,6,7

    Jonas 4或5

    Jetty 6或7

    WebLogic 9,10,11

  如果想要监控其他的服务器需要安装一些插件,详情阅读UserGuide

  使用的浏览器最好是 Firefox Chrome或IE9

  JavaMelody安装

  安装测试JavaMelody需要一个web应用,一个javaMelody的war包,以及两个jar包。

  1 web应用:我这里提供了一个简单的样例,就是一个web工程,里面包含一个index.html

  2 javamelody.war:这些文件都在google上面可以下载,但是考虑到一些没有FQ的朋友,这里保存在百度云上了。

    javamelody.war 这是用于部署使用的应用包

    javamelody.zip 这里面包含了userGuide使用手册以及源码

  3 需要的两个jar包,位于zip包里面。

  4 测试使用的应用包也放到这里了

  需要注意的是,JavaMelody监控是非常简单的,部署也很快。通常JavaMelody与应用的整个都是软件自动完成的,并不需要用户做任何的操作。只需要修改一点配置文件即可。监控与应用整合一般都不会超过10秒钟,通常都会自动的被编译环境发现:你需要做的知识拷贝两个jar包,添加10行xml的代码。如果你发布的应用程序不是一个相对目录,而是war包,那么就需要阅读以下下面的章节了。如果是ear(EJBs),那么就需要去阅读以下User Guide Advanced的一些相关内容了。

  1 jar包

  在javamelody.zip中有两个jar包,一个是javamelody.jar,另一个是jrobin-x.jar。拷贝这两个jar包到webapp中对应war包的WEB-INF/lib目录下。或者使用Maven,添加javamelody-core 依赖文件pom.xml。

  2 web.xml文件

  如果你的servletAPI是3.0的,想tomcat7 glassfish v3 jboss6等等,那么就需要配置xml了。不然的话,需要在应用war包的web.xml中添加如下的filter

 1 <filter>
 2     <filter-name>monitoring</filter-name>
 3     <filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
 4 </filter>
 5 <filter-mapping>
 6     <filter-name>monitoring</filter-name>
 7     <url-pattern>/*</url-pattern>
 8 </filter-mapping>
 9 <listener>
10     <listener-class>net.bull.javamelody.SessionListener</listener-class>
11 </listener>

  

  如果是servlet3.0,还需要添加<async-supported>true</async-supported> 来支持异步请求

  查看监控结果

  现在就可以启动应用服务器打开网址查看监控效果了。网址:http://<host>/<context>/monitoring

1   <host>是web应用服务器的部署IP,通常是localhost:8080 或者127.0.0.1:8080具体看你自己的应用服务器
2   <context>是你的web应用的名字。

  注意:

  如果在启动过程中出错,出错信息含有window server,那么检查一下你是否使用了其他版本的server。并且添加系统参数-Djava.awt.headless=true

  如果使用到额是tomcat,那么在conf/catalina.properties中添加java.awt.headless=true

  然后重启服务器。

  4 JavaMelody初探

  由于我的这个测试使用的war包程序只有一个简单的页面,因此只能测试http请求的连接数了,手动刷新页面就会发送http请求,可以再下面的列表中看到点击的次数。以及请求的类型。

  再次启动后发现数据都还在,一定是存储在了本地的某个地方。

  查阅资料发现缓存文件都存放在tomcat下的temp中了,目录是tomcat/temp/javamelody/应用名字_主机名字

  删除这两个文件,再次启动tomcat,可以发现数据清空了。

  这也就证明所有的记录的监控信息都在这个文件夹中,那么都有什么呢?

  虽然都是RRD的文件,无法直接读取,但是从名字就可以看到它都记录什么数据。比如sql 线程数,内存等等。

  后面会继续研究对多种项目的监控,以及源码。

  手码不易,转载请注明:xingoo

时间: 2024-08-01 23:49:27

JavaMelody应用监控使用指南的相关文章

用JavaMelody来监控我们的web应用

可以在 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>       <

如何在web项目中添加javamelody monitoring 监控。

1.在工程的maven pom中添加依赖javamelody-core <!-- monitoring监控 --><!-- https://mvnrepository.com/artifact/net.bull.javamelody/javamelody-core --><dependency> <groupId>net.bull.javamelody</groupId> <artifactId>javamelody-core<

JavaMelody监控SQL

前言 前面讲过了Javamelody的基本配置,这里简单的介绍下,如何使用Javamelody来监控JDBC以及SQL. 手码不易,转载请注明:xingoo 在网上搜索很多资料,仅有开源社区上的两篇帖子有点帮助,但对于监控SQL还是有很多问题,有不少的网友遇到了跟我同样的问题,监控页面打开可就是监控不到数据,SQL一栏无论如何都是0,要不就是NaN. 这个问题其实还是因为数据源的部分没有配置正确,这里介绍两种配置的方式. 第一种,直接配置数据源,添加额外的jdbc驱动 按照UserGuide的文

JavaMelody监控spring、struts

前言 前面讲过了Javamelody的基本配置,如何使用Javamelody来监控JDBC以及SQL. 这里继续讲解一下如何监控struts和spring. 手码不易,转载请注明:xingoo 由于spring的理论并不扎实,监控spring又是依靠sring的面向切面AOP技术来做的,因此在配置的时候虽然参照官方文档,但是仍然无法获得监控数据.这里先说一下简单的struts的监控. Struts监控 Struts的监控相对来说要简单多了,只要按照下面的步骤,肯定是没有问题的. 第一步,导入必要

JavaMeloay配置用于系统监控

JavaMelody JavaMelody能够监控Java或Java EE应用程序服务器的运行状况,并以图标的方式显示:java内存.CPU使用情况.用户Session数量.JDBC连接数.http请求.sql请求.jsp页面与业务接口方法EJB3.Spring. Guice)的执行数量,平均执行时间,错误百分比等.图表可以按天,周,月,年或自定义时间段查看. 这对我们查看自己服务哪些接口经常被使用,接口耗时,GC等问题可以直观的显示,最重要的是Leader要你反馈数据的时候,可以随时拿到. j

Java应用程序监控JavaMelody

JavaMelody是运行在Java Web容器中,用来监控Java内存和J服务器CPU使用情况,用户Session数量,JDBC连接数,和http请求.sql请求等的执行数量,平均执行时间,错误百分比等. 图表可以按天,周,月,年或自定义时间段查看. 使用方法 下载地址 https://github.com/javamelody/javamelody/releases Maven依赖 <dependency> <groupId>net.bull.javamelody</gr

Java项目性能监控和调优工具-Javamelody的学习总结

1.简介: JavaMelody能够在运行环境监测Java或Java EE应用程序服务器.并以图表的形式显示:Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求.sql请求.jsp页面与业务接口方法(EJB3.Spring.Guice)的执行数量,平均执行时间,错误百分比等.图表可以按天,周,月,年或自定义时间段查看. 2.准备: 下载javamelody-1.47.0.jar和jrobin-1.5.9.1.jar,引用到项目中. 3.配置方法: 一般

JavaMelody 项目性能监控和调优工具

转自 JavaMelody 可以实现对内存.CPU.线程.JDBC 连接数.HTTP 请求执行时间.SQL 执行时间(分析 Top SQL).方法执行时间(分析系统方法性能瓶颈)等等的监控. 配置方式 1. pom.xml(加入依赖包) 1 2 3 4 5 <dependency>     <groupId>net.bull.javamelody</groupId>     <artifactId>javamelody-core</artifactId

[AlwaysOn Availability Groups]AG排查和监控指南

AG排查和监控指南 1. 排查场景 如下表包含了常用排查的场景.根据被分为几个场景类型,比如Configuration,client connectivity,failover和performance. Scenario 笔记 Scenario Type Description Troubleshoot AlwaysOn Availability Groups Configuration (SQL Server) 排查:AG配置 Configuration 提供了一些典型的配置AG实例发生问题的