JavaMelody是运行在Java Web容器中,用来监控Java内存和J服务器CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求等的执行数量,平均执行时间,错误百分比等。

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

使用方法

下载地址

https://github.com/javamelody/javamelody/releases

Maven依赖

<dependency>
    <groupId>net.bull.javamelody</groupId>
    <artifactId>javamelody-core</artifactId>
    <version>1.60.0</version>
</dependency>

使用方法

直接把下载的jar包放在项目中WEB-INF/lib目录下即可,无需任何配置,启动容器后监控程序就已经运行。

至于为何不需要任何配置,javamelody相关程序就自动运行了,最下面有说明。

用户界面

在浏览器地址栏,输入如下样式的url,就可以访问监控图形界面。

http://<host>/<context>/monitoring

Java应用程序监控JavaMelodyJava应用程序监控JavaMelodyJava应用程序监控JavaMelodyJava应用程序监控JavaMelodyJava应用程序监控JavaMelody
Java应用程序监控JavaMelodyJava应用程序监控JavaMelodyJava应用程序监控JavaMelodyJava应用程序监控JavaMelodyJava应用程序监控JavaMelody
Java应用程序监控JavaMelodyJava应用程序监控JavaMelodyJava应用程序监控JavaMelodyJava应用程序监控JavaMelodyJava应用程序监控JavaMelody

javamelody启动原理

按照正常使用步骤,除了导入javamelody的jar包,还需要在web.xml配置文件里,配置过滤器filter和filter-mapping,还有一个listener监听器。

为什么现在只需导入jar包,不需要任何配置,启动容器监控程序也跟着启动?这个要从Servlet3.0的规范说起。

Servlet3.0

Servlet3.0对于模块化支持

也就是说现在我们可以把各Web组件单独拿出来进行开发,之后把它们打成对应的jar包放到主项目中就可以了,而不必像之前那样——所有的内容都必须在web.xml文件中进行定义。有了对模块化的支持后我们在实际应用中就可以把某些通用功能的Filter、Listener、Servlet作为一个单独的Web模块进行定义,在需要使用它们的项目中就把对应Web模块对应的jar包加进去就可以了。是不是很有用呢?接下来我们就来看一下这些Web组件究竟是怎样模块化的。      

Web模块打成的jar包的内容的文件结构要求是这个样子的:
    |--META-INF
|     |--web-fragment.xml
|     |--resources
|     |     |--jsp、图片等,相当于web的根目录
|--class文件和类路径下的文件

容器启动时,会去读取每个jar包的META-INF下的信息

查看javamelody-core的jar包会发现,在META-INF文件夹下有个web-fragment.xml,说明这个jar包本身就是一个Web模块

Java应用程序监控JavaMelodyJava应用程序监控JavaMelodyJava应用程序监控JavaMelodyJava应用程序监控JavaMelodyJava应用程序监控JavaMelody

打开这个文件,会发现,其实运行监控的过滤器和监听器,已经在这个文件里定义了。这也是为什么不需要再做配置的原因

Java应用程序监控JavaMelodyJava应用程序监控JavaMelodyJava应用程序监控JavaMelodyJava应用程序监控JavaMelodyJava应用程序监控JavaMelody

Servlet 3.0需要Tomcat 7.0以上版本才支持(包含7.0)


作者:星辰 时间:2018-03-28 浏览 311评论 0 赞 0砸 0 标签: 系统监控与集成
评论
还可以再输入500个字

请您注意

·自觉遵守:爱国、守法、自律、真实、文明的原则
·尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规
·严禁发表危害国家安全,破坏民族团结、国家宗教政策和社会稳定,含侮辱、诽谤、教唆、淫秽等内容的作品
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·您在NoteShare上发表的作品,NoteShare有权在网站内保留、转载、引用或者删除
·参与本评论即表明您已经阅读并接受上述条款