美文网首页
Zabbix监控SpringBoot内置的JVM

Zabbix监控SpringBoot内置的JVM

作者: 与君把盏 | 来源:发表于2023-04-20 15:46 被阅读0次

    前言:现在很多java包都是springboot内置的java启动的,并没有tomcat,然后很多jmx的监控文档都是基于tomcat写的,所以我来写一篇关于内置的jmx监控文档

    一、Zabbix服务端启动java-gateway服务

    由于我的系统是ubuntu,我这里用ubuntu作为案例进行介绍

    1.1 安装zabbix-java-gateway

    apt install zabbix-java-gateway
    

    1.2 修改配置文件

    START_POLLERS=5
    

    其他保持不变,上面的参数也可以不修改,都保持默认即可

    1.3 启动java-gateway

    service zabbix_java_gateway start
    

    1.4 zabbix-server启动gateway进程

    修改zabbix-server.conf配置文件

    JavaGateway=127.0.0.1
    StartJavaPollers=5    ## 这个配置要小于或者等于gateway启动参数,要不然获取不到监控值
    
    • 重启zabbix-server
    service zabbix-server restart
    

    二、客户端配置

    我们在客户端启动jar包的时候一般都是直接启动java -jar xxxx.jar这种形式,但是如果需要监控其jmx参数的话,那就需要将启动命令写在配置文件里面更加方便点

    java -jar \
    -Dcom.sun.management.jmxremote \
    -Dcom.sun.management.jmxremote.port=12345 \
    -Dcom.sun.management.jmxremote.ssl=false \
    -Dcom.sun.management.jmxremote.registry.ssl=false \
    -Djava.rmi.server.hostname=xx.xx.xx.xx \
    -Dcom.sun.management.jmxremote.rmi.port=12345 \
    -Dcom.sun.management.jmxremote.authenticate=false \
    xxxx.jar
    
    参数 用途
    -Dcom.sun.management.jmxremote 开启jmx远程访问 true / false
    -Dcom.sun.management.jmxremote.port JMX端口 12345
    -Dcom.sun.management.jmxremote.ssl 是否启用SSL true / false
    Dcom.sun.management.jmxremote.registry.ssl 是否启用SSL记录 true / false
    -Djava.rmi.server.hostname 本地绑定地址 127.0.0.1
    -Dcom.sun.management.jmxremote.rmi.port RMI端口 12345
    -Dcom.sun.management.jmxremote.authenticate 是否启用密码认证 true / false
    • 查看端口是否启动
    netstat -tunlp | grep 12345
    tcp6       0      0 :::12345                :::*                    LISTEN      12049/java
    

    三、添加监控

    • 添加JMX interfaces
    add_interface.png
    • 添加模板
      关联Template App Generic Java JMX模板

    四、获取数据

    4.1 通过windows jconsole获取

    image.png
    image.png
    image.png

    4.2 通过命令行获取JMX数据

    通过命令行获取JMX数据,命令如下:

    shell# wget http://crawler.archive.org/cmdline-jmxline-jmxclient/cmdline-jmxclient-0.10.3.jar
    shell# java -jar cmdline-jmxclient-0.10.3.jar - 10.10.10.10:12345 java.lang:type=Memory HeapMemoryUsage
    

    相关文章

      网友评论

          本文标题:Zabbix监控SpringBoot内置的JVM

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