在之前的文章中介紹了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