開源Java監控平臺Zorka的基本使用方法
在Java的插樁工具方面,我們一直在使用Kieker,今天簡單研究了另外一個Java監控平臺Zorka,這里以Windows+Tomcat為例記錄一下最基本的安裝過程:
其主頁是: http://zorka.io/ ,GitHub上的項目主頁是: https://github.com/jitlogic/zorka ,在其主頁上有其Agent端的下載頁面: http://zorka.io/downloads.html 。下載zorka-1.0.11.zip并將其解壓。將解壓后的文件夾拷貝到Tomcat根目錄下,并重命名為“zorka”(方便后續設置)。
在這個頁面: http://zorka.io/install/index.html 詳細介紹了Zorka的安裝和配置方法,但是我在配置過程中還是發現一些說得不清楚的地方:首先,按照官網的介紹,解壓后的文件夾應該包含一下內容:
By convention zorka files reside in<appserver-home>/zorkadirectory which wil be refered as agent home directory. It contains the following objects:
- zorka.jar - agent jar (all dependencies included);
- scripts/*.bsh - extension scripts loaded at agent startup;
- log/* - log and trace files will be stored here;
- templates/* - templates for zabbix (and maybe other monitoring systems); this directory isn’t used by agent itself and can be safely removed after installation;
- zorka.properties - main configuration file;
但是很奇怪,我沒有看到scripts這個文件夾。先繼續往下看:按照這里 http://zorka.io/install/tomcat.html 的介紹,需要對zorka.properties這個文件進行一系列修改,首先應該加上這樣一行:
scripts = jvm.bsh, zabbix.bsh, apache/tomcat.bsh
很顯然,這是引用了一些bsh的腳本,但是根本就沒有看到這些bsh文件啊。想了半天,決定從GitHub上找找,果然在這里:zorka-master\zorka-core\target\classes\com\jitlogic\zorka\scripts 找到了很多bsh文件,將這個文件夾整體拷貝到剛才的“zorka”文件夾下。就可以實現正常的引用了。
其次,應該修改Tomcat的啟動選項,對于windows而言,應該修改bin目錄下的catalina.bat,在其合適的位置加入:
set JAVA_OPTS=%JAVA_OPTS% -javaagent:%CATALINA_BASE%\zorka\zorka.jar -Dzorka.home.dir=%CATALINA_BASE%\zorka
注意這里寫的和官網上略有不同。
按照剛才Tomcat安裝方法的那個頁面,在zorka.properties這個文件中加上:
zorka.spy.compute.frames = yes
這一行。修改完之后,我們試著啟動Tomcat并進行一些操作,可以發現在zorka\log 下生成了Zorka的日志。但是并沒有任何的監控Trace,注意到這一句:
adjust other settings in zorka.properties if necessary (log files, listen port number etc.);
所以可能還需要設置監控文件的位置。在這個頁面中: http://zorka.io/install/tracer.html 詳細介紹了Trace的配置和tuning方法。我們選擇最簡單的在文件系統中生成監控記錄,在zorka.properties這個文件中的這幾行:
# Uncomment this to save tracer data in local file. Deprecated. # tracer.file = yes
下面加入一些我們的配置:
tracer.file = yes tracer.file.path = trace.trc tracer.file.fnum = 8 tracer.file.size = 128M tracer.net = no
當然還要把Tracer打開:tracer = yes。
為了很容易生成監控數據,我們進行如下修改:
tracer.min.trace.time = 0 tracer.min.method.time = 0
將這個兩個值設置為0時,可以保證所有的監控記錄都進行輸出,這時候我們再重啟Tomcat,進行一些操作后,就可以在Tomcat的bin目錄下看到一個trace.trc,不過我用文本編輯軟件打開以后看到的是亂碼,還沒來得及研究是什么樣的編碼方式。為了方便大家復現,我把修改后的zorka.properties文件也傳上來。zorka.properties
以上就是這個工具的一些基本的使用方法,簡單看來,這個工具支持使用beanshell腳本語言進行配置,功能還是挺強大的。
原文 http://quyuxjtu.sinaapp.com/?p=532