天天看點

JavaMelody應用監控使用指南

前言

  本文參考JavaMelody的UserGuide編寫,部分文字均來自文檔,添加有個人了解。并進行實踐操作

  JavaMelody是一款可以監控Java應用(比如項目war,ear包)以及應用伺服器(比如Tomcat或Jboss weblogic等等)。可以通過圖表給出監控資料。

  軟體下載下傳參考google網址:http://code.google.com/p/javamelody/downloads/list

  它支援對Java的記憶體使用,垃圾回收,Session,JDBC,SQL,http請求,業務方法等等多種資訊的監控。

JavaMelody應用監控使用指南

  JavaMelody介紹

  JavaMelody用于對Java應用或者應用伺服器的QA以及開發環境的監控。它并不是一個模拟請求類似JMeter的壓力測試工具,而是一個衡量并且計算在應用上的操作資訊的工具,也就是說,它隻負責對行為進行監控,而不負責觸發操作。JavaMelody基于請求統計生成模拟圖表,并為我們的應用程式在QA或者開發上提供下面的幫助:

  1 給出平均的響應時間以及執行數

  2 在某些操作趨勢變得嚴重前給出提示

  3 優化響應

  4 找出響應瓶頸的根本

  5 證明優化政策的效果

  JDK版本要求:需要Java JDK在1.6或者1.6以上。

  支援在以下應用伺服器的部署以及監控:

    servlet API在2.4以上

    Tomcat 5.5 6 或者7

    GlassFish v2或v3

    JBoss 4,5,6,7

    Jonas 4或5

    Jetty 6或7

    WebLogic 9,10,11

  如果想要監控其他的伺服器需要安裝一些插件,詳情閱讀UserGuide

  使用的浏覽器最好是 Firefox Chrome或IE9

  JavaMelody安裝

  安裝測試JavaMelody需要一個web應用,一個javaMelody的war包,以及兩個jar包。

  1 web應用:我這裡提供了一個簡單的樣例,就是一個web工程,裡面包含一個index.html

  2 javamelody.war:這些檔案都在google上面可以下載下傳,但是考慮到一些沒有FQ的朋友,這裡儲存在百度雲上了。

    javamelody.war 這是用于部署使用的應用包

    javamelody.zip 這裡面包含了userGuide使用手冊以及源碼

  3 需要的兩個jar包,位于zip包裡面。

  4 測試使用的應用包也放到這裡了

  需要注意的是,JavaMelody監控是非常簡單的,部署也很快。通常JavaMelody與應用的整個都是軟體自動完成的,并不需要使用者做任何的操作。隻需要修改一點配置檔案即可。監控與應用整合一般都不會超過10秒鐘,通常都會自動的被編譯環境發現:你需要做的知識拷貝兩個jar包,添加10行xml的代碼。如果你釋出的應用程式不是一個相對目錄,而是war包,那麼就需要閱讀以下下面的章節了。如果是ear(EJBs),那麼就需要去閱讀以下User Guide Advanced的一些相關内容了。

  1 jar包

  在javamelody.zip中有兩個jar包,一個是javamelody.jar,另一個是jrobin-x.jar。拷貝這兩個jar包到webapp中對應war包的WEB-INF/lib目錄下。或者使用Maven,添加javamelody-core 依賴檔案pom.xml。

JavaMelody應用監控使用指南

  2 web.xml檔案

  如果你的servletAPI是3.0的,想tomcat7 glassfish v3 jboss6等等,那麼就需要配置xml了。不然的話,需要在應用war包的web.xml中添加如下的filter

1 <filter>
 2     <filter-name>monitoring</filter-name>
 3     <filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
 4 </filter>
 5 <filter-mapping>
 6     <filter-name>monitoring</filter-name>
 7     <url-pattern>/*</url-pattern>
 8 </filter-mapping>
 9 <listener>
10     <listener-class>net.bull.javamelody.SessionListener</listener-class>
11 </listener>      

  

JavaMelody應用監控使用指南

  如果是servlet3.0,還需要添加<async-supported>true</async-supported> 來支援異步請求

  檢視監控結果

  現在就可以啟動應用伺服器打開網址檢視監控效果了。網址:http://<host>/<context>/monitoring

1   <host>是web應用伺服器的部署IP,通常是localhost:8080 或者127.0.0.1:8080具體看你自己的應用伺服器
2   <context>是你的web應用的名字。      
JavaMelody應用監控使用指南

  注意:

  如果在啟動過程中出錯,出錯資訊含有window server,那麼檢查一下你是否使用了其他版本的server。并且添加系統參數-Djava.awt.headless=true

  如果使用到額是tomcat,那麼在conf/catalina.properties中添加java.awt.headless=true

  然後重新開機伺服器。

  4 JavaMelody初探

  由于我的這個測試使用的war包程式隻有一個簡單的頁面,是以隻能測試http請求的連接配接數了,手動重新整理頁面就會發送http請求,可以再下面的清單中看到點選的次數。以及請求的類型。

  再次啟動後發現資料都還在,一定是存儲在了本地的某個地方。

JavaMelody應用監控使用指南

  查閱資料發現緩存檔案都存放在tomcat下的temp中了,目錄是tomcat/temp/javamelody/應用名字_主機名字

JavaMelody應用監控使用指南

  删除這兩個檔案,再次啟動tomcat,可以發現資料清空了。

JavaMelody應用監控使用指南

  這也就證明所有的記錄的監控資訊都在這個檔案夾中,那麼都有什麼呢?

JavaMelody應用監控使用指南

  雖然都是RRD的檔案,無法直接讀取,但是從名字就可以看到它都記錄什麼資料。比如sql 線程數,記憶體等等。

  後面會繼續研究對多種項目的監控,以及源碼。

  手碼不易,轉載請注明:xingoo

作者:xingoo

出處:http://www.cnblogs.com/xing901022

本文版權歸作者和部落格園共有。歡迎轉載,但必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接!

繼續閱讀