JMX 全称是Java Management Extensions,即Java管理扩展。Java程序会开放一些端口,用来获取运行状况。
从Zabbix2.0开始,内置了监控JMX的功能,叫做"Zabbix Java Gateway ",在Zabbix Serve上会启动名为"Zabbix Java Gateway "的进程,当需要获取JMX数据时,Zabbix Server会"问 "JMX Gateway,然后JMX Gateway 根据JMX管理API去查询需要的数据。在使用时,Java程序不需要在代码中新增任何东西,只需要在启动时加上一些JVM参数,使得它可以支持使用监控端口监控JMX。
1 . 在server2安装jdk。提供java程序运行的环境
rpm -ivh jdk-8u121-linux-x64.rpm
解压tomcat压缩包,并设值软链接
tar zxf apache-tomcat-8.5.24.tar.gz -C /usr/local/
cd /usr/local/
ln -s apache-tomcat-8.5.24/ tomcat
修改tomcat的配置文件,使得该程序向外提供一个数据采集的端口。
vim /usr/local/tomcat/bin/catalina.sh
开启服务,查看端口是否正常
./startup.sh
netstat -antlp
至此tomcat已经成启动,被监控的服务已经存在。
访问 192.168.13.112:8080
2 . 在zabbix server端设置:
安装 zabbix-java-gateway 服务
yum install zabbix-java-gateway.x86_64 -y
修改zabbix-java-gateway 配置文件:/etc/zabbix/zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0" ##监听地址
LISTEN_PORT=10052 ##监听端口
START_POLLERS=5 ##开启的工作线程数量
systemctl start zabbix-java-gateway.service # 启动服务
修改zabbix server 配置文件 ,指定zabbix-java-gateway 相关信息
JavaGateway=172.25.13.110 # zabbix-java-gateway 所在主机ip
JavaGatewayPort=10052 # zabbix-java-gateway 服务的监听端口
StartJavaPollers=5 # 为zabbix-java-gateway 服务开启的进程数
systemctl restart zabbix-server.service # 重启服务
查看端口10052是否开启
3 . 在zabbix监测界面的配置
监控程序所在的主机添加JMX接口