首页 技术 正文
技术 2022年11月6日
0 收藏 566 点赞 497 浏览 4273 个字

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

工作原理:

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就相当于一个代理。

1.zabbix的JMX架构

Zabbix通过JMX方式监控java中间件

出现此界面,说面jdk安装成功

2.2.  安装zabbix-Java-gateway

软件包在zabbix自带的有,目前暂时只支持从zabbix软件包中获得。

安装Javagateway如果原来已经安装zabbix,只需要再添加以下zabbix-java

Zabbix通过JMX方式监控java中间件Zabbix通过JMX方式监控java中间件Zabbix通过JMX方式监控java中间件<img src="https://img.zhankr.net/images/2022/11/2022110601432755.jpg" data-ratio="0.0359375" data-w="640" data-type="jpeg" />

1) 添加参数,开启JMX

修改 tomcat/bin 目录下 catalina.sh ,添加以下内容:

Zabbix通过JMX方式监控java中间件

Zabbix通过JMX方式监控java中间件

2) 启动tomcat

Zabbix通过JMX方式监控java中间件

下载cmdline-jmxclient-0.10.3.jar文件测试是否能够取得数据

Zabbix通过JMX方式监控java中间件

3)  导入模板

成功后可以看到模板custom Tomcat(有朋友提供了一个更好的tomcat模板)

Zabbix通过JMX方式监控java中间件

Zabbix通过JMX方式监控java中间件Zabbix通过JMX方式监控java中间件

成功后会显示JMX图标变绿,表示可用

<img src="https://img.zhankr.net/images/2022/11/202211060143309.jpg" data-ratio="0.0625" data-w="640" data-type="jpeg" />

5) 出图

Zabbix通过JMX方式监控java中间件

<img src="https://img.zhankr.net/images/2022/11/202211060143309.jpg" data-ratio="0.0625" data-w="640" data-type="jpeg" />4)  出图

Zabbix通过JMX方式监控java中间件

4几种常用的JAVA容器的JMX开启方式

4.1. Apache Tomcat

如果是windows版本,编辑TOMCAT_HOME/bin/catalina.bat,在开头加入下面几行:

Zabbix通过JMX方式监控java中间件Zabbix通过JMX方式监控java中间件<img src="https://img.zhankr.net/images/2022/11/2022110601433113.jpg" data-ratio="0.0359375" data-w="640" data-type="jpeg" />

然后再进入 WebSphere Administrative Console, open Servers → Server Types → WebSphere application servers → WAS_SERVER_NAME → Java and Process Management → Process definition → Java Virtual Machine → Custom properties.

增加下面几个环境变量:

Zabbix通过JMX方式监控java中间件

Zabbix通过JMX方式监控java中间件

应用更改,重启应用就开启了。

4.3. Oracle GlassFish AS

进入GlassFish Console, open GAS_CONFIG → JVM Settings → JVM Options.

加入下面的环境变量到“JVM options”:

Zabbix通过JMX方式监控java中间件Zabbix通过JMX方式监控java中间件Zabbix通过JMX方式监控java中间件Zabbix通过JMX方式监控java中间件

注意JMX_HOST为weblogic的主机名或IP地址,JMX_PORT为JMX端口,通常使用12345,然后重启weblogic,JMX就开启了。

如果你的应用不是布署在默认的应用服务器上,而是新增了一个应用服务器布署的话,应该使用下面这个方法:

Zabbix通过JMX方式监控java中间件

Zabbix通过JMX方式监控java中间件

然后保存,激活更改,再重启这个应用服务器就开启JMX了。

5测试和查看JMX的配置和状态信息

JMX开启后,我们就可以通过相关的工具去查看JMX内的状态信息了,通常可以使用JDK的jconsole程序查看,对于weblogic,它自带了一些工具也可以查看,可以参考官方文档

(http://docs.huihoo.com/oracle/middleware/fusion/11g/web.1111/e13715/nav_edit.htm#WLSTG175)

另外还有一个叫cmdline-jmxclient-0.10.3.jar的工具也可以非常方便的查看这些信息。

5.1. 使用JDK的jconsole程序查看

jconsole在JDK_HOME/bin下面,打开它,输入服务器的IP和端口就可以连接了:

Zabbix通过JMX方式监控java中间件

Zabbix通过JMX方式监控java中间件

Zabbix通过JMX方式监控java中间件

Zabbix通过JMX方式监控java中间件

com.bea下面都是Weblogic相关的信息,其它为JVM级别的信息。

Zabbix通过JMX方式监控java中间件

应用服务器下的ServerRuntime这个Mbeans就是WEBLOGIC这个应用服务器的实时状态息。

5.2. 使用cmdline-jmxclient-0.10.3.jar工具查看

cmdline-jmxclient-0.10.3.jar是一个非常方便的查看程序,它的下载地址为:http://crawler.archive.org/cmdline-jmxclient/

使用方法:

Usage: java -jar cmdline-jmxclient.jar USER:PASS HOST:PORT [BEAN] [COMMAND]

如查看服务器所有Mbeans的信息:

java -jar cmdline-jmxclient-0.10.3.jar – 127.0.0.1:12345

这个命令会输出所有的Mbeans,它能方便我们查找需要的Mbeans,如我们相查找和JDBC相关的Mbens,可以使用命令:

java -jar cmdline-jmxclient-0.10.3.jar – 127.0.0.1:12345 | grep JDBC

如查看JDBCConnectionPoolRuntime的信息:

java  -jar  cmdline-jmxclient-0.10.3.jar  – 127.0.0.1:12345  com.bea:Name=fftdb,

ServerRuntime=shfft,Type=JDBCConnectionPoolRuntime

java  -jar  cmdline-jmxclient-0.10.3.jar  – 127.0.0.1:12345  com.bea:Name=fftdb,

ServerRuntime=shfft,Type=JDBCConnectionPoolRuntime  ActiveConnectionsCurrentCount

其中com.bea:Name=fftdb,ServerRuntime=shfft,Type=JDBCConnectionPoolRuntime是Mbeans名,ActiveConnectionsCurrentCount为这个Mbeans下的一个属性。

6.Weblogic的常用性能指标

JMSRuntime

JMSServersCurrentCount 返回当前JMS服务的连接数

ConnectionsCurrentCount 返回本JMS服务器上当前的连接数

JMSServersHighCount 返回自服务器启动后JMS服务的最大连接数

ConnectionsHighCount 返回本JMS服务器自上次重置后的最大连接数

JVMRuntime

HeapSizeCurrent 返回当前JVM堆中内存数,单位时字节

HeapFreeCurrent 返回当前JVM堆中空闲内存数,单位时字节

ExecuteQueueRuntime

ExecuteThreadCurrentIdleCount 返回队列中当前空闲线程数

PendingRequestOldestTime 返回队列中最长的等待时间

PendingRequestCurrentCount 返回队列中等待的请求数

Queue Length 队列长度

JDBCConnectionPoolRuntime

WaitingForConnectionHighCount    返回本

JDBCConnectionPoolRuntimeMBean 上最大等待连接数

WaitingForConnectionCurrentCount 返回当前等待连接的总数

MaxCapacity 返回JDBC池的最大能力

WaitSecondsHighCount 返回等待连接中的最长时间等待者的秒数

ActiveConnectionsCurrentCount 返回当前活动连接总数

ActiveConnectionsHighCount 返回本

JDBCConnectionPoolRuntimeMBean 上最大活动连接数

要想了解更多Weblogic的各种运行时Mbeans信息,请参考官方文档:

http://docs.huihoo.com/oracle/middleware/fusion/11g/apirefs.1111/e13951/core/index.html

6.1. 添加Weblogic监控项到Zabbix

新增监控项,在key内填入:

jmx[“com.bea:Name={$JDBC_NAME},ServerRuntime={$JDBC_SERVER},Type=JDBCConnectionPoolRuntime”,ActiveConnectionsCurrentCount]

其中com.bea:Name={$JDBC_NAME},ServerRuntime={$JDBC_SERVER},Type=JDBCConnectionPoolRuntime为Mbeans,ActiveConnectionsCurrentCount为属性项。

Zabbix通过JMX方式监控java中间件

注意Type内应该选择JMX Agent

Zabbix通过JMX方式监控java中间件

最后看一张做出来的Weblogic JDBC连接池监控图:

Zabbix通过JMX方式监控java中间件

原文地址是zabbix开源社区

Zabbix通过JMX方式监控java中间件

关注公众号

加入社区(备注Zabbix)

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,113
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,586
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,432
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,203
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,838
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,922