JavaMelody應用監控使用指南

JavaMelody介紹

JavaMelody用於對Java應用或者應用服務器的QA以及開發環境的監控。它並非一個模擬請求相似JMeter的壓力測試工具,而是一個衡量而且計算在應用上的操做信息的工具,也就是說,它只負責對行爲進行監控,而不負責觸發操做。JavaMelody基於請求統計生成模擬圖表,併爲咱們的應用程序在QA或者開發上提供下面的幫助:html

 https://github.com/javamelody/javamelody/releasesjava

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

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

  3 優化響應web

  4 找出響應瓶頸的根本sql

  5 證明優化策略的效果瀏覽器

  JDK版本要求:須要Java JDK在1.6或者1.6以上。緩存

  支持在如下應用服務器的部署以及監控:tomcat

    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。

2 web.xml文件

  若是你的servletAPI是3.0的,想tomcat7 glassfish v3 jboss6等等,那麼就須要配置xml了。否則的話,須要在應用war包的web.xml中添加以下的filter

<filter>
    <filter-name>monitoring</filter-name>
    <filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>monitoring</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
    <listener-class>net.bull.javamelody.SessionListener</listener-class>
</listener>

若是是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應用的名字。

注意:

  若是在啓動過程當中出錯,出錯信息含有window server,那麼檢查一下你是否使用了其餘版本的server。而且添加系統參數-Djava.awt.headless=true

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

  而後重啓服務器。

 4 JavaMelody初探

因爲個人這個測試使用的war包程序只有一個簡單的頁面,所以只能測試http請求的鏈接數了,手動刷新頁面就會發送http請求,能夠再下面的列表中看到點擊的次數。以及請求的類型。

  再次啓動後發現數據都還在,必定是存儲在了本地的某個地方。

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

 雖然都是RRD的文件,沒法直接讀取,可是從名字就能夠看到它都記錄什麼數據。好比sql 線程數,內存等等。

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

相關文章
相關標籤/搜索