1、我们需要这4个文件:
下载链接:https://share.weiyun.com/5PobRgc
cmdline-jmxclient-0.10.3.jar:用来读取jmx信息
discovery_java_status.conf:客户端配置文件
java.txt:填写tomcat的相关端口
jmx_discovery.sh:自动发现的脚本
2、zabbix客户端配置Incloude路径
vi /usr/local/zabbix/etc/zabbix_agentd.conf
234 ### Option: Include
235 # You may include individual files or all files in a directory in the configuration file.
236 # Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time.
237 #
238 # Mandatory: no
239 # Default:
240 # Include=
241
242 # Include=/usr/local/etc/zabbix_agentd.userparams.conf
243 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
244
3、配置tomcat:
tomcat版本为7.0.85
在相应的tomcat实例中 启动参数下,添加这个:
export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10052 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=127.0.0.1"
10052是jmx远程监控的端口
配置完这个 记住重启下tomcat实例
4、将java.txt 、 jmx_discovery.sh放在这个目录下
[root@qhkjt-web scripts]# pwd
/usr/local/zabbix/scripts
[root@qhkjt-web scripts]# ll
总用量 8
-rwxr-xr-x 1 root root 42 8月 22 2018 java.txt
-rwxr-xr-x 1 root root 1391 8月 23 2018 jmx_discovery.sh
[root@qhkjt-web scripts]#
5、java.txt内容如下:
qhkjt-web|10052|9090
qhkjt-pdf|10053|9091
- 第一列:自定义的名称
- 第二列:jmx远程监控的端口
- 第二列:tomcat实例端口
6、jmx_discovery.sh内容如下,其作用是为服务器传递json格式:
#!/bin/bash
#function:monitor tcp connect status from zabbix
source /etc/bashrc >/dev/null 2>&1
source /etc/profile >/dev/null 2>&1
#定义发现函数,从java.txt读取文本
jmx_port_discovery () {
catalina_port=($(cat /usr/local/zabbix/scripts/java.txt|cut -d "|" -f3))
jmx_port=($(cat /usr/local/zabbix/scripts/java.txt|cut -d "|" -f2))
Tomcat_Name=($(cat /usr/local/zabbix/scripts/java.txt|cut -d "|" -f1))
length=$
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论.