zabbix4.4监控tomcat和jvm实例性能

Zabbixserver有一个特殊的进程用来连接Javagateway叫StartJavaPollers;Javagateway通过配置文件中START_POLLERS参数设置启动多个线程,在zabbix服务器这边如果一个连接所用时间超过Timeout,将会被中断,但是Javagateway将继续从JMXcounter取数据。所以StartJavaPollers设置的值要小于等于START_POLLERS设置的值

zabbix-java-gateway工作在10052端口,Zabbix-Javagateway就相当于一个代理,它负责收集客户端tomcat数据

首先确保我们编译安装的时候--enable-java参数要带上,没有的话你需要重新编译下zabbix server

注意需要安装

yum install -y java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64

如果我们不想编译安装到zabbix,我们可以安装到其他服务器上

配置zabbix_java_gateway

Java-gateway配置文件的START_POLLERS参数 >= zabbix_server配置文件的StartJavaPollers参数,建议都设为5

#vi /usr/local/zabbix/sbin/zabbix_java/settings.sh
LISTEN_IP="0.0.0.0" #ip地址,本机可以不用修改
LISTEN_PORT=10052
PID_FILE="/tmp/zabbix_java.pid"
START_POLLERS=5
TIMEOUT=3

我们还需要配置zabbix_server.conf,使它能够连接zabbix_java_gateway

#vi /usr/local/zabbix/etc/zabbix_server.conf
JavaGateway=127.0.0.1 #本机就填写127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5

重启zabbix-server服务,同时需要开启zabbix server服务器中的zabbix_java服务,开启方法

/usr/local/zabbix/sbin/zabbix_java/startup.sh

默认zabbix-java-gateway日志存在放在/tmp/zabbix_java.log,我们可以在/usr/local/zabbix/sbin/zabbix_java/lib文件中修改其位置,同时可以将其调整为debug模式,能够提工更多的获取数据日志情况

接着我们修改被监控主机的tomcat配置

打开tomcat/bin/catalina.sh文件,在#!/bin/sh下面添加如下,172.26.61.56修改为你tomcat所在主机的IP

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=172.26.61.56"

查看12345端口监听情况

netstat -antlp|grep 12345

下载catalina-jmx-remote.jar文件保存到tomcat/lib下

文件可以在这里下载

http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.37/bin/extras/catalina-jmx-remote.jar

重启tomcat

最后我们再去zabbix平台上添加以下两块监控模板

Template App Apache Tomcat JMX
Template App Generic Java JMX


{E30D3BFF-AFBE-4BDF-843A-4F0558DEC3E7}_20191021152054.jpg


{46B5A22F-8F62-402E-94C5-3BFE1B3AA37F}_20191021151523.jpg

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/730.html