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方式安装命令如下:

1
# yum -y install zabbix-java-gateway


配置zabix_java_gateway.conf文件

1
2
3
4
5
[root@dnsserver 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文件

1
2
3
StartJavaPollers=5               
JavaGateway=127.0.0.1
JavaGatewayPort=10052


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

StartJavaPollers <= START_POLLERS

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


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

1
service  zabbix-java-gateway   restart



使用JMX监控Tomcat:


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


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

1
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实例:

1
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无法启动。报错信息如下:

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


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

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



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

wKioL1dgxtnDS9nlAANWwZCNKx0300.png

wKioL1dgx5WQ5TXiAAVsDtV66ZE828.png



查看是否获取到监控数据

wKiom1dgxw3i2f1sAAIL77wq-x8162.png



命令行获取JMX监控数据:

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

[root@dnsserver 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










本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1789425,如需转载请自行联系原作者
目录
相关文章
|
5月前
|
存储 SQL 监控
修改Zabbix源码实现监控数据双写,满足业务需求!
虽然对接Elasticsearch后有诸多好处,但是它不往数据库写历史数据了,同时还不再计算趋势数据了。有这么一个场景...
修改Zabbix源码实现监控数据双写,满足业务需求!
|
2月前
|
监控 安全 Linux
在Linux中,zabbix如何监控脑裂?
在Linux中,zabbix如何监控脑裂?
|
1月前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
32 2
zabbix agent集成percona监控MySQL的插件实战案例
|
2月前
|
SQL 监控 分布式数据库
【解锁数据库监控的神秘力量!】OceanBase社区版与Zabbix的完美邂逅 —— 揭秘分布式数据库监控的终极奥秘!
【8月更文挑战第7天】随着OceanBase社区版的普及,企业广泛采用这一高性能、高可用的分布式数据库。为保障系统稳定,使用成熟的Zabbix监控工具对其进行全方位监控至关重要。本文通过实例介绍如何在Zabbix中配置监控OceanBase的方法,包括创建监控模板、添加监控项(如TPS)、设置触发器及图形展示,并提供示例脚本帮助快速上手。通过这些步骤,可以有效监控OceanBase状态,确保业务连续性。
77 0
|
4月前
|
监控 数据库 Docker
Zabbix监控神通数据库教程
**摘要:** 本文介绍了如何使用Docker安装和配置神舟通用数据库,并利用Zabbix进行监控。首先,通过Docker安装数据库镜像,启动容器并映射端口。接着,使用默认凭证连接数据库并验证安装。然后,将数据库的Python模块和库文件复制到主机,并安装Python3.5及相应模块,创建外部检查脚本以实现Zabbix的监控功能。示例展示了查询数据库版本的监控指标配置。最后,提到了监控结果的界面展示,并邀请读者探索更多Zabbix监控技巧。
57 0
Zabbix监控神通数据库教程
|
3月前
|
监控 关系型数据库 应用服务中间件
Linux zabbix监控 软件的安装
Linux zabbix监控 软件的安装
|
5月前
|
监控 关系型数据库 MySQL
zabbix 监控mysql服务
zabbix 监控mysql服务
74 0
zabbix 监控mysql服务
|
5月前
|
数据采集 监控 数据库
请问OceanBase社区版能否通过zabbix监控,然后将报错信息展现到grafana?
【2月更文挑战第25天】请问OceanBase社区版能否通过zabbix监控,然后将报错信息展现到grafana?
60 2
|
5月前
|
监控 网络协议 Unix
centos7 zabbix安装客户端agent -配置监控远程主机 在需要监控的电脑上安装
centos7 zabbix安装客户端agent -配置监控远程主机 在需要监控的电脑上安装
163 0
|
5月前
|
监控 Cloud Native 关系型数据库
使用 Grafana 统一监控展示 - 对接 Zabbix
使用 Grafana 统一监控展示 - 对接 Zabbix

推荐镜像

更多
下一篇
无影云桌面