前提:

已经安装好了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的更多相关文章

  1. zabbix使用jmx监控tomcat

    zabbix监控Tomcat/JVM实例性能(115) – 运维生存时间http://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/ zabbi ...

  2. zabbix 基于JMX的Tomcat监控

    zabbix 基于JMX的Tomcat监控 一.环境 ubuntu14.04 LTS Java 1.7.0 zabbix 2.4.5 二.安装配置 1.安装JavaGateway 在ubuntu14. ...

  3. zabbix通过jmx监控tomcat

    Zabbix版本: Zabbix 3.0.2 一.服务端配置 1.安装jdk(版本1.7.0_79) 安装与配置比较简单,过程省略.执行java -version命令,出现类似界面表示成功.   2. ...

  4. Zabbix 通过 JMX 监控 java 进程

    参考: [ JMX monitoring ] [ Zabbix Java gateway ] [ JMX Monitoring (Java Gateway) not Working ] [ Monit ...

  5. 监控应用服务器使用JMX监控Tomcat (推荐)

    前言:做了一个监控应用服务器的项目(支持Tocmat.WebSphere.WebLogic各版本), 过程也算是磕磕绊绊,由于网上缺少相关资料,或者深陷于知识的海洋难以寻觅到有效的资料,因而走过不少弯 ...

  6. Java 监控基础 - 使用 JMX 监控和管理 Java 程序

    点赞再看,动力无限.Hello world : ) 微信搜「程序猿阿朗 」. 本文 Github.com/niumoo/JavaNotes 和 未读代码网站 已经收录,有很多知识点和系列文章. 此篇文 ...

  7. zabbix 部署 jmx 监控tomcat

    zabbix提供了一个java gateway的应用去监控jmx(Java Management Extensions,即Java管理扩展)是一个为应用程序.设备.系统等植入管理功能的框架.JMX可以 ...

  8. Tomcat开启JMX监控

    搭建模拟环境: 操作系统:centos7内存:1Gjdk:1.8.0_131tomcat:8.0.48 环境准备我们这里就不直接演示了,直接配置tomcat的jmx 1.进入到tomcat的bin目录 ...

  9. 性能测试之JVM的故障分析工具VisualVM

    VisualVM 是随JDK一同发布的jvm诊断工具,通过插件可以扩展很多功能,插件扩展也是其精华所在. 提供了一个可视界面,用于在Java应用程序在Java虚拟机上运行时查看有关Java应用程序的详 ...

随机推荐

  1. Java中的构造方法「注意事项」

    构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是调用构造方法. 语法: public 类名称(参数类型 参数名称){ 方法体 } 注意事项: 构造方法的名称必须和所在的类 ...

  2. Linux 安装并启用 PHP-FPM

    首先,在编译时带上 --enable-fpm 参数: [root@localhost local]# yum -y install libxml2 libxml2-devel gd gd-devel ...

  3. 内联模板、X-Template

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <script s ...

  4. Chrome升级到91版本以上后Cookies SameSite问题,IdentityServer4登录不上问题?

    还原下问题: 跨站Cookie安全级别限制,如过是https不用担心这个问题,但是IP访问,本地测试等就会出现登录不上 针对这个问题,记得早在之前80版本的chrome就会存在的问题,可能大家会用:c ...

  5. golang strings.Split函数

    golang strings.Split函数 https://play.studygolang.com/ package main import ( "fmt" "str ...

  6. vs2017 winform 组件 -- 总结

    1.ComboBox  [下拉框] (1) 添加选项 this.[控件名].Items.Add("内容") (2)设置下拉框 自动完成 模式 和 数据源 this.[控件名].Au ...

  7. CentOS 7 使用unzip解压zip文件提示未找到命令的解决方法

    故障现象: 解决方法: 如果你使用unzip命令解压.zip文件,提示未找到命令,可能是你没有安装unzip软件,下面是安装方法 [root@localhost www]# yum install - ...

  8. 解决maven每次更新都编程java1.5

    Maven: 每次更新Maven Project ,JAVA 版本都变为1.5 本文转载自:http://www.cnblogs.com/Hxinguan/p/6132446.html 问题: 1.创 ...

  9. Could not find resource mybatis.xml 找不到mybatis主配置文件的三种解决方式

    第一种:先清除target目录 再重新compile编译 第二种:让idea重构项目 第三种 :手动添加到target目录下的classes包下

  10. 从如何使用到如何实现一个Promise

    前言 这篇文章我们一起来学习如何使用Promise,以及如何实现一个自己的Promise,讲解非常清楚,全程一步一步往后实现,附带详细注释与原理讲解. 如果你觉的这篇文章有帮助到你,️关注+点赞️鼓励 ...