1、JavaMelody
JavaMelody能夠在運作環境監測Java或Java EE應用程式伺服器。并以圖表的形式顯示:Java記憶體和Java CPU使用情況,使用者Session數量,JDBC連接配接數,和http請求、sql請求、jsp頁面與業務接口方法(EJB3、spring、Guice)的執行數量,平均執行時間,錯誤百分比等。圖表可以按天,周,月,年或自定義時間段檢視。
2、Maven依賴
<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>
3、配置JavaMelody
@Configuration
public class MelodyConfig {
/**
* 配置javamelody監控
* spring boot 會按照order值的大小,從小到大的順序來依次過濾
*/
@Bean
@Order(Integer.MAX_VALUE - 1)
public FilterRegistrationBean<MonitoringFilter> monitoringFilter() {
FilterRegistrationBean<MonitoringFilter> registration = new FilterRegistrationBean<MonitoringFilter>();
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;
}
}
4、啟動項目
通路路徑為: http://ip:port/項目名/monitoring