zabbix提供了一个java gateway的应用去监控jmx(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。
Zabbix 的JMX监控架构
一:部署环境
Centos 7.1
Zabbix 4.2.0
Tomcat 8.5.47
服务端(zabbix-server、zabbix-java-gateway):192.168.142.10
客户端(zabbix-agent、Toomcat):192.168.142.14
服务端配置
1、安装jdk
yum install -y java java-devel
2、安装Zabbix-Java-gateway
Zabbix2.0起添加了支持用于监控JMX应用程序的服务进程,称为“Zabbix-Java-gateway”,它是用java写的一个程序。
安装gateway,需要java,java-devel依赖
安装yum源:
yum install -y https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm
安装gateway:
yum install -y java java-devel zabbix-java-gateway
测试是否成功:
第一:测试java是否成功
java -version
第二:测试gateway是否安装成功
[root@localhost ~]# systemctl status zabbix-java-gateway
3、修改Java-gateway的配置文件并启动它
配置文件单独安装的路径为/etc/zabbix/zabbix_java_gateway.conf
# 监听地址
LISTEN_IP=”0.0.0.0″
# 监听端口
LISTEN_PORT=10052
# PID_FILE文件
PID_FILE=”/var/run/zabbix/zabbix_java.pid”
# 开启的工作线程数
START_POLLERS=5
启动zabbix-java-gateway:
[root@localhost ~]# systemctl start zabbix-java-gateway
4、修改zabbix_server的配置文件并重启
修改zabbix-server的配置,编辑/etc/zabbix/zabbix_server.conf ,修改下面几个参数:
# JavaGateway的服务器IP地址
JavaGateway=192.168.142.10
# JavaGateway的服务端口
JavaGatewayPort=10052
# 从javaGateway采集数据的进程数
StartJavaPollers=5
配置文件修改后,重启zabbix-server:
systemctl restart zabbix-server
好,现在zabbix-java-gateway就配置好了。
以上步骤,服务端配置就已经完成。
客户端配置
1、 添加tomact中JMX的参数
编辑tomcat服务中bin目录下的catalina.sh
将以下参数,添加到CATALINA_OPTS的变量中:
CATALINA_OPTS="-Djava.rmi.server.hostname=本地IP地址
-Djavax.management.builder.initial=
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
最好拼接成一行,不然容易出错
配置完成后,重启Tomcat服务,验证12345端口是否有正常监听
二、关联JMX模板到主机,添加监控
选择配置:主机-模板-选择-模板-:
Template JMX Tomcat
关联模板后,等待几分钟,查看ZBX及JMX图片是否变绿
查看模板的监控项是否都生效
再查看最新数据,数据是否有上报