Zabbix使用jmx监控多台tomcat

  

Zabbix自带了一部分对于JMX的监控,如果要想使用此模板对tomcat进行比较简单的监控可以考虑使用此模板。

与其他应用使用zabbix-agent不同,对JMX进行监控需要使用zabbix-java-gateway来与系统的JMX交互获取数据.zabbix-server通过java-gateway的10052(默认端口)建立通信连接,java-gateway通过远程主机JMX的12345(默认端口)来获取数据。这里需要使用此Java命令行参数

" -Dcom.sun.management.jmxremote。港”在远程主机(JMX)上设置。通常它是在JAVA_OPTS环境变量中配置的。需要注意的是java-gateway仅仅作为一个转发数据的代理,不缓存任何数据。

这里使用三台机器来作为监控多个tomcat,一台作为zabbix服务器,另两台作为tomcat服务器。默认所有机器都已经安装好了zabbix服务器和zabbix-agent(具体安装方式可参考我之前的文章),和tomcat。


提示:在一个zabbix服务器环境中,只能有一个zabbix-java-gateway作为代理。


<强>监控JMX配置步骤

1,在zabbix服务器上安装配置zabbix-java-gateway(也可单独安装在其他机器上)。

2,配置tomcat服务器JMX服务相关参数

3, zabbix-serve配置zabbix-gateway。

4, zabbix web添加监控



<强> zabbix服务器上安装配置zabbix-java-gateway

1,下载官方提供的软件包并进行安装:

wget  http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix - java -网关第3.2.4 - 2. el7.x86_64.rpm yum  install  zabbix - java -网关第3.2.4 - 2. el7.x86_64。rpm

2,查看安装路径,使用rpm包的方式默认是安装在/usr/share/zabbix-java-gateway/目录

rpm  -qpl  zabbix - java -网关第3.2.4 - 2. el7.x86_64.rpm ,   cd /usr/share/zabbix-java-gateway/bin/

3,启动zabbix-java-gateway,默认的监听端口为10052,如果需要修改端口可以参考此链接

systemctl  start  zabbix-java-gateway


<强>配置tomcat JMX服务相关参数

1,修改tomcat配置文件,启用JMX

vim /usr/地方/tomcat7/bin/catalina.sh    #文件中添加如下内容:      CATALINA_OPTS=" CATALINA_OPTS美元   -Dcom.sun.management.jmxremote , #开启jmx远程监控   -Dcom.sun.management.jmxremote.port=12345   -Dcom.sun.management.jmxremote.authenticate=false  #免密码认证   -Dcom.sun.management.jmxremote.ssl=false  -Djava.rmi.server.hostname=192.168.56.11”, # tomcat服务器IP

,在另一台tomcat上使用相同的配置,IP改为本地的外网IP,此处的IP是JMX接口的接口。

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.56.12 "


2,重启tomcat服务器,JMX的1234端口开启

cd /usr/地方/tomcat7/bin/?shutdown.sh/启动。sh


<强> zabbix-serve配置zabbix-gateway

1,修改zabbix服务器的配置文件如下

grep  " ^ [a - z]”,/usr/地方/zabbix_server/etc/zabbix_server.conf   日志文件=/tmp/zabbix_server.log   DBName=zabbix   dbus=zabbix   DBPassword=zabbix   JavaGateway=127.0.0.1 ,, # JavaGateway所在服务器的IP   JavaGatewayPort=10052,,, # JavaGateway的默认端口   StartJavaPollers=5,,,,, # JVM进行监控轮询实例数,默认是0,关闭状态,需要开启   超时=4   LogSlowQueries=3000

2,重启zabbix服务器

killall  zabbix_server   。/zabbix_server  -c /usr/地方/zabbix_server/etc/zabbix_server。参看


<强> zabbix web添加监控

在web界面添加主机,并在主机上添加JMX模板:


 zabbix使用JMX监控多台tomcat


在主机模板中添加系统自带的两个JMX模板:

 zabbix使用JMX监控多台tomcat 在展示界面,可以看到已经自动添加的图像监控选项:

 zabbix使用JMX监控多台tomcat

Zabbix使用jmx监控多台tomcat