Zabbix监控通过jvm插件监控Tomcat

ZABBIX-JAVA-GATEWAY

根据官方文档描述Zabbix在1.8以前是不支持监控Java,只能使用Zapcat来做代理监控,而且要修改源代码,非常麻烦。为了解决这个监控问题,Zabbix和Java双方应运生成了各自的代理监控程序,zabbix 2.0以后添加了服务进程zabbix-java-gateway。
Java有了JMX,全称是Java Management Extensions,即Java管理扩展。

工作原理

当Zabbix-Server需要知道java应用程序的某项性能的时候,会启动自身的一个Zabbix-JavaPollers进程去连接Zabbix-JavaGateway请求数据,而ZabbixJavagateway收到请求后使用“JMXmanagementAPI”去查询特定的应用程序。
而前提是应用程序这端在开启时需要“-Dcom.sun.management.jmxremote”参数来开启JMX远程查询就行。Java程序会启动自身的一个简单的小程序端口12345向Zabbix-JavaGateway提供请求数据

部署 ZABBIX-JAVA-GATEWAY,由于所用版本为3.4.12,该版本自带ZABBIX-JAVA-GATEWAY插件,所以我们忽略安装部分。直接进入配置阶段

修改/usr/local/zabbix-3.4.12/sbin/zabbix_java/settings.sh配置文件,将以下参数去掉注释即可

LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
START_POLLERS=5
TIMEOUT=3

开启zabbix-java-gateway

/usr/local/zabbix-3.4.12/sbin/zabbix_java/startup.sh

修改/usr/local/zabbix-3.4.12/etc/zabbix_server.conf配置文件

# JavaGateway的服务器IP地址 
JavaGateway=192.168.89.204 (zabbix_server服务器的ip地址) 
# JavaGateway的服务端口 
JavaGatewayPort
=10052 # 从javaGateway采集数据的进程数 StartJavaPollers=5
#重启zabbix_server
/etc/init.d/zabbix_server restar

给tomcat启动脚本添加参数,开启JMX。修改tomcat/bin/下的catalina.bat,添加如下内容:

set JAVA_OPTS=-Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false  -Djavax.management.builder.initial= -Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=Tomcat所在地IP地址

下载Tomcat版本相应的插件,将插件放入Tomcat实例lib文件夹下,然后重启Tomcat

http://archive.apache.org/dist/tomcat/
#相应版本对应地址
http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.1/bin/extras/catalina-jmx-remote.jar

Web端配置如下所示

添加主机

选择模板,也可以自定义模板。网上有资源

添加完成

本文参考文章来源

 

posted @ 2019-03-13 17:18  小年青。  阅读(259)  评论(0编辑  收藏  举报