Zabbix监控tomcat主要使用的是zabbix的zabbix-java-gateway。从Zabbix 2.0开始,内置了监控JMX的功能,叫做“Zabbix Java Gateway”,在Zabbix Server和Zabbix Proxy上启动名为“Zabbix Java Gateway”的进程,当需要获取JMX数据时,Zabbix Server会“问”JMX Gateway,然后JMX Gateway根据JMX管理API去查询需要的数据。在使用时,Java程序不需要在代码中新增任何东西,只需要在启动的时候加上一些JVM参数,使得它可以支持使用端口监控JMX。JMX的全称是Java Management Extensions,即Java管理扩展。Java程序会开放一些端口,用来获取运行状况。
安装jmx服务器
安装jdk
安装jmx服务
1 | yum -y install zabbix-java-gateway |
配置jmx服务
1 | egrep -v '#|^$' /etc/zabbix/zabbix_java_gateway.conf |
1 | systemctl start zabbix-java-gateway |
修改zabbix server配置
添加以下三行,这里配置的StartJavaPollers值要小于之前java_gateway中的START_POLLERS
1 | tail -n 3 /etc/zabbix/zabbix_server.conf |
修改zabbix_server.conf后重启服务
1 | systemctl restart zabbix-server |
Tomcat配置修改
修改配置文件
Windows下tomcat在F:\apache-tomcat-7.0.70(zabbix)\bin\catalina.bat中set “CURRENT_DIR=%cd%”下添加以下内容
1 | set CATALINA_OPTS=-Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false |
测试JMX
下载以下两个jar包放在tomcat lib目录下。
下载cmdline-jmxclient-0.10.3.jar
下载catalina-jmx-remote.jar
1 | F:\apache-tomcat-7.0.70(zabbix)\lib>java -jar cmdline-jmxclient-0.10.3.jar - 192.168.6.124:12345 java.lang:type=Memory NonHeapMemoryUsage |
在zabbix web页面中添加JMX端口
导入模板
zabbix自带的”Template App Generic Java JMX”和”Template App Apache Tomcat JMX”模板很多都获取不到数据,从网上找了个模板,监控项不多,但是都是很实用的。
添加JMX端口
jmx的端口一定要与在catalina.bat下配置的jmxremote.port一样
关联模板
查看图形
参考链接:
http://wzlinux.blog.51cto.com/8021085/1692444
http://blog.csdn.net/jhfsdfs/article/details/65629174
http://www.fblinux.com/?p=616