zabbix 使用JMX 监控tomcat
JMX (Java Management Extensions),是java提供的一种管理接口,通常使用JMX来监控系统的运行状态或管理系统的某些方面,比如清空缓存、重新加载配置文件等。百度百科介绍:JMX
zabbix监控机 :os -------cent6.5 x64
zabbix------2.4.6 ,使用yum安装方式安装。
被监控机: os--------cent6.5 x64
java-------官网下载JDK8 安装 ,注意!!!!
tomcat8-----官网下载tar.gz包
配置zabbix 监控机:yum 安装的zabbix是不带java gateway的 ,需要从官网下载zabbix-java-gateway
其监控流程如下
zabbix_server <-> Java Gateway <-> JMX server<->java app
下载java gateway后编译安装
cd zabbix-2.4.6 &&./configure --enable-java --prefix=/usr/local/zabbix安装目录修改在/usr/local/zabbix ,该过程可能会提示缺少javacc ,或者一些其他的编译异常,
解决办法为从java官网下载JDK (不要用yum装,版本太老)安装。完成configure过程后安装make && make install进入编译好的java gateway 目录cd /usr/local/zabbix/sbin/zabbix_java
修改配置文件vim settings.sh将LISTEN_IP=0.0.0.0,LISTEN_PORT=10052,START_POLLERS=5解除注释。
启动java gateway进程./start.sh查看进程ps aux | grep javazabbix 222700.00.0 1654642988 ? S Oct26 0:02 zabbix_server: java poller #1
zabbix 222710.00.0 1654643032 ? S Oct26 0:02 zabbix_server: java poller #2
zabbix 222720.00.0 1654642988 ? S Oct26 0:02 zabbix_server: java poller #3
zabbix 222730.00.0 1655203168 ? S Oct26 0:02 zabbix_server: java poller #4
zabbix 222740.00.0 1655163100 ? S Oct26 0:02 zabbix_server: java poller #5
修改zabbix_server 文件zabbix_server.conf,修改如下项### Option: JavaGateway
# IP address (or hostname) of Zabbix Java gateway.
# Only required if Java pollers are started.
#
# Mandatory: no
# Default:
# JavaGateway=
JavaGateway=127.0.0.1
### Option: JavaGatewayPort
# Port that Zabbix Java gateway listens on.
#
# Mandatory: no
# Range: 1024-32767
# Default:
# JavaGatewayPort=10052
JavaGatewayPort=10052
### Option: StartJavaPollers
# Number of pre-forked instances of Java pollers.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartJavaPollers=0
StartJavaPollers=5
即让zabbix_server 链接到本地10052 端口与java_gateway 通信。重启zabbix_server zabbix 配置完成service zabbix-server restart
配置被监控机:将下载tomcat 解压至用户目录 /root/apache-tomcat-7.0.65修改conf/server.xml在server标签下添加一行<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="12345" rmiServerPortPlatform="12346" />修改bin/catalina.sh在Execute The Requested Command 下面增加一行CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.5.59"这里192.168.5.59 为该本监控机的ip地址,另外建议将hosts 文件中 127.0.0.1 增加该机hostname,否则java 报错但是不影响进程运行。
下载catalina-jmx-remote.jar 并将其放入lib/执行/bin/startup.sh启动tomcat进程,执行结果Using CATALINA_BASE: /root/apache-tomcat-7.0.65
Using CATALINA_HOME: /root/apache-tomcat-7.0.65
Using CATALINA_TMPDIR: /root/apache-tomcat-7.0.65/temp
Using JRE_HOME: /usr/java/jdk1.8.0_65
Using CLASSPATH: /root/apache-tomcat-7.0.65/bin/bootstrap.jar:/root/apache-tomcat-7.0.65/bin/tomcat-juli.jar
Tomcat started.
至此,配置结束。然后是使用调试工具cmdline-jmxclient-0.10.3.jar调试jmx ,在zabbix 监控机上运行java -jar cmdline-jmxclient-0.10.3.jar - 192.168.5.59:12345 java.lang:type=RuntimeUptime将返回tomcat的uptime
最后就可以在zabbix的监控面板中使用jmx agent的方式添加监控了。
参考http://www.aikaiyuan.com/2993.html
页:
[1]