美文网首页
centos7下安装zabbix监控tomcat

centos7下安装zabbix监控tomcat

作者: aqie | 来源:发表于2018-07-18 15:03 被阅读0次

    一. 在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

    在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的错误,具体解决方法查看上面的第七

    相关文章

      网友评论

          本文标题:centos7下安装zabbix监控tomcat

          本文链接:https://www.haomeiwen.com/subject/ajbopftx.html