Zabbix使用jmx监控多台tomcat
admin
2023-03-25 13:41:54
0次

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

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

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

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


提示:在一个zabbix-server环境中,只能有一个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-gateway-3.2.4-2.el7.x86_64.rpm
yum install zabbix-java-gateway-3.2.4-2.el7.x86_64.rpm

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

rpm -qpl zabbix-java-gateway-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/local/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 Interface的接口。

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/local/tomcat7/bin/
./shutdown.sh
./startup.sh


zabbix-serve配置zabbix-gateway

1、修改zabbix-server的配置文件如下

grep "^[A-Z]" /usr/local/zabbix_server/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
JavaGateway=127.0.0.1   #JavaGateway所在服务器的IP
JavaGatewayPort=10052   #JavaGateway的默认端口
StartJavaPollers=5     #JVM进行监控轮询实例数,默认是0,关闭状态,需要开启
Timeout=4
LogSlowQueries=3000

2、重启zabbix-server

killall zabbix_server
./zabbix_server -c /usr/local/zabbix_server/etc/zabbix_server.conf


zabbix web添加监控

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


Zabbix使用jmx监控多台tomcat


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

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

Zabbix使用jmx监控多台tomcat

在配置了这些模板之后,默认情况下有些参数是获取不到的,这就需要我们对监控项目进行修改,具体如何修改我在zabbix 使用模板监控tomcat一文中有具体的配置过程。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...