前段时间,领导要求用zabbix监控一台机器上的多个tomcat实例。着手开始做时,发现较多的资料都是较少怎么铰孔tomcat,很少有说明怎么监控多个tomcat。千辛万苦,终于搞定,可能还有些不完整的地方,但权当是指引,知道思路,剩下的就靠大家发挥!


  有一篇关于zabbix监控tomcat的前前些的很详细,在此推荐一下

  http://lovelace.blog.51cto.com/1028430/1424964

 这篇文章很好的介绍zabbix通过jxm监控tomcat,不过是单个tomcat的监控,前面的安装配置可以参照这篇进行,下面我们来看一下,要监控多个tomcat,还要做哪些改动:


 一台服务器有多个tomcat,要想zabbix分别监控同一台机器上的多个tomcat,只有通过调整每个tomcat配置文件的端口来进行了:

 在每个tomcat的serverr.xml文件中修改这样一个参数来调整zabbix对tomcat的监控端口连接:


 vi /data/webserver/apache-tomcat1/conf$ vi server.xml


zabbix多实例监控tomcat_第1张图片

  

 我们再看另外一个本机上的tomcat的server.xml:

 vi  /data/webserver/apache-tomcat2/conf$ vi server.xml 

zabbix多实例监控tomcat_第2张图片

 就是这个地方的端口不一样,调整后,重启你的tomcat服务

 在zabbix的页面,点开你的tomcat服务主机:


 在这个地方添加你要监控的tomcat的配置好的端口

wKiom1byAxOT1-kLAAAhM6yoXWk383.png


然后就是添加item了,当然,你可以导入模板,最重的是怎么放看着一样的键值在同一主机上生效:


在添加item时,你会看到你添加的tomcat的端口已经出现在界面下拉框里了,只要选择就行了

zabbix多实例监控tomcat_第3张图片

线面就是键值,毕竟监控的项目是一样的,不可能键值写的不重复,但键值不能相同,是zabbix的标准,多番查找,发现方法是如此的简单:


jmx["java.lang:type=Threading",  "ThreadCount"]

jmx["java.lang:type=Threading","ThreadCount"]


   能看出他们的不一样吗?就是这样,只要加一个空格就可以了,而且还能多加,注意位置不要错就行。


   其实,最重要的就是一些端口的对应,键值的不同,这里只算是介绍个方法,详细操作的还需要大家仔细研究。