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