Gungnir系列-Zabbix02-监控java添加步骤(centos7、zabbix4.4)

简单原理:

在部署zabbix-server后,如需要监控java程序,需要再部署Zabbix-JavaGateway服务,两个服务不必须部署在同一台主机上,在监控java程序时,Zabbix-Server通过Zabbix-JavaPollers(Zabbix-Server自带功能)进程去连接Zabbix-JavaGateway请求数据,java程序端要开启JMX远程查询功能,通过指定端口向Zabbix-JavaGateway提供数据

一、配置zabbix服务端

安装zabbix-java-gateway

#安装
yum -y install zabbix-java-gateway
#启动
systemctl start zabbix-java-gateway
#开机启动
systemctl enable zabbix-java-gateway

zabbix-server默认工作在10051端口
zabbix-agent默认工作在10050端口
zabbix-java-gateway默认工作在10052端口
检查端口监听:netstat -ntpl

配置zabbix_java_gateway

vi /etc/zabbix/zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0"  #java_gateway主机监控的ip地址范围
LISTEN_PORT=10052 #端口可以修改为其他,在server端需要相同的配置
START_POLLERS=5 #设置启动多个线程
TIMEOUT=3 #超时时间

配置zabbix_server
让zabbix-server服务能连接到zabbix-java-gateway服务

vi /etc/zabbix/zabbix_server.conf
JavaGateway=192.168.3.144 #java-gateway主机的ip地址
JavaGatewayPort=10052 #端口号和java-gateway端要对应
StartJavaPollers=5 #线程数不能少于java-gateway端配置,StartJavaPollers<=START_POLLERS

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

systemctl restart zabbix-server
systemctl restart zabbix-java-gateway

二、配置客户端(linux系统)

配置tomcat
添加tomact中JMX的参数
修改tomcat/bin/catalina.sh
在 Execute The Requested Command 下添加

CATALINA_OPTS="$CATALINA_OPTS 
-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false 
-Djava.rmi.server.hostname=192.168.3.144"

参数-Djava.rmi.server.hostname填tomcat本机的ip地址
参数-Dcom.sun.management.jmxremote.port=12345 不写不写!(别问为啥,不写就完了)

提醒:/etc/zabbix/zabbix_java_gateway.conf文件有末尾有如下代码:

# uncomment to enable remote monitoring of the standard JMX objects on the Zabbix Java Gateway itself
#JAVA_OPTIONS="$JAVA_OPTIONS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345
#       -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"

取消注释后,zabbix_java_gateway本身就开启了JMX功能,就可以被远程监控。

添加catalina-jmx-remote.jar
tomcat的jmx是需要两个端口,一个是注册端口,一个是服务端口,如果tomcat/bin/catalina.sh中加入了-Dcom.sun.management.jmxremote.port=12345 来指定了注册端口,tomcat在重启的时候会随机指定一个服务端口,注册端口没有变化,服务端口已经变了,再次通过注册端口连接已经连接不上之前的服务端口了,没有办法指定服务端连接,服务端口是随机的。
有一种方法是设置jmx固定的注册端口和服务端口,通过jar包实现

jar包下载地址,*号换成自己的tomcat版本,下载对应版本的jar包之后放到tomcat/lib下
http://archive.apache.org/dist/tomcat/tomcat-*/v*.*.*/bin/extras/catalina-jmx-remote.jar

编辑tomcat的conf目录下的server.xml文件

# vim server.xml
在<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />下面添加
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="12345"rmiServerPortPlatform="12346" />

确认关闭防火墙,重启tomcat
切换到tomcat主目录

sh ./bin/shutdown.sh
sh ./bin/startup.sh

重启tomcat后,查看端口监听情况:netstat -ntlp
测试
下载cmdline-jmxclient-0.10.3.jar到/usr/local/下,执行:

[root@zzxt bin]# java -jar /usr/local/cmdline-jmxclient-0.10.3.jar - 192.168.3.144:12345 java.lang:type=Memory HeapMemoryUsage
10/09/2020 16:00:01 +0800 org.archive.jmx.Client HeapMemoryUsage: 
committed: 23580672
init: 16777216
max: 249364480
used: 12097160

三、配置zabbix-web

打开界面,配置->主机->监控的主机
找到JMX接口,配置如下,然后点击添加按钮
在这里插入图片描述
别忘了一定要添加模板
在这里插入图片描述
找到主机,如果JMX显示颜色,则配置成功。
在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值