Zabbix通过JMX监控Tomcat

x33g5p2x  于10个月前 转载在 其他  
字(2.6k)|赞(0)|评价(0)|浏览(66)

根据官网搭建zabbix

在这里插入图片描述

    在CentOS7上搭建好Zabbix 5.0.14

在这里插入图片描述

1. 安装JAVA网关

在主机上安装java网关,可以与zabbix server在同一主机。

# yum install zabbix-java-gateway
...
已安装:
  zabbix-java-gateway.x86_64 0:5.0.14-1.el7                                                                                                                             

完毕!
2. 配置并运行 JAVA 网关

因为是yum安装,所以修改 /etc/zabbix/zabbix_java_gateway.conf 配置文件:

LISTEN_IP="0.0.0.0"   #取消注释,监听所有主机
LISTEN_PORT=10052     #监听端口为10052

# 默认情况下,server不会启动任何与JMX监控相关的进程。如果想用到它,则必须设置Java pollers的数量
START_POLLERS=5

# 可以取消注释,以启用对Zabbix Java网关自身的JMX监视
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
        -Dcom.sun.management.jmxremote.registry.ssl=false"

配置完后,一定不要忘记启动服务。

# systemctl start zabbix-java-gateway.service
3. 配置ZABBIX SERVER使用JAVA网关

修改 zabbix_server.conf 文件,启用java网关:

# 如果zabbix-server和zabbix gateway在同一台主机上,IP为127.0.0.1
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5

配置完server或proxy后,一定不要忘记重启server或proxy。

4. JMX 监控 ZABBIX SERVER

从zabbix 2.0开始,JMX监视器以Zabbix守护进程的形式运行,称为“Zabbix Java gateway”。
    Zabbix server查询Zabbix Java gateway,Zabbix Java gateway使用 JMX management API 来远程查询相关应用。
    在示例中,因为zabbix server与zabbix gateway在同一台主机上,修改现有主机即可通过JMX监控zabbix server。
    新增JMX端口

在这里插入图片描述

    关联模板。测试环境,关联Template App Generic Java JMX模板即可。

在这里插入图片描述

    稍等片刻,显示JMX监控正常。

在这里插入图片描述

    可以正常查询监控指标的最新数据

在这里插入图片描述

5. JMX 远程监控 TOMCAT
5.1 为TOMCAT启用远程JMX监控

修改 catalina.sh

#   CATALINA_OPTS   (Optional) Java runtime options used when the "start",
#                   or "run" command is executed.
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote              # 启用远程监控JMX
-Djava.rmi.server.hostname=192.168.198.144  # tomcat主机自己的IP地址,不要写zabbix服务器的地址
-Dcom.sun.management.jmxremote.port=9999    # 默认启动的JMX端口号,要和zabbix添加主机时候的端口一致即可
-Dcom.sun.management.jmxremote.ssl=false    # 不使用ssl认证
-Dcom.sun.management.jmxremote.authenticate=false"
#   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
#                   the JVM should use (java.io.tmpdir).  Defaults to
#                   $CATALINA_BASE/temp.

注意:-Djava.rmi.server.hostname要填写tomcat主机自己的IP地址,不要写zabbix服务器的地址
    启动tomcat,可以观察到9999端口已开启

# netstat -tunlp|grep java
tcp6       0      0 :::33705                :::*                    LISTEN      28687/java          
tcp6       0      0 :::9999                 :::*                    LISTEN      28687/java          
tcp6       0      0 :::8080                 :::*                    LISTEN      28687/java          
tcp6       0      0 :::34928                :::*                    LISTEN      28687/java
5.2 在Zabbix web管理页面上配置主机

在zabbix server创建主机,并链接模板

在这里插入图片描述

在这里插入图片描述

    稍等片刻,监控显示正常,查询最新数据

在这里插入图片描述

在这里插入图片描述

参考文档

[1]一叶知秋~~. Zabbix之二----Zabbix监控Tomcat服务[EB/OL]. 2020-02-28[2021-08-25]. https://www.cnblogs.com/struggle-1216/p/12307115.html.
[2]oracle.com. Monitoring and Management Using JMX[EB/OL]. [2021-08-25]. https://docs.oracle.com/javase/1.5.0/docs/guide/management/agent.html.
[3]Zabbix SIA. 14 JMX监控[EB/OL]. [2021-08-25]. https://www.zabbix.com/documentation/5.0/zh/manual/config/items/itemtypes/jmx_monitoring.
[4]Zabbix LLC. Zabbix + JMX[EB/OL]. [2021-08-25]. https://www.zabbix.com/cn/integrations/jmx.

相关文章