文章來自於:詩情畫意程序員
JavaMelody是監視QA和生產環境中的Java或Java EE應用程序服務器,以圖表的方式顯示:Java內存和Java CPU使用情況,用戶Session數量,JDBC連接數,和http請求、sql請求、jsp頁面與業務接口方法(EJB3、Spring、 Guice)的執行數量,平均執行時間,錯誤百分比等。圖表可以按天,周,月,年,全部或自定義時間段查看。
-
JavaMelody介紹
JavaMelody的目標是監視QA和生產環境中的Java或Java EE應用程序服務器。它不是模擬用戶請求的工具,而是根據用戶對應用程序的使用情況來測量和計算有關應用程序實際操作的統計信息的工具。JavaMelody主要基於請求的統計信息和演化圖。
它可以改善質量檢查和生產中的應用程序,並有助於:
-
提供有關平均響應時間和執行次數的事實
-
在趨勢不好的時候,在問題變得太嚴重之前做出決定
-
根據更有限的響應時間進行優化
-
找到響應時間的根本原因
-
優化后驗證真正的改進
注:
-
執行所需的Java版本:1.6或更高版本(Oracle的JDK或JRE或JRockit或IBM的OpenJDK或J9)
-
執行所需的服務器版本:至少servlet api 2.4(或JavaEE 1.4),例如Tomcat 5.5或+,GlassFish v2 +,JBoss 4 +,Jetty 6 +,WebLogic 9+
-
JavaMelody設置
監視的重要價值是非常簡單和快速的安裝過程。通常,應用程序中的集成由軟件提供商完成,而無需客戶端的任何干預。
-
MVC項目配置
添加依賴:
<!--JavaMelody依賴--> <dependency> <groupId>net.bull.javamelody</groupId> <artifactId>javamelody-core</artifactId> <version>1.71.0</version> </dependency> <!--JavaMelody監控PDF格式文件導出--> <dependency> <groupId>com.lowagie</groupId> <artifactId>itext</artifactId> <version>2.1.7</version> </dependency>
web.xml配置
正如官方所說的那樣:如果您的應用程序服務器與Servlet API 3.0兼容(例如tomcat 7,glassfish v3或jboss 6),則通常不需要配置,此步驟可跳過。除非你使用的web.xml文件沒有version =“3.0”的xml文件。否則在WEB-INF/web.xml中需要配置如下內容:
<filter> <filter-name>javamelody</filter-name> <filter-class>net.bull.javamelody.MonitoringFilter</filter-class> <async-supported>true</async-supported> </filter> <filter-mapping> <filter-name>javamelody</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>ASYNC</dispatcher> </filter-mapping> <listener> <listener-class>net.bull.javamelody.SessionListener</listener-class> </listener>
到此為止SpringMVC簡單的配置就配置完了,是不是很簡單!
-
springboot項目配置
springboot配置起來更是簡單:
添加依賴:
<!--JavaMelody依賴--> <dependency> <groupId>net.bull.javamelody</groupId> <artifactId>javamelody-core</artifactId> <version>1.71.0</version> </dependency> <!--JavaMelody監控PDF格式文件導出--> <dependency> <groupId>com.lowagie</groupId> <artifactId>itext</artifactId> <version>2.1.7</version> </dependency>
這樣就完事了!
啟動程序訪問:http://ip:port/{你的應用名字}/monitoring 就可以了
切記monitoring一定要加上
-
以下為效果圖
可以看到各項指標都非常清晰直觀,就像Windows下的任務管理器一樣,便於查看。
可以看到上圖有個錯誤:圖表http 系統錯誤 - 1 天
我們來看下具體的錯誤信息:
點開描述,和最后的錯誤,就可以看到錯誤信息,鼠標點擊錯誤信息可以查看更具體的錯誤:
其實我已在圖中標注了這個錯誤的發生時間,並不是在當前時間發生的,這就可以說明這些監控的信息是持久化的。
-
小結
其實不管是springMVC還是springboot,上面只是簡單的配置和使用,里面還可以配置很多內容,比如默認情況下訪問是不需要登錄的,這樣誰都能訪問,很不安全,就可以添加身份驗證!還可以設置一些不需要監控的地址,jdbc等等。
更多的相關內容可以訪問:https://github.com/javamelody/javamelody/
文章來自於:詩情畫意程序員