Springboot集成Javamelody

JavaMelody的目标是监视QA和生产环境中的Java或Java EE应用服务器。它不是模拟用户请求的工具,而是根据用户对应用程序的使用情况来衡量和计算应用程序实际操作的统计信息的工具。JavaMelody主要基于请求统计和演化图。

它允许改进QA和生产中的应用程序,并有助于:
给出关于平均响应时间和执行次数的事实
在趋势不好的时候,在问题变得太严重之前做出决定
基于更有限的响应时间进行优化
找到响应时间的根本原因
验证优化后的实际改进

详细介绍请参考https://github.com/javamelody/javamelody/wiki/UserGuide

方式一、使用javamelody的springboot starter

		
			net.bull.javamelody
			javamelody-spring-boot-starter
			1.85.0
		

在application.yml文件中配置属性

javamelody:
  # 启用JavaMelody自动配置(可选,默认值:true)
  enabled: true
  # 从监控中排除数据源名称(可选,逗号分隔)
  excluded-datasources: secretSource,topSecretSource
  # 启用Spring服务和控制器的监控(可选,默认:true)
  spring-monitoring-enabled: true
  # 初始化JavaMelody参数(可选)
  # 参见: https://github.com/javamelody/javamelody/wiki/UserGuide#6-optional-parameters
  init-parameters:
    # 记录HTTP请求:
    log: true
    # 从监控中排除图像,css,字体和js url:
    #url-exclude-pattern: (/webjars/.*|/css/.*|/images/.*|/fonts/.*|/js/.*)
    # 聚合HTTP请求中的数字:
    #http-transform-pattern: \d+
    # 添加基本权限:
    authorized-users: admin:123456
    # 更改默认存储目录:
    #storage-directory: /tmp/javamelody
    # 修改默认的"/monitoring"路径:
    monitoring-path: /jpa/monitoring

方式二、使用javamelody原生的包

		
			net.bull.javamelody
			javamelody-core
			1.85.0
		

编写配置类注入bean

import net.bull.javamelody.MonitoringFilter;
import net.bull.javamelody.SessionListener;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;

import java.util.HashMap;
import java.util.Map;

@Configuration
public class JavaMelodyConfig {
    /**
     * 配置javamelody监控
     * spring boot会按照order值的大小,从小到大的顺序来依次过滤
     */
    @Bean
    @Order(Integer.MAX_VALUE-1)
    public FilterRegistrationBean monitoringFilter() {
        Map initParameters = new HashMap<>();
        //设置账号密码
        initParameters.put("authorized-users", "admin:123456");
        //修改默认路径
        initParameters.put("monitoring-path", "/config/monitoring");
        FilterRegistrationBean  registration = new FilterRegistrationBean<>();
        registration.setFilter(new MonitoringFilter());
        registration.addUrlPatterns("/*");
        registration.setName("monitoring");
        registration.setInitParameters(initParameters);
        return registration;
    }

    /**
     *  配置javamelody监听器sessionListener
     */
    @Bean
    public ServletListenerRegistrationBean servletListenerRegistrationBean() {
        ServletListenerRegistrationBean slrBean = new ServletListenerRegistrationBean<>();
        slrBean.setListener(new SessionListener());
        return slrBean;
    }
}

 以方式二集成的结果为例,启动服务后访问http://localhost:8081/config/monitoring

端口是你当前项目的server.port端口,如果有配置servlet.context-path还需加上配置的路径

Springboot集成Javamelody_第1张图片

你可能感兴趣的:(SpringBoot,java,spring,boot)