开源Java监控平台Zorka的基本使用方法

jopen 10年前

在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