在Zabbix中,JMX监控数据的获取由专门的代理程序来实现,即Zabbix-Java-Gateway来负责数据的采集,Zabbix-Java-Gateway和JMX的Java程序之间通信获取数据
JMX在Zabbix中的运行流程:
1.Zabbix-Server找Zabbix-Java-Gateway获取Java数据 2.Zabbix-Java-Gateway找Java程序(zabbix-agent)获取数据 3.Java程序返回数据给Zabbix-Java-Gateway 4.Zabbix-Java-Gateway返回数据给Zabbix-Server 5.Zabbix-Server进行数据展示
配置JMX监控的步骤:
1.安装Zabbix-Java-Gateway。 2.配置zabbix_java_gateway.conf参数。 3.配置zabbix-server.conf参数。 4.Tomcat应用开启JMX协议。 5.ZabbixWeb配置JMX监控的Java应用。
1.配置所有Agent(标准化目录结构)
[root@linux-node1 ~]# vim /etc/zabbix/zabbix_agentd.conf #编辑配置文件引用key Include=/etc/zabbix/zabbix_agentd.d/*.conf [root@linux-node1 ~]# mkdir /etc/zabbix/scripts #存放Shell脚本
2.安装java以及zabbix-java-gateway (如果源码安装加上--enable-java参数)
[root@linux-node1 ~]# yum install zabbix-java-gateway java-1.8.0-openjdk -y
3.启动zabbix-java-gateway
[root@linux-node1 ~]# systemctl start zabbix-java-gateway [root@linux-node1 ~]# netstat -lntup|grep 10052 tcp6 0 0 :::10052 :::* LISTEN 13042/java
4.修改zabbix-server 配置文件
[root@linux-node1 ~]# vim /etc/zabbix/zabbix_server.conf JavaGateway=192.168.90.11 # java gateway地址(如果和zabbix-server装一起可以写127.0.0.1) JavaGatewayPort=10052 #java gateway端口,默认端口10052 StartJavaPollers=5 #启动进程轮询java gateway
5.重启zabbix-server
[root@linux-node1 ~]# systemctl restart zabbix-server
6.开启tomcat的远程jvm配置文件
[root@linux-node1 ~]# vim /usr/local/tomcat/bin/catalina.sh #找到自己本机tomcat路径(如果是salt来管,修改salt模板即可) CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.90.11" #远程jvm配置文件解释 CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote # #启用远程监控 JMX-Dcom.sun.management.jmxremote.port=12345 #jmx远程端口,Zabbix添加时必须一致 -Dcom.sun.management.jmxremote.authenticate=false #不开启用户密码认证 -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.90.11" #运行tomcat服务IP(不要填写错了)
7.重启tomcat服务
[root@linux-node1 ~]# /usr/local/tomcat/bin/shutdown.sh [root@linux-node1 ~]# /usr/local/tomcat/bin/startup.sh
8.zabbix添加tomcat主机,并添加Zabbix自带java监控模板,如图4-10、图4-11、图4-12
图4-10
图4-11
图4-12
9.查看图形,如图4-13
10.自带的监控可能无法满足企业需求,大家可以根据公司的业务定制不同的JVM监控模板。
本文转自 baishuchao 51CTO博客,原文链接:http://blog.51cto.com/baishuchao/1958241