CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=10.124.129.241
-Dcom.sun.management.jmxremote.port=8889
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false"
重启tomcat即可;
注:java程序都会提供一个JMX接口去进行采集相关的数据,其他开启方式请参考相关说明,我主要是已tomcat监控为主;
2. 编写自动发现端口脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
[root@localhost scripts]# cat /etc/zabbix/scripts/jmx_discovery.sh
#!/bin/bash
# function:monitor tcp connect status from zabbix
source/etc/bashrc>/dev/null2>&1
source/etc/profile>/dev/null2>&1
jmx_port_discovery(){
jmx_port=($(cat/etc/zabbix/scripts/java.txt|cut-d"|"-f2))
Tomcat_Name=($(cat/etc/zabbix/scripts/java.txt|cut-d"|"-f1))
printf'{\n'
printf'\t"data":[\n'
for((i=0;i<${#jmx_port[@]};++i))
{
num=$(echo$((${#jmx_port[@]}-1)))
if["$i"!=${num}];then
printf"\t\t{ \n"
printf"\t\t\t\"{#JMX_PORT}\":\"${jmx_port[$i]}\",\n"
printf"\t\t\t\"{#JAVA_NAME}\":\"${Tomcat_Name[$i]}\"},\n"
else
printf"\t\t{ \n"
printf"\t\t \n"
printf"\t\t\t\"{#JMX_PORT}\":\"${jmx_port[$i]}\",\n"
printf"\t\t\t\"{#JAVA_NAME}\":\"${Tomcat_Name[$i]}\"}]}\n"
fi
}
}
case"$1"in
jmx_port_discovery)
jmx_port_discovery
;;
*)
echo"Usage:$0 {jmx_port_discovery}"
;;
esac
|
编写/etc/zabbix/scripts/java.txt文件,内容如下:
|
[root@localhost scripts]# cat /etc/zabbix/scripts/java.txt
Tomcat_442|8880
Tomcat_8591|8881
|
注:其实这里有个弊端,不太智能,也就是需要把监控的jmx端口和相关服务名称写到这个文本里去,这里还需要网友提供一个更可靠的方法,还请大家不要栗色指教。
3. 编写jmx监控配置文件
|
[root@localhost~]# cat /etc/zabbix/zabbix_agentd.conf.d/discovery_java_status.conf
UserParameter=java.jmx.discovery,/etc/zabbix/scripts/jmx_discovery.sh jmx_port_discovery
UserParameter=java.HeapMemoryUsage.status[*],/usr/local/jdk1.7.0_71/bin/java-jar/etc/zabbix/scripts/cmdline-jmxclient-0.10.3.jar-127.0.0.1:$1java.lang:type=Memory HeapMemoryUsage2>&1|grep$2|cut-d" "-f2
UserParameter=java.NonHeapMemoryUsage.status[*],/usr/local/jdk1.7.0_71/bin/java-jar/etc/zabbix/scripts/cmdline-jmxclient-0.10.3.jar-127.0.0.1:$1java.lang:type=Memory NonHeapMemoryUsage2>&1|grep$2|cut-d" "-f2
UserParameter=java.LoadClass.status[*],/usr/local/jdk1.7.0_71/bin/java-jar/etc/zabbix/scripts/cmdline-jmxclient-0.10.3.jar-127.0.0.1:$1java.lang:type=ClassLoading$22>&1|cut-d" "-f6
|
4. 进行测试
zabbix监控多JMX端口 - 01
其实,整体大致就是如此,key都能定义好了,至于模板我相信大家都能写了。(我也是今天才刚刚弄了下,很多也还没有完善)有关不同java的服务,最好是查看一下相关的文档,比如tomcat官方文档。这里大家可以参考一下tomcat自带的模板,下面给大家展示一下效果图:
zabbix监控多JMX端口 - 02
zabbix监控多JMX端口 - 03
谢谢"北京 - 小易"的分享。
分享到:
相关推荐
3. **配置Zabbix代理**:在Zabbix服务器上,你需要为Tomcat服务器设置一个代理,包括主机名、IP地址、端口等信息,确保Zabbix能够连接到Tomcat的JMX端口。 4. **创建Zabbix模板**:Zabbix提供了预定义的Tomcat模板...
### Zabbix通过JMX方式监控Java中间件的关键知识点 #### 一、Zabbix与JMX监控简介 **Zabbix**是一款开源的企业级监控工具,它能够监控网络中的各种硬件资源和软件服务的状态,并且提供了丰富的功能,如自动发现、...
2. **配置Zabbix代理**:在Zabbix服务器上安装并配置Zabbix代理,指定监控目标(Java应用服务器)的JMX端口。 3. **创建监控模板**:在Zabbix中创建针对Java应用的监控模板,定义需要监控的MBean和指标。 4. **...
Zabbix 通过 JMX 监控 Java 中间件的工作原理是:Zabbix 服务器想知道一台主机上的特定的 JMX 值时,它向 Zabbix-Java-gateway 询问,而 Zabbix-Java-gateway 使用“JMX management API”去查询特定的应用程序,前提...
本文将介绍如何使用 Zabbix 通过 JMX 监控 Tomcat,帮助初学的朋友快速上手。 监控 Tomcat 的必要性 Tomcat 作为一个流行的 Java Web 服务器,广泛应用于各种 Web 应用程序中。然而,随着应用程序的复杂度增加,...
### Zabbix监控系统配置详解 #### 一、Zabbix概述 **Zabbix**是一款功能强大的企业级开源监控工具,能够实现对服务器、网络设备、应用程序等的全方位监控。该工具结合了Cacti和Nagios等其他工具的优点,不仅支持...
1. **连接**:使用JMX客户端连接到Zabbix监控的目标Java应用,通常需要指定应用的主机地址、端口以及认证信息(如果应用的MBean服务器需要)。 2. **查询**:通过指定MBean对象名,查询特定的监控项,比如内存使用...
### Zabbix监控系统的安装与配置 #### 一、Zabbix简介 Zabbix是一款企业级的开源监控工具,能够实现对网络设备、服务器等资源的状态监控,支持多种监控方式,包括但不限于简单网络管理协议(SNMP)、IPMI、JMX等。...
- Zabbix监控框架:Zabbix提供了一个灵活的架构,支持多种监控方式,包括SNMP、IPMI、JMX、Agent等,对于Oracle监控,主要通过Agent或JDBC接口进行。 - Oracle11g:Oracle数据库的第11个主要版本,提供了一套全面...
【标题】:“Zabbix监控多个Tomcat资源” 在IT运维管理中,监控系统的重要性不言而喻,尤其对于运行着多个Tomcat应用服务器的环境。Zabbix是一款强大的开源监控解决方案,能够有效地监控网络服务、硬件状态以及应用...
总的来说,Zabbix监控Tomcat是一个综合性的过程,涉及到Tomcat的JMX配置、Zabbix代理或Server的设置、监控项和触发器的创建,以及数据的可视化和持续优化。正确实施这项工作,能够有效地提升系统的可维护性和稳定性...
标题中的"zabbix监控tomcat资源"意味着我们将关注Zabbix如何收集和展示Tomcat服务器的关键性能指标,如CPU使用率、内存占用、线程状态、请求处理时间和更多其他信息。这对于识别潜在性能瓶颈、预防故障以及优化...
本文将深入探讨如何使用Zabbix监控Tomcat应用服务器,特别关注"cmdline-jmxclient-0.10.3.jar"工具以及相关的自定义模板。 首先,`cmdline-jmxclient-0.10.3.jar`是一个Java管理扩展(JMX)客户端,它允许通过...
总结以上内容,Zabbix监控多个JVM进程的过程可以分为以下几个步骤: 1. 准备环境,包括安装JDK、配置环境变量、上传并测试jvm.py脚本。 2. 安装和配置Zabbix Agent,确保它能正确收集和传输监控数据。 3. 在Zabbix ...
通过解析`server.xml`,你可以获取每个实例的端口号、JMX端口等关键数据。 2. **Zabbix Agent配置**:在每台运行Tomcat的服务器上,需要安装和配置Zabbix Agent,确保它能够执行你的脚本并返回结果。在`/etc/zabbix...
- 连接:通过`java -jar cmdline-jmxclient-0.10.3.jar [hostname]:[port]`命令连接到运行Tomcat的服务器,其中`[hostname]`是服务器IP,`[port]`是Tomcat的JMX端口,默认为8005。 - 查询:使用`-m`参数查询MBean...
在运维过程中,JMX(Java Management Extensions)监控是一个非常重要的工具,可以帮助我们实时查看和管理应用程序的状态,以及诊断和解决问题。本文将详细介绍如何使用 JMX 监控 TongWeb7。 首先,要开启 JMX 监控...
5. **集成Zabbix**:在Zabbix服务器上,创建一个新的JMX监控项,配置好主机地址、端口、认证信息,然后通过JMX接口获取到的数据映射到Zabbix的监控模板中。这样,你就可以在Zabbix的用户界面看到Tomcat的各项监控...
本教程将基于“zabbix监控工具应用实战安装与基础操作”进行深入讲解,旨在帮助新手快速入门。 首先,我们要了解Zabbix的基本架构。Zabbix由三个主要组件构成:Zabbix Server、Zabbix Proxy和Zabbix Agent。Server...
5. 可以考虑将JMX数据集成到第三方监控系统(如Prometheus、Grafana或Zabbix)中,实现可视化展示和告警。 在实际操作中,`hbase-monitor`这个文件可能包含了监控配置、示例脚本或工具,用于帮助你更方便地实施上述...