天下風雲出我輩
一入江湖歲月催

Zabbix使用JMX监控Tomcat

zabbix提供了一个java gateway的应用去监控jmx(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。

【Zabbix监控Tomcat工作原理】

Zabbix-server要知道java应用程序的某项性能的使用时候 ,会启动自身的一个Zabbix-JavaPollers进程去链接zabbix-JavaGateway请求数据,而zabbix-Javagateway收到请求后并使用;“JMXmanagentAPI”去查询特定的应用程序,而前提是应用程序这端在开启的时候 需要“-Dcom.sun.management.jmxremote”参数来开启JMX远程查询就行,JAVA程序会启动自身的一个简单的小程序端口向Zabbix-JavaGatway提供请求数据。

 

java gateway与zabbix-server端配置

1、安装java gateway

#这里直接在zabbix server上安装

 yum install -y  java  zabbix-java-gateway

2、修改zabbix-java-gateway配置文件

[[email protected] ~]# vim /etc/zabbix/zabbix_java_gateway.conf 
LISTEN_IP="0.0.0.0"           监听的IP地址
LISTEN_PORT=10052                监听的端口
PID_FILE="/var/run/zabbix/zabbix_java.pid"     存放pid路径
START_POLLERS=5                     开通几个进程,默认是5。
TIMEOUT=3                     超时时间1-30,如果网络环境差,超时时间就修改长一点

#启动java geteway
systemctl start zabbix-java-gateway  && systemctl enable zabbix-java-gateway

#查看进程
[[email protected] ~]# netstat -ntlp |grep 10052
tcp6 0 0 :::10052 :::* LISTEN 34530/java

3、修改zabbix-server 配置

[[email protected] ~]# vim /etc/zabbix/zabbix_server.conf 
编辑zabbix-server来指定zabbix-java-gateway
JavaGateway=127.0.0.1     #IP地址是安装java-gateway的服务器
JavaGatewayPort=10052          #端口,默认就可以
StartJavaPollers=5       #预启动进程

#重启zabbix-server服务
systemctl restart zabbix-server

 

Tomcat应用端配置

1、修改脚本文件

vim /opt/tomcat/bin/catalina.sh
#添加在# Execute The Requested Command 这一行之上

export CATALINA_OPTS="-Dcom.sun.management.jmxremote 
-Djava.rmi.server.hostname=192.168.1.231
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false"


./shutdown.sh   #关闭tomcat
./startup.sh     #启动tomcat

#查看进程端口
[[email protected] bin]# netstat -ntlp
tcp6 0 0 :::12345 :::* LISTEN 19049/java

#参数解析
-Dcom.sun.management.jmxremote                   #启用JMX远程监控。
-Dcom.sun.management.jmxremote.ssl=false             #是否使用SSL。
-Dcom.sun.management.jmxremote.authenticate=false       #是否开启认证
-Dcom.sun.management.jmxremote.port=12345              #端口号
-Djava.rmi.server.hostname=192.168.1.231                #Tomcat所在服务器IP

2、可以下载jdk工具打开jconsole.exe测试连接查看数据

 

web界面设置

1、在安装tomcat的主机上添加监控

 

2、查看图形

 

JMX自定义模板

https://gitlab.com/anonym0x1/share-code/blob/master/zabbix%20templates/JMX_templates.xml

 

赞(4) 打赏
未经允许不得转载:Anonym0x1 » Zabbix使用JMX监控Tomcat

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