性能测试之监控--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
最新文章
- 关于MVC EF架构及Repository模式的一点心得
- The prefix ";tx"; for element ";tx:annotation-driven "; is not bound
- DX9资源管理
- MxNet Windows下安装
- 无法从 ajax.googleapis.com 下载问题
- hdu 4494 Teamwork 最小费用最大流
- android 编写动画
- Git Bash下实现复制粘贴等快速编辑功能
- C#中linq报“Character literal must contain exactly one character”的错误提示
- UNREFERENCED_PARAMETER
- 大数据 -->; Spark和Hadoop作业之间的区别
- 【BZOJ 2713】[Violet 2]愚蠢的副官&;&;【BZOJ1183】[Croatian2008]Umnozak——【数位DP】
- UML2.0最新版入门图解
- 机器学习 Logistic 回归
- 阿里2015校招面试回忆录(成功拿到offer)
- 云平台项目--学习经验--jsrender前端渲染模板
- (3)视觉里程计 Visual Odometry
- C# 获得当前 进程 或 线程的ID
- Scikit-learn 库的使用
- rdlc报表函数
热门文章
- Java高级程序设计笔记 • 【第5章 XML解析】
- SpringCloud发现服务代码(EurekaClient,DiscoveryClient)
- Shell自动上传下载文件到SFTP服务器
- pytest动态添加命令行参数并获取(钩子函数:pytest_addoption)
- spring boot pom.xml 提示 ignored 具体解决
- linux简单命令汇总
- 微服务架构 | *3.5 Nacos 服务注册与发现的源码分析
- 【问题排查过程】vm-backup的snapshots导致磁盘满
- manjaro20WPS缺少字体
- C#语言类型