zabbix提供了一个java gateway的应用去监控jmx(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。

一、部署环境

服务器端

监控软件:zabbix-3.0.

jdk版本:
[root@manage /]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b11)
OpenJDK -Bit Server VM (build 25.131-b11, mixed mode)

Tomcat版本:
[root@manage /]# /data/tomcat/bin/version.sh
Using CATALINA_BASE: /data/tomcat
Using CATALINA_HOME: /data/tomcat
Using CATALINA_TMPDIR: /data/tomcat/temp
Using JRE_HOME: /data/java/jre
Using CLASSPATH: /data/tomcat/bin/bootstrap.jar:/data/tomcat/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.
Server built: Dec :: UTC
Server number: 7.0.67.0
OS Name: Linux
OS Version: 2.6.-642.13..el6.x86_64
Architecture: amd64
JVM Version: 1.8.0_121-b13
JVM Vendor: Oracle Corporation

以上的jdk,Tomcat,zabbix安装过程请自行解决;本文重点不是讲解如何安装这些软件。而是通过安装配置 Zabbix-Java-gateway 来监控Tomcat JMX.

1、安装Zabbix-Java-gateway

zabbix-java-gateway 可以通过源码编译安装zabbix时加上模块 --enable-java;如果zabbix编译安装时,指定了--enable-java,那么接下来的安装zabbix-java-gateway就可以跳过。

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

安装gateway,需要java,java-devel依赖

安装yum源:yum install -y http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
安装gateway:yum install -y java java-devel zabbix-java-gateway 

测试是否成功:

第一:测试java是否成功

[root@manage /]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b11)
OpenJDK -Bit Server VM (build 25.131-b11, mixed mode)

第二:测试gateway是否安装成功

#:service zabbix-java-gateway status
zabbix-java-gateway is stopped

2、修改Java-gateway的配置文件并启动它

配置文件单独安装的路径为/etc/zabbix/zabbix_java_gateway.conf

[root@manage /]# egrep -v  "^#|^$" /etc/zabbix/zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0"
LISTEN_PORT=
PID_FILE="/var/run/zabbix/zabbix_java.pid"
START_POLLERS=
TIMEOUT=

启动zabbix-java-gateway:

service zabbix-java-gateway start

3、修改zabbix_server的配置文件并重启

修改zabbix-server的配置,编辑/etc/zabbix/zabbix_server.conf ,修改下面几个参数:

[root@manage etc]# egrep -v  "^#|^$" /etc/zabbix/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
# JavaGateway的服务器IP地址
JavaGateway=113.57.23.118
# JavaGateway的服务端口
JavaGatewayPort=
# 从javaGateway采集数据的进程数
StartJavaPollers=
Timeout=
FpingLocation=/usr/sbin/fping
LogSlowQueries=

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

service zabbix-server restart

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

以上步骤,服务端配置就已经完成。

客户端配置

1、 添加tomact中JMX的参数

编辑tomcat服务中bin目录下的catalina.sh
将以下参数,添加到CATALINA_OPTS的变量中:
CATALINA_OPTS="-Djava.rmi.server.hostname=客户端外网ip地址
-Djavax.management.builder.initial=
-Dcom.sun.management.jmxremote=true ##开启远程连接
-Dcom.sun.management.jmxremote.port= ##远程连接端口
-Dcom.sun.management.jmxremote.ssl=false ##关闭ssl认证
-Dcom.sun.management.jmxremote.authenticate=false" ##关闭用户认证

配置完后重启Tomcat服务,然后检查配置的12345端口是否启动

[root@iZ2ze2db4rp7beknjhneZ ~]# netstat -lnupt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0.0.0.0: 0.0.0.0:* LISTEN /zabbix_agentd
tcp ::: :::* LISTEN
tcp ::: :::* LISTEN /java

2.下载测试工具cmdline-jmxclient-0.10.3.jar

cmdline-jmxclient-0.10.3.jar为一个测试工具,可用来测试jmx是否配置正确,下载cmdline-jmxclient-0.10.3.jar(下载到任意目录)

wget http://crawler.archive.org/cmdline-jmxclient/cmdline-jmxclient-0.10.3.jar

百度网盘下载链接: https://pan.baidu.com/s/1h9MyjyJMrxG_plK5Jdep8w 密码: ayj6

3.验证tomcat中JMX配置是否生效

下载完测试工具后,在客户端上执行下面语句

java -jar /tmp/cmdline-jmxclient-0.10..jar - 127.0.0.1: java.lang:type=Memory NonHeapMemoryUsage

如果有如下回显表示jmx配置正确,如不正确,请检查配置,看下端口启动是否正常,server.xml 配置。

