14、Zabbix如何使用JMX监控

JMX(Java Management Extensions,即Java管理扩展)是java平台上为应用程序、设备、系统等植入管理功能的框架。

JMX工作原理: 

zabbix_server想知道一台主机上的特定的JMX值时,它向Zabbix-Java-gateway询问,而Zabbix-Javagateway使用“JMXmanagementAPI”去查询特定的应用程序,而前提是应用程序这端在开启时需要“-Dcom.sun.management.jmxremote”参数来开启JMX查询就行了。

Zabbixserver有一个特殊的进程用来连接Java-gateway叫StartJavaPollers;Java-gateway通过配置文件中START_POLLERS参数设置启动多个线程,在zabbix服务器这边如果一个连接所用时间超过Timeout,将会被中断,但是Java-gateway将继续从JMXcounter取数据。所以 StartJavaPollers设的值要小于等于START_POLLERS设置的值。 Zabbix-Java-gateway就相当于一个代理。

配置JMX监控步骤:

1、安装Zabbix-Java-Gateway

2、配置zabbix_java_gateway.conf参数

3、配置zabbix_server.conf参数

4、Java应用开启JMX协议

5、Zabbix Web配置JMX监控的Java应用

安装Zabbix-Java-Gateway

源码安装的时候,加--enable-java参数,依赖关系有java、java-devel软件包。

RPM方式安装命令如下:

# yum -y install zabbix-java-gateway


配置zabix_java_gateway.conf文件

[[email protected] zabbix]# grep -v ‘^#‘ /etc/zabbix/zabbix_java_gateway.conf   
LISTEN_IP="127.0.0.1"
LISTEN_PORT=10052
PID_FILE="/var/run/zabbix/zabbix_java.pid"
START_POLLERS=5

配置zabbix_server.conf文件

StartJavaPollers=5               
JavaGateway=127.0.0.1
JavaGatewayPort=10052

注意:如果要使用JMX监控,那么必须满足

StartJavaPollers <= START_POLLERS

如果不满足这个条件,就会出现Zabbix-Server向Zabbix-Java-Gateway发出请求后无响应的情况。

重启zabbix-server服务和zabbix-java-gateway服务

service  zabbix-java-gateway   restart

使用JMX监控Tomcat:

1、修改tomcat端的配置文件:

编辑TOMCAT_HOME/bin/catalina.sh,如果是监控本地的tomcat,则加入以下指令:  千万注意复制粘贴过去后换行符的问题

CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=12345"

监控远程主机上的Tomcat实例:

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=10.10.10.202

IP地址填写远程主机的IP地址。

修改Tomcat配置文件后,记得重启Tomcat。

注意:在测试环境中,发现启动tomcat总是失败,原因是主机名无法被解析,导致tomcat无法启动。报错信息如下:

Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: dnsserve
r: dnsserver: unknown error

解决办法:编辑/etc/hosts文件,将hostname写到该文件中

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 dnsserver
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

添加tomcat 的JMX监控,并链接JMX的监控模板

查看是否获取到监控数据

命令行获取JMX监控数据:

要先下载 cmdline-jmxclient-0.10.3.jar工具

[[email protected] srv]# java -jar cmdline-jmxclient-0.10.3.jar - 127.0.0.1:12345 java.lang:type=Memory NonHeapMemoryUsage

06/15/2016 11:32:34 +0800 org.archive.jmx.Client NonHeapMemoryUsage:

committed: 28835840

init: 2555904

max: -1

used: 27741272

时间: 2024-08-10 17:11:25

14、Zabbix如何使用JMX监控的相关文章

zabbix之通过jmx监控tomcat

一.安装配置JDK # rpm -ivh jdk-8u45-linux-x64.rpm # vim /etc/profile.d/java.sh export JAVA_HOME=/usr/java/default export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 系统配置立即生效 # source /etc/profile.d/java.sh 查看

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

