1.工作原理
当Zabbix-Server需要知道java应用程序的某项性能的时候,会启动自身的一个Zabbix-JavaPollers进程去连接Zabbix-JavaGateway请求数据,而ZabbixJavagateway收到请求后使用“JMXmanagementAPI”去查询特定的应用程序,而前提是应用程序这端在开启时需要“-Dcom.sun.management.jmxremote”参数来开启JMX远程查询就行。Java程序会启动自身的一个简单的小程序端口12345向Zabbix-JavaGateway提供请求数据。
2.搭建实验环境
主机名(IP) 服务
server1(172.25.20.1) zabbix-server ,zabbix-web,zabbix-agent,java-gateway
server2(172.25.20.2) zabbix-agent,tomcat
3.具体实现过程如下(zabbix监控tomcat的部署)
可以看出目前zabbix平台还没有监控server2上面的java应用
(1)在server2上配置
下载tomcat和jdlk,解压,作软链接方便更新。
编辑tomcat的测试文件
查看官网,修改配置文件,开启服务并查看端口。
在tomcat的文件中添加JMA参数,JMA全称Java Management Extensions
即为java应用提供管理扩展功能,本次实验为开启远程监控功能
[root@server2 bin]# vim catalina.sh
CATALINA_OPTS='-Dcom.sun.management.jmxremote #开启远程监控
-Dcom.sun.management.jmxremote.port=8888 #远程监控端口,只要不冲突就好
-Dcom.sun.management.jmxremote.ssl=false #远程ssl验证为false
-Dcom.sun.management.jmxremote.authenticate=false'
[root@server2 bin]# ./startup.sh #开启tomcat服务
[root@server2 bin]# netstat -ntlp #查看端口
(2)在server1上配置
安装zabbix-java-gateway
编辑zabbix-server的配置文件,添加javagateway的相关信息,重启服务
打开java网关10052:
(3)在web界面进行设置添加监控
添加监控模板:
修改server1上的gateway的文件: