性能测试之监控--zabbix通过jmx监控tomcat

Posted Never Settle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能测试之监控--zabbix通过jmx监控tomcat相关的知识,希望对你有一定的参考价值。

前提:

已经安装好了zabbix server

实验环境

Centos 7

Zabbix 3.0

Tomcat 7.0

JDK 1.8

安装JDK

tar -zxvf jdk-8u181-linux-x64.tar.gz -C /usr/local/ 

vim ~/.bash_profile(此处的配置文件是我的所有配置)

export JAVA_HOME=/usr/local/jdk1.8.0_181
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$CATALINA_HOME/bin
export CLASS_PATH=$JAVA_HOME/bin/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tool.jar
export PATH

修改完配置文件执行:
source ~/.bash_profile 使上面的环境变量立刻生效

执行:
ln -s $JAVA_HOME/bin/java /usr/bin/java

安装Zabbix-Java-gateway

Zabbix2.0起添加了支持用于监控JMX应用程序的服务进程,称为“Zabbix-Java-gateway”,它是用java写的一个程序。

1、安装yum源:
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

2、安装gateway:
yum install -y  java-devel  zabbix-java-gateway

3、测试是否安装成功:

service zabbix-java-gateway status
输出: zabbix-java-gateway is stopped 证明安装成功

4、修改java-gateway的配置

        vi /etc/zabbix/zabbix_java_gateway.conf

# 监听地址
LISTEN_IP=”0.0.0.0″
# 监听端口
LISTEN_PORT=10052
# PID_FILE文件
PID_FILE=”/var/run/zabbix/zabbix_java.pid”
# 开启的工作线程数
START_POLLERS=5

   5、启动zabbix-java-gateway

        service zabbix-java-gateway start

安装Tomcat(实验场景是安装了同一台机器)

tar zxvf apache-tomcat-7.0.90.tar.gz -C /usr/local/
修改配置文件,参考上面的~/.bash_profile
启动tomcat

修改zabbix_server的配置文件并重启

1、vi /etc/zabbix/zabbix_server.conf ,添加下面几个参数:

# JavaGateway的服务器IP地址
JavaGateway=192.168.226.134
# JavaGateway的服务端口
JavaGatewayPort=10052
# 从javaGateway采集数据的进程数
StartJavaPollers=5

2、配置文件修改后,重启zabbix-server:

service zabbix-server restart

现在zabbix-java-gateway就配置好了

 

Tomcat配置jmx

1、vi /usr/local/tomcat/bin/catalina.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"

2、下载catalina-jmx-remote.jar,将下载后后的jar包放到被监控的tomcat实例的lib目录下

      mv catalina-jmx-remote.jar /usr/local/tomcat/lib/

      重启tomcat

3、通过jmxcmd.jar测试tomcat中jmx配置是否正确:
jar包下载地址:https://sourceforge.net/projects/jmxcmd/files/
执行命令:java -jar jmxcmd.jar - 127.0.0.1:12345 java.lang:type=Memory NonHeapMemoryUsage
如果能正常获取数据则输出下面信息:
08/25/2018 05:23:02 -0400 de.layereight.jmxcmd.Client NonHeapMemoryUsage:
committed: 138412032
init: 2555904
max: -1
used: 129302536

 添加监控

主机-模板-选择机器-模板,添加下面两个模板:
Template JMX Tomcat
Template JMX Generic

添加了之后就可以查看监控到的数据了:

 

默认情况下的graph比较少,可以手动添加图

Configuration-->Template-->找到上面的两个模板:

点击Graphs,进去之后点创建,添加自己关注的监控指标,此时监控graph就有了自己新加的了

 

 参考文章

https://blog.csdn.net/Hu_wen/article/details/53587250?locationNum=14&fps=1

 

 

 

 

 

 

 

 

以上是关于性能测试之监控--zabbix通过jmx监控tomcat的主要内容,如果未能解决你的问题,请参考以下文章

Zabbix 3.0 监控Tomcat

zabbix监控通过jmx监控tomcat的配置过程

Zabbix- JMX监控

zabbix jmx监控tomcat 无数据显示

Zabbix利用JMX监控多实例Tomcat运行状态

Zabbix 通过 JMX 监控 java 进程