zabbix4.0学习八:JMX有能监控哪些监控项详说

zabbix4.0学习八:JMX有能监控哪些监控项详说

文章目录

    • zabbix4.0学习八:JMX有能监控哪些监控项详说
  • 前言
  • 远程连接tomcat
  • 远程连接java

前言

在使用jmx监控tomcat时一直好奇MBean是从哪里得到的,原来使用java的 监视和管理控制台可以查看。
Jconsole: JAVA 监视和管理控制台简介

远程连接tomcat

打开tomcat/bin/catalina.sh文件,在#!/bin/sh下面添加如下

CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote
     -Dcom.sun.management.jmxremote.authenticate=false
     -Dcom.sun.management.jmxremote.ssl=false
     -Dcom.sun.management.jmxremote.port=12345
     -Djava.rmi.server.hostname=127.0.0.1"

注意添加的位置在#!/bin/sh下面。
注意-Djava.rmi.server.hostname=192.168.2.32要加了,hostname填本机的ip地址,除非是127.0.0.1
查看12345端口监听情况:netstat -antlp|grep 12345

通过上面设置后,任何主机都可以通过12345端口连接到这台机器,从安全性角度上来说,这是不安全的,大部分情况下是不想设置的,如果有安全有考虑可以设置

如果想以安全方式连接,如下修改(可在jconsole控制台测试):
将 -Dcom.sun.management.jmxremote.authenticate=false改成 -Dcom.sun.management.jmxremote.authenticate=true
打开java的安装目录/usr/local/java/jdk1.8.0_191/jre/lib/management,将jmxremote.password.template复制为jmxremote.password,对于jmxremote.password,将 其中的: # monitorRole QED # controlRole R&D井号注释取消掉。
chmod 600 jmxremote.access jmxremote.password

双击jconsole.jar,选中远程连接,url填::例如192.168.1.239:12345。下面的用户名和口令就是上面修改jmxremote.password里的monitorRole QED或controlRole R&D。如果没修改就没用填。点击连接,会提示以不安全方式连接,继续。
出现的界面的右侧页签有个MBean,里面就是JMX监控项了。
比如监控tomcat是否开启压缩功能的MBean:jmx[“Catalina:type=ProtocolHandler,port=8089”,compression],对应的图如下
zabbix4.0学习八:JMX有能监控哪些监控项详说_第1张图片

在知道怎么找MBean的情况下,那监控什么自由空间就很大了。

远程连接java

使用java自带的jconsole远程连接Java应用程序,只需要给远程的java应用程序配置jmx参数即可。
假如:有个demo-java.jar的应用程序,需要远程监听程序运行情况,就可以用一下方式启动程序.

java -Djava.rmi.server.hostname=192.168.1.239 -Dcom.sun.management.jmxremote.port=12345  -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar demo-java.jar

如果启动成功,其它操作如上连接tomcat即可

你可能感兴趣的:(zabbix)