1.zabbix获取通过jmx监控tomcat示意图 2.在tomcat的catalina.sh配置文件中添加如下信息: JAVA_OPTS="-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremo

分布式系统监视zabbix讲解十之监控tomcat--技术流ken

前言 在Zabbix中,JMX监控数据的获取由专门的代理程序来实现,即Zabbix-Java-Gateway来负责数据的采集,Zabbix-Java-Gateway和JMX的Java程序之间通信获取数据 安装tomcat 准备 关闭防火墙和selinux [[email protected] ~]# systemctl stop firewalld && setenforce 0 第一步:首先需要准备下面的两个包,可在网上下载 第二步:上传至linux,移动到/usr/local下面并解压

8、zabbix监控方式及分布式监控(04)

zabbix支持的监控方式 zabbix所能够显示的且可指定为监控接口类型的监控方式: Agent passive active SNMP:Simple Network Management Protocol 基于SNMP协议实现的监控,不需要特意在被监控端安装zabbix-agent,SNMP一般用在无法在被监控端安装zabbix-agent的时候,比如打印机.路由器 MIB.SMI.SNMP(v1.v2.v3) IPMI:智能平台管理接口(Intelligent Platform Manag

Zabbix-(六) JMX监控

Zabbix-(六) JMX监控 一.前言 Zabbix提供了JMX监控,它通过JMX API获取JVM信息,从而提供监控数据.本文讲述使用JMX监控Tomcat的JVM信息. 准备 Zabbix Server 4.4 (ip: 192.168.152.140) 运行Java应用的主机 以下简称Server-A (已被Zabbix监控) (ip:192.168.152.142) 二.安装Zabbix-Java-gateway Zabbix Server通过Zabbix Java gateway收

zabbix通过JMX监控tomcat状态

因为公司大量使用tomcat作为应用服务,所以,这两天催生了一个想法,通过zabbix监控tomcat的运行状态,从而能够更快的发现tomcat服务出现的问题以及判断问题出现在哪块. 在网上找了一些资料来看,写的都不是很全面(PS:对于我这种菜鸟来说,还有很多东西不知道的,所以需要有解释的详细点的文档来帮助我更好理解原理,于是就有了本篇博文的诞生!) 首先,zabbix监控tomcat等这一类java平台的应用不是直接通过agentd来实现的,而是使用jmx来获取到tomcat这类应用的状态,然

zabbix jmx监控

jmx监控的步骤: 1. 添加主机监控的时候,要加上JMX interface要填写, ip为主机IP, 端口为java端开启的远程端口,默认是12345 2. 前端添加item的时候,Type选择JMX agent, key为 jmx[....]样子(jmx怎么获取的就不知道了) 3. 代理或者Server端的软件 确定安装了yum install zabbix.xx-java-gateway.x86_64 4. 代理或者Server端确定配置文件开启了JavaGateway JavaGate

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

自使用Zabbix监控系统以来,一直想用JMX来监控Tomcat,但是一直都没配置成功,总有一些问题,监控端的报错又很抽象,搜索网上大都是复制粘贴之产物,或者是缺斤短两之网文,但是一直都没放弃,至今终于配置成功,并且成功获取数据,形成图形,现在把自己解决问题的过程和配置的一些心得整理成文. 环境介绍: Centos 6.5 Zabbix 2.2.15 Tomcat 7.0.68 监控JMX配置步骤 1.在zabbix服务器上安装配置zabbix-java-gateway,并且配置相关参数. 2.

Zabbix 通过 JMX 监控 java 进程

参考: [ JMX monitoring ] [ Zabbix Java gateway ] [ JMX Monitoring (Java Gateway) not Working ] 这里会说明通过 JMX 监控 java 进程的配置过程以及需要注意的问题. 本文在 zabbix 已经安装好的基础之上展开. 如果使用 zabbix_proxy , 配置完全一致, 只需要打开zabbix_proxy 对 java app server 有所有端口的访问权限即可. 环境说明 基本环境 OS: Ce