[root@iZ25jlnbis45hZ bin]# java -jar /tmp/cmdline-jmxclient-0.10..jar - 本机ip地址: java.lang:type=Memory NonHeapMemoryUsage
// :: + org.archive.jmx.Client NonHeapMemoryUsage:
committed:
init:
max:
used:

经过上面的服务器端和客户端的配置,离成功只差最后一步。

二、导入模板到zabbix,并关联到主机,添加监控

选择配置:主机-模板-选择-模板-:
Template JMX Tomcat
Template JMX Generic

这里我为大家提供一个模板,链接:https://pan.baidu.com/s/1d3c-6WRId9y3aAowj_5cag 密码:v83m,导入后如下:

导入模板以后主机添加JMX接口:

接下来就可以查看图形(配置完出图形,大概需要10分钟左右的时间获取服务器上的数据,请耐心等待):

JDK也提供了图像化界面的软件来监控Tomcat虚拟机

安装完window版的jdk后,在C:\Program Files\Java\jdk1..0_144\bin中即可看到jvisualvm.exe的可执行文件。

双击jvisualvm.exe添加JMX链接,添加上主机ip:端口即可连接。

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

  3. zabbix通过jmx监控tomcat

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

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

    前提: 已经安装好了zabbix server 实验环境 Centos 7 Zabbix 3.0 Tomcat 7.0 JDK 1.8 安装JDK tar -zxvf jdk-8u181-linux- ...

  5. zabbix 基于JMX的Tomcat监控

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

  6. linux下利用JMX监控Tomcat

    利用JMX监控Tomcat,就是相当于部署在tomcat上的应用作为服务端,也就是被管理资源的对象.然后通过程序或者jconsole远程连接到该应用上来.远程连接需要服务器端提供ip和port.如果需 ...

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

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

  8. 009-通过jmx监控tomcat

    前言想理解怎么监控tomcat,必需识下图(图片源出网络) zabbix-Web前端界面,它通过数据库里数据展示.和其它组件不直接关联zabbix-server运行在10051端口,Zabbix-se ...

  9. Linux记录-JMX监控Tomcat上传到falcon

    1.登录测试服务器xxxxxx xxxxxx su root输入xxxx 2.先修改Tomcat的启动脚本,(linux下为catalina.sh),添加以下内容: CATALINA_OPTS=&qu ...

随机推荐

  1. VS2010 快捷键设置,快速编码1

    全屏:Shift+Alt+Enter注释选定内容:Ctrl+E+C/Crtr+E+U代码格式化:ctrl+E+F VS2008 使用小技巧——快捷键1. 怎样调整代码排版的格式?选择:编辑—>高 ...

  2. (转)live555从RTSP服务器读取数据到使用接收到的数据流程分析

    本文在linux环境下编译live555工程,并用cgdb调试工具对live555工程中的testProgs目录下的openRTSP的执行过程进行了跟踪分析,直到将从socket端读取视频数据并保存为 ...

  3. nodejs基础 -- 函数

    Node.js 函数 在JavaScript中,一个函数可以作为另一个函数接收一个参数.我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数. Node.js中函数的使用与Javasc ...

  4. 转载:【原译】Erlang构建和匹配二进制数据(Efficiency Guide)

    转自:http://www.cnblogs.com/futuredo/archive/2012/10/19/2727204.html Constructing and matching binarie ...

  5. 获取作为 URL 部署清单的位置。

    ActivationContext ac = AppDomain.CurrentDomain.ActivationContext; ApplicationIdentity ai = ac.Identi ...

  6. xpath的数据和节点类型以及XPath中节点匹配的基本方法

    XPath数据类型  XPath可分为四种数据类型:  节点集(node-set)  节点集是通过路径匹配返回的符合条件的一组节点的集合.其它类型的数据不能转换为节点集.  布尔值(boolean)  ...

  7. 倾斜摄影 实景三维建模软件photoscan教程

    PhotoScan是一款基于影响自动生成高质量实景三维模型的优秀软件,这对于3D建模需求来说实在是一把利器. PhotoScan无需设置初始值,无须相机检校,它根据最新的多视图三维重建技术,可对任意照 ...

  8. 更改VS2010的[默认开发语言]

    1.菜单-->"工具"-->"导入导出设置".例如以下图: 2.选择"重置全部设置",例如以下图: 3.重置设置,例如以下图: ...

  9. Neo4j简单的样例

    系统环境: Ubuntu 04.10 x64 一:安装 下载最新版:neo4j-community-2.2.3-unix.tar.gz  解压 cd neo4j-community-2.2.3/bin ...

  10. haffman哈夫曼编码的实现

    <span style="font-size:18px;">/* 1.在一棵二叉树中,我们定义从A节点到B节点所经过的分支序列为从A节点到B节点的路径: 定义从A节点到 ...