05 zabbix JMX监控


JMX监控数据

  1. Zabbix中,JMX监控数据的获取由专门的代理程序来实现,即Zabbix-Java-Gateway来负责数据的采集,Zabbix-Java-Gateway和JMX的Java程序之间通信获取数据。

JMX在Zabbix中的运行流程

1
2
3
4
5
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
2
3
4
5
1.安装Zabbix-Java-Gateway。
2.配置zabbix_java_gateway.conf参数。
3.配置zabbix-server.conf参数。
4.Tomcat应用开启JMX协议。
5.ZabbixWeb配置JMX监控的Java应用。

部署JMX

1
[root@linux-node1 ~]# yum install  zabbix-java-gateway java-1.8.0-openjdk -y
1
2
3
### 启动
[root@linux-node1 ~]# systemctl start zabbix-java-gateway
[root@linux-node1 ~]# netstat -tnlp|grep 10052

修改zabbix-server配置

1
2
3
4
5
[root@linux-node1 ~]# vim /etc/zabbix/zabbix_server.conf 
JavaGateway=10.0.0.160
# java gateway端口,默认端口10052
StartJavaPollers=5 # 启动进程轮询java gateway
[root@linux-node1 ~]# systemctl restart zabbix-server

配置tomcat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[root@linux-node2 local]# tar -zxvf apache-tomcat-8.5.47.tar.gz 
[root@linux-node2 src]# mv apache-tomcat-8.5.47 /usr/local/tomcat

# 开启tomcat的远程jvm配置文件
vim /usr/local/tomcat/bin/catalina.sh

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"

# 远程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(不要填写错了)

[root@linux-node2 bin]# sh shutdown.sh
[root@linux-node2 bin]# sh startup.sh
[root@linux-node2 bin]# netstat -tnlp|grep 12345
tcp6 0 0 :::12345 :::* LISTEN 9392/java

Web页面配置