zabbix通过JMX监控tomcat

目录

1)配置java网关

2)修改tomcat

 3)修改tomcat启动脚本

4)启动tomcat 

5)Zabbix-web端配置——添加JMX信息

 6)导入模板​编辑

7) 为server.zabbix.com添加模板

 8)图形如下

 9)如变红色 查看在tomcat的启动脚本中配置的端口后是否启动 为下面状态

10)简单错处解决思路


 

     在server.zabbix.com中我们在编译时已经添加--enabled-java选项并布置好了java环境所以不再做过多描述

1)配置java网关

[root@server ~] cd /usr/local/zabbix/sbin/zabbix_java/
[root@server zabbix_java] ls
bin  lib  settings.sh  shutdown.sh  startup.sh
[root@server zabbix_java] vim settings.sh
9 LISTEN_IP="0.0.0.0"
17 LISTEN_PORT=10052
27 PID_FILE="/tmp/zabbix_java.pid"
35 START_POLLERS=5
[root@server zabbix_java]# cd
[root@server ~] vim /usr/local/zabbix/etc/zabbix_server.conf   //末行追加
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5
完成后重启zabbix_server和zabbix_agentd
[root@server ~] sh /usr/local/zabbix/sbin/zabbix_java/startup.sh    //启动配置脚本
[root@server ~] netstat -anpt | grep 10052      //查看10052端口装态 启动成功
tcp6       0      0 :::10052                :::*                    LISTEN      19451/java  

2)修改tomcat

[root@server ~] java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
[root@server ~] which java
/usr/local/java/bin/java
[root@server ~] tar xf apache-tomcat-8.5.16.tar.gz
[root@server ~] mv apache-tomcat-8.5.16 /usr/local/tomcat/

 3)修改tomcat启动脚本

[root@server ~] vim /usr/local/tomcat/bin/catalina.sh
#!/bin/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 
-Djava.rmi.server.hostname=192.168.147.135"

解释
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.XXX.XXX" #运行tomcat服务IP(不要填写错了)

4)启动tomcat 

[root@server ~] /usr/local/tomcat/bin/catalina.sh start
[root@server ~] netstat -anpt|grep LISTEN |grep java
tcp6       0      0 :::10052                :::*                    LISTEN      98472/java          
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      98725/java          
tcp6       0      0 :::39909                :::*                    LISTEN      98725/java          
tcp6       0      0 :::8009                 :::*                    LISTEN      98725/java          
tcp6       0      0 :::8080                 :::*                    LISTEN      98725/java          
tcp6       0      0 :::12345                :::*                    LISTEN      98725/java          
tcp6       0      0 :::44795                :::*                    LISTEN      98725/java        

5)Zabbix-web端配置——添加JMX信息

zabbix通过JMX监控tomcat_第1张图片

zabbix通过JMX监控tomcat_第2张图片zabbix通过JMX监控tomcat_第3张图片 

 6)导入模板zabbix通过JMX监控tomcat_第4张图片

 zabbix通过JMX监控tomcat_第5张图片

 zabbix通过JMX监控tomcat_第6张图片

 zabbix通过JMX监控tomcat_第7张图片

7) 为server.zabbix.com添加模板

 zabbix通过JMX监控tomcat_第8张图片

 zabbix通过JMX监控tomcat_第9张图片

 zabbix通过JMX监控tomcat_第10张图片

 zabbix通过JMX监控tomcat_第11张图片

 zabbix通过JMX监控tomcat_第12张图片

 zabbix通过JMX监控tomcat_第13张图片

 zabbix通过JMX监控tomcat_第14张图片

 8)图形如下

zabbix通过JMX监控tomcat_第15张图片

 zabbix通过JMX监控tomcat_第16张图片

 zabbix通过JMX监控tomcat_第17张图片

 9)如变红色 查看在tomcat的启动脚本中配置的端口后是否启动 为下面状态

[root@agent ~]# netstat -antp | grep java

tcp6       0      0 :::21406                :::*                    LISTEN      11385/java         

tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      11385/java         

tcp6       0      0 :::8009                 :::*                    LISTEN      11385/java         

tcp6       0      0 :::8080                 :::*                    LISTEN      11385/java         

tcp6       0      0 :::25464                :::*                    LISTEN 

11385/java         

tcp6       0      0 :::12345                :::*                    LISTEN      11385/java         

tcp6       0      0 192.168.200.112:12345   192.168.200.111:39274   ESTABLISHED 11385/java          

tcp6       0      0 192.168.200.112:21406   192.168.200.111:26844   ESTABLISHED 11385/java         

tcp6       0      0 192.168.200.112:21406   192.168.200.111:26846   ESTABLISHED 11385/java

如果没有脚本中配置的端口重启tomcat即可

笔者建议:在完成后可以自主尝试一下监控agent端的tomcat步骤差不多

10)简单错处解决思路

1.mysql.status不出图

检查添加图形时是够图形名称添加错误 不是mysql.status而是其他

2.监控自身或其他主机时zax灯变红报错拒绝

  1. 查看防火墙状态 firewall-cmd –state 查看是否因为防火墙原因 如果是将其关闭
  2. 查看10050端口netstat -anpt | grep 10050 查看端口是否启动
  3. 检查监控主机名是否与配置文件中相同

3.监控tomcat JMX指示灯变红

1)查看被监控端防火墙

2)查看启动脚本中填写的端口是否启动 (启动tomcat后建议查看一下日志是否成功启动或过滤一下8080端口 有时候可能启动tomcat时未报错但是启动失败多检查日志)

4.监控GNS网络设备报错

1)检查共团体名称是否配置相同

2)用server.zabbix.com执行ping查看是否是网络问题

3)检查云是否与虚拟机调整为统一网段

总结错误汇总

         总之在监控linux主机时主机firewalld 及 selinux 。在监控网络设备时注意共团体名称,在监控服务时主机在server或agent中进行引用,添加监控脚本时主机添加执行权限。为zabbix创建其文件或其他路径时注意属组,属主问题即配置文件中路径不要写错,多些细心一定可以成功的。

 

你可能感兴趣的:(zabbix,tomcat,java)