1、依赖
<dependency>
<groupId>net.bull.javamelody</groupId>
<artifactId>javamelody-core</artifactId>
<version>1.73.1</version>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
</dependency>
2、配置
import java.util.Arrays;
import java.util.HashSet;
import org.springframework.beans.factory.annotation.Value;
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 net.bull.javamelody.MonitoringFilter;
import net.bull.javamelody.SessionListener;
import net.bull.javamelody.SpringDataSourceBeanPostProcessor;
@Configuration
public class FilterConfig {
/**
* 配置javamelody监控
* spring boot 会按照order值的大小,从小到大的顺序来依次过滤
*/
@Bean
@Order(Integer.MAX_VALUE-1)
public FilterRegistrationBean<MonitoringFilter> monitoringFilter() {
FilterRegistrationBean<MonitoringFilter> 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<>();
slrBean.setListener(new SessionListener());
return slrBean;
}
/**
* 数据库监控
* @param excludedDatasources
* @return
*/
@Bean
public SpringDataSourceBeanPostProcessor monitoringDataSourceBeanPostProcessor(
@Value("${javamelody.excluded-datasources:}") String excludedDatasources) {
final SpringDataSourceBeanPostProcessor processor = new SpringDataSourceBeanPostProcessor();
if (excludedDatasources != null && excludedDatasources.trim().length() > 0) {
processor.setExcludedDatasources(
new HashSet<>(Arrays.asList(excludedDatasources.split(","))));
}
return processor;
}
}
3、地址
http://localhost:8081/monitoring