在之前的文章中介绍了zabbix使用java-gateway对tomcat进行监控。但是zabbix默认的模板有一些参数并没有生效,这就需要我们手动去测试配置。
要对JMX参数进行获取测试,我们需要用到cmdline-jmxclient.jar。使用这个工具可以方便的捕获我们需要的JMX参数。
测试准备
测试语法:
1
<code>java -jar cmdline-jmxclient-0.10.3.jar - 192.168.56.12:12345 java.lang:name=</code><code>"Code Cache"</code><code>,</code><code>type</code><code>=MemoryPool Usage</code>
命令在java-gateway所在的主机上执行,IP所在的主机是需要监控的tomcat服务器。
对于一些特殊的字符需要转义:
<code>java -jar cmdline-jmxclient-0.10.3.jar - 192.168.56.13:12345 Catalina:name=\"http-bio-8080\",</code><code>type</code><code>=GlobalRequestProcessor</code>
查看Jmx有哪些参数:
<code>java -jar cmdline-jmxclient-0.10.3.jar - 192.168.56.12:12345</code>
查看JMX不同类别的参数:
2
<code>java -jar cmdline-jmxclient-0.10.3.jar - 192.168.56.12:12345|</code><code>grep</code> <code>"java.lang"</code>
<code>java -jar cmdline-jmxclient-0.10.3.jar - 192.168.56.12:12345|</code><code>grep</code> <code>"Catalina"</code>
参数调整
目前Zabbix3.2和之前的版本所带的JVM模板在key 格式的设置上有一些问题,不能自动的监控,经过测试,下面几种格式可以监控我们的JVM:
3
4
<code>jmx[java.lang:</code><code>type</code><code>=MemoryPool,name=PS Old Gen][Usage.used]</code>
<code>jmx[java.lang:</code><code>type</code><code>=MemoryPool,name=PS Old Gen][Usage.max]</code>
<code>jmx[</code><code>"Catalina:type=ThreadPool,name=\"http-bio-8080\""</code><code>,currentThreadsBusy]</code>
<code>jmx[</code><code>"Catalina:type=ThreadPool,name=\"http-bio-8080\""</code><code>,maxThreads]</code>
可以使用cmdline-jmxclient.jar工具对模板中的参数进行修改调试,确认能获取数据之后再以相同的格式对模板进行修改。
附件是修改后的模板,可以添加进行使用,需要注意的是,在导入模板前,先对原始模板进行备份重命名。
<a href="http://down.51cto.com/data/2366644" target="_blank">附件:http://down.51cto.com/data/2366644</a>
本文转自 酥心糖 51CTO博客,原文链接:http://blog.51cto.com/tryingstuff/1923577