性能测试之监控--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