centos7下安装zabbix监控tomcat

目录

一. 在tomcat的catalina.sh文件中,添加配置

二. 将对应tomcat版本的catalina-jmx-remote.jar放到tomcat下的lib文件夹下后

三. 在tomcat的server.xml文件中,添加配置后,重启tomcat

四.配置防火墙(firewalld),开放12345端口

五.安装zabbix-java-gateway后,并启动

六. 修改zabbix-server的配置文件zabbix_server.conf,并重启zabbix-server

七. zabbix web端配置

八.可能遇到的问题


一. 在tomcat的catalina.sh文件中,添加配置

CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote
  -Dcom.sun.management.jmxremote.ssl=false                #是否使用SSL。
  -Dcom.sun.management.jmxremote.authenticate=false       #是否开启认证。
  -Djava.rmi.server.hostname=192.168.58.130"              #Tomcat所在服务器IP。

不在catalina.sh中配置 -Dcom.sun.management.jmxremote.port=12345,因为如果配置这个参数,在tomcat重启后,除了12345端口被监听外,还会随机监听一个端口,就会造成防火墙(firewalld)无法准确的开放这个随机端口而使得jmx监控失效

二. 将对应tomcat版本的catalina-jmx-remote.jar放到tomcat下的lib文件夹下后

因为我的tomcat是8.5.31版本,所以catalina-jmx-remote.jar的下载地址:http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.31/bin/extras/,其他版本的tomcat请下载对应的catalina-jmx-remote.jar

三. 在tomcat的server.xml文件中,添加配置后,重启tomcat

<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="12345" rmiServerPortPlatform="12345" />

在server.xml的shutdown中配置jmx监听端口,就可以避免第一步中出现的随机端口的问题

四.配置防火墙(firewalld),开放12345端口

firewall-cmd --zone=public --add-port=12345/tcp --permanent

firewall-cmd --reload

五.安装zabbix-java-gateway后,并启动

我的zabbix是按照官网的提供的步骤通过rpm,yum install安装的server,具体可以查看https://www.zabbix.com/download

因为默认没有安装zabbix-java-gateway,所以需要额外安装

yum list zabbix*

yum install zabbix-java-gateway.x86_64

安装完成后,/etc/zabbix/zabbix_java_gateway.conf配置文件中的参数可以直接默认使用,然后启动zabbix-java-gateway

systemctl start zabbix-java-gateway

六. 修改zabbix-server的配置文件zabbix_server.conf,并重启zabbix-server

配置文件的路径是/etc/zabbix

JavaGateway=127.0.0.1               #默认为空,而且因为server和java-gateway在同一台,所以配置为127.0.0.1

JavaGatewayPort=10052            #默认已经为10052,所以不用配置

StartJavaPollers=5                     #默认为0,修改成5

七. zabbix web端配置

zabbix自带的tomcat监控模块的监控项的键值和实际的tomcat不匹配所以需要修改,否则会报became not supported错误

jmx["Catalina:type=GlobalRequestProcessor,name=http-8080",bytesReceived]修改为

jmx["Catalina:type=GlobalRequestProcessor,name=\"http-nio-8080\"",bytesReceived]

这个name可以查看tomcat的catalina.out日志文件中得到,8080、8443、8009其他监控项键值修改同理

jmx["Catalina:type=Manager,path=/,host=localhost",activeSessions]"修改为

jmx["Catalina:type=Manager,context=/jenkins,host=localhost",maxActive] 将path修改为context,监控的是webapps下的jenkins项目

   如果这些name值不知道,或者还需要监控其他的zabbix自带的tomcat监控模块默认没有的项,可以在windows下使用jdk自带的jconsole.exe来查看

在需要的监控的主机中配置jmx接口,关联tomcat监控模块

八.可能遇到的问题

  1. 由于防火墙的关系,所以需要开放端口,如果在tomcat的catalina.sh中配置了12345端口,启动tomcat后jmx会监听两个端口,一个是12345,另外一个是随机生成的,就会造成端口开放无法完全,具体解决方法查看上面的第一到第三步
  2. zabbix-server日志中报监控项    jmx["Catalina:type=GlobalRequestProcessor,name=http-8080",bytesReceived]" became not supported: Catalina:type=GlobalRequestProcessor,name=http-8080 一系列 became not supported的错误,具体解决方法查看上面的第七
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值