zabbix 监控tomcat实例
环境:
CentOS 7.2
zabbix-3.0.5 LTS
nginx-1.10.1
php-7.0.11
mariadb-10.1.18
tomcat-9
请参看
tomcat启用jmx
1.catalina-jmx-remote.jar(可选)
curl -sSL http://archive.apache.org/dist/tomcat/tomcat-9/v9.0.0.M11/bin/extras/catalina-jmx-remote.jar -o
/opt/tomcat/lib/catalina-jmx-remote.jar
提示:没有这个jar包也可行
2.CATALINA_OPTS
cat >/etc/profile.d/tomcat.sh <<EOF
export
CATALINA_OPTS="-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=12345"
EOF
重启tomcat后,tomcat会新增一个监听端口12345来和zabbix server交互
java -jar cmdline-jmxclient-0.10.3.jar -
192.168.8.254:12345 java.lang:type=Memory
NonHeapMemoryUsage

cmdline-jmxclient-0.10.3.jar包见github
数据流:java
poller<-->JavaGateway:10052<-->Tomcat:12345
zabbix监控
1.启用jmx支持(zabbix_
加上--enable-java参数重新编译zabbix_server
提示:编译时javac需要在PATH路径,也就是说JAVA_HOME要配置正确
编译完成后会在安装目录下多出一个目录zabbix/sbin/zabbix_java,也就是zabbix
jmx服务目录,包括启动和停止脚本依赖库等
启动zabbix_java后会监听在10052端口
/opt/zabbix/sbin/zabbix_java/startup.sh
2.zabbix
server配置
i.增加自定义参数
cat
>/opt/zabbix/etc/zabbix_server.conf.d/javagateway.conf
<<EOF
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5
EOF
ii.重启zabbix
server
3.增加tomcat主机jmx接口
一切正常的话,可以看到对应主机的JMX图标正常点亮
4.导入tomcat模板
提示:使用zabbix自带java模板(JMX
Generic/JMX Tomcat)有些小问题
个人测试下来JMX
Tomcat默认图形没数据,Generic有部分数据
这里使用自定义模板,导入链接模板过程略