Java應用程序監控JavaMelody


JavaMelody是運行在Java Web容器中,用來監控Java內存和J服務器CPU使用情況,用戶Session數量,JDBC連接數,和http請求、sql請求等的執行數量,平均執行時間,錯誤百分比等。

圖表可以按天,周,月,年或自定義時間段查看。

使用方法

下載地址

https://github.com/javamelody/javamelody/releases

Maven依賴

<dependency>
    <groupId>net.bull.javamelody</groupId>
    <artifactId>javamelody-core</artifactId>
    <version>1.60.0</version>
</dependency>

使用方法

直接把下載的jar包放在項目中WEB-INF/lib目錄下即可,無需任何配置,啟動容器后監控程序就已經運行。

至於為何不需要任何配置,javamelody相關程序就自動運行了,最下面有說明。

用戶界面

在瀏覽器地址欄,輸入如下樣式的url,就可以訪問監控圖形界面。

http://<host>/<context>/monitoring

javamelody啟動原理

按照正常使用步驟,除了導入javamelody的jar包,還需要在web.xml配置文件里,配置過濾器filter和filter-mapping,還有一個listener監聽器。

為什么現在只需導入jar包,不需要任何配置,啟動容器監控程序也跟着啟動?這個要從Servlet3.0的規范說起。

Servlet3.0

Servlet3.0對於模塊化支持

也就是說現在我們可以把各Web組件單獨拿出來進行開發,之后把它們打成對應的jar包放到主項目中就可以了,而不必像之前那樣——所有的內容都必須在web.xml文件中進行定義。有了對模塊化的支持后我們在實際應用中就可以把某些通用功能的Filter、Listener、Servlet作為一個單獨的Web模塊進行定義,在需要使用它們的項目中就把對應Web模塊對應的jar包加進去就可以了。是不是很有用呢?接下來我們就來看一下這些Web組件究竟是怎樣模塊化的。      

Web模塊打成的jar包的內容的文件結構要求是這個樣子的:
    |--META-INF
|     |--web-fragment.xml
|     |--resources
|     |     |--jsp、圖片等,相當於web的根目錄
|--class文件和類路徑下的文件

容器啟動時,會去讀取每個jar包的META-INF下的信息

查看javamelody-core的jar包會發現,在META-INF文件夾下有個web-fragment.xml,說明這個jar包本身就是一個Web模塊

打開這個文件,會發現,其實運行監控的過濾器和監聽器,已經在這個文件里定義了。這也是為什么不需要再做配置的原因

Servlet 3.0需要Tomcat 7.0以上版本才支持(包含7.0)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM