基于javamelody监控springboot项目过程详解

 更新时间:2019年11月07日 14:57:33   作者:李潇然  
这篇文章主要介绍了基于javamelody监控springboot项目过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

JavaMelody是用来在QA和实际运行生产环境中监控Java或Java EE应用程序服务器的一个开源框架。它不是一个工具来模拟来自用户的请求,而是一个测量和计算用户在实际操作中应用程序的使用情况的工具,并以图表的形式显示,图表可以按天,周,月,年或自定义时间段查看。

JavaMelody基础的监控包括Java内存和Java CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、 Guice)的执行数量,平均执行时间,错误百分比等。如果要监控Jenkins,JIRA,Sonar等等一些,需要另外安装对应的插件,还有一些高级文档用于高级配置。此文仅以JavaMelody v1.63.0版本演示基础功能的集成及使用,更多功能请深入研究官方文档。

1. 相关链接

官方文档  https://github.com/javamelody/javamelody/wiki/UserGuide

下载地址 https://github.com/javamelody/javamelody/releases

2. 基础集成

1.pom中加入

<!-- https://mvnrepository.com/artifact/net.bull.javamelody/javamelody-core -->
    <dependency>
      <groupId>net.bull.javamelody</groupId>
      <artifactId>javamelody-core</artifactId>
      <version>1.79.0</version>
    </dependency>

2.springboot启动文件中加入

public class App {
  public static void main(String[] args) {
    SpringApplication.run(App.class, args);
  }
 
  /**
   * 配置javamelody监控 spring boot 会按照order值的大小,从小到大的顺序来依次过滤
   */
  @Bean
  @Order(Integer.MAX_VALUE - 1)
  public FilterRegistrationBean monitoringFilter() {
    FilterRegistrationBean registration = new FilterRegistrationBean();
    registration.setFilter(new MonitoringFilter());
    registration.addUrlPatterns("/*");
    registration.setName("monitoring");
    return registration;
  }
 
  /**
   * 配置javamelody监听器sessionListener
   */
  @Bean
  public ServletListenerRegistrationBean<SessionListener> servletListenerRegistrationBean() {
    ServletListenerRegistrationBean<SessionListener> slrBean = new ServletListenerRegistrationBean<SessionListener>();
    slrBean.setListener(new SessionListener());
    return slrBean;
  }
}

3,现在可以部署程序启动服务器,在浏览器打开http://<host>/<context>/monitoring。<host>:为你的主机名+端口地址,<context>:为你的应用配置地址。应该可以看到如下界面:


3. Spring方法级监控

前提是使用monitoring-spring.xml文件(不做修改),然后在需要监控的方法上使用@MonitoredWithSpring注解即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • java IP地址网段计算的示例代码

    java IP地址网段计算的示例代码

    这篇文章主要介绍了java IP地址网段计算的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 如何为Repository添加自定义方法

    如何为Repository添加自定义方法

    这篇文章主要介绍了如何为Repository添加自定义方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Java中ThreadLocal线程变量的实现原理

    Java中ThreadLocal线程变量的实现原理

    本文主要介绍了Java中ThreadLocal线程变量的实现原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Springboot实现接口传输加解密的步骤详解

    Springboot实现接口传输加解密的步骤详解

    这篇文章主要给大家详细介绍了Springboot实现接口传输加解密的操作步骤,文中有详细的图文解释和代码示例供大家参考,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-09-09
  • 解析spring加载bean流程的方法

    解析spring加载bean流程的方法

    这篇文章主要介绍了解析spring加载bean流程的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • Java Web实现简易图书管理系统

    Java Web实现简易图书管理系统

    这篇文章主要为大家详细介绍了Java Web实现简易图书管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • RabbitMQ通过延迟插件实现延迟消息

    RabbitMQ通过延迟插件实现延迟消息

    在RabbitMQ中,使用延迟消息插件比死信队列更优化的实现消息的延迟发送,本文介绍了延迟插件的下载、安装、以及如何通过设置消息头x-delay实现消息的延迟投递,特别指出,使用延迟消息可能会损耗性能,适合短时间的延迟场景
    2024-10-10
  • Java计算时间差和日期差五种常用示例

    Java计算时间差和日期差五种常用示例

    这篇文章主要给大家介绍了关于Java计算时间差和日期差五种常用示例的相关资料,最近工作中遇到需要计算时间差和日期差,搜索了几种计算时间差和日期差的方法,这里总结一下,需要的朋友可以参考下
    2023-08-08
  • java代码实现MD5加密及验证过程详解

    java代码实现MD5加密及验证过程详解

    这篇文章主要介绍了java代码实现MD5加密及验证过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • springboot实现指定mybatis中mapper文件扫描路径

    springboot实现指定mybatis中mapper文件扫描路径

    这篇文章主要介绍了springboot实现指定mybatis中mapper文件扫描路径方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06

最新评论