Zabbix4.0监控Tomcat和Java

我们两清 提交于 2019-12-02 20:11:40

配置zabbix服务端

安装zabbix-java-gateway

yum -y install zabbix-java-gateway

# 启动

systemctl start zabbix-java-gateway

# 开机启动

systemctl enable zabbix-java-gateway

 

zabbix-java-gateway默认工作在10052端口

zabbix-server默认工作在10051端口,zabbix-agent默认工作在10050端口

 

配置zabbix_java_gateway.conf和zabbix_server.conf

2个文件都在/etc/zabbix下

重点:Java-gateway配置文件的START_POLLERS参数 >= zabbix_server配置文件的StartJavaPollers参数,建议一样,都设为5。

配置zabbix_java_gateway.conf

第9行  LISTEN_IP="0.0.0.0"      # 本机ip地址,如果和server安装在相同的位置可以不修改

第17行  LISTEN_PORT=10052    # 端口可以修改为其他,在server段需要相同的配置

第35行  START_POLLERS=5   # 设置启动多个线程,这里和server段相同

第43行  TIMEOUT=3  # 超时时间

 

配置zabbix_server.conf:

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

282 ### Option: JavaGateway  # 找到这里配置以下三个参数
283 # IP address (or hostname) of Zabbix Java gateway.
284 # Only required if Java pollers are started.
285 #
286 # Mandatory: no
287 # Default:
288 JavaGateway=127.0.0.1     # 如果是本机安装直接使用127.0.0.1
289
290 ### Option: JavaGatewayPort
291 # Port that Zabbix Java gateway listens on.
292 #
293 # Mandatory: no
294 # Range: 1024-32767
295 # Default:
296 JavaGatewayPort=10052    # 端口号和zabbix_java_gateway.conf配置文件里的LISTEN_PORT对应
297
298 ### Option: StartJavaPollers
299 # Number of pre-forked instances of Java pollers.
300 #
301 # Mandatory: no
302 # Range: 0-1000
303 # Default:
304 StartJavaPollers=5    # 线程数和客户端配置对应 不能少于客户端数

 

StartJavaPollers<=START_POLLERS

 

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

systemctl restart zabbix-server

systemctl restart zabbix-java-gateway

 

配置Linux系统客户端

本例tomcat安装在Linux系统上,稍后再写windows

 

配置上tomcat

添加tomact中JMX的参数

打开tomcat/bin/catalina.sh文件,在#!/bin/sh下面添加如下

 

CATALINA_OPTS="$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=127.0.0.1"

 

注意添加的位置在#!/bin/sh下面。

注意-Djava.rmi.server.hostname=192.168.2.32要加了,hostname填本机的ip地址,除非是127.0.0.1

查看12345端口监听情况:netstat -antlp|grep 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/lib下执行:wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.38/bin/extras/catalina-jmx-remote.jar

要找到对应tomcat版本的catalina-jmx-remote.jar。访问Tomcat各个版本网站,从上面一直找下去。catalina-jmx-remote.jar文件在tomcat版本的/bin/extras/目录下,只要替换wget后面url即可。

 

重启tomcat

配置zabbix-web

打开界面,配置 >> 主机 >> 主机zabbix server(我的zabbix-java-gateway和zabbix-server安装在同一台服务器上)

找到JMX接口,配置如下,点击“添加”按钮

 

 

 点击“更新”按钮

 

 

反过来看开头的那幅图,Zabbix-server通过JavaPollers进程调用zabbix-java-gateway获得tomcat数据,而zabbix-java-gateway就是通过这里配置的tomcat地址和端口,连接到tomcat从而获取到数据。

找到主机,如果JMX显示颜色,则配置成功。

注意:必需添加添加的tomcat的模板,如zabbix自带的Template App Apache Tomcat JMX或自定义的模板,后面JMX才能变绿,否则永远不亮

或者查看/var/log/zabbix/zabbix-server.log日志,出现enabling JMX agent checks on host “127.0.0.1”: host became available则表示能连接上。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!