在Java JDK环境下,没有运行任何容器,如tomcat,weblogic,等等,只有一个JVM运行,是一样可以监控堆和栈等内存参数的。


被监控的主机,需要运行JDK环境

[[email protected] lxs]# java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
[[email protected] lxs]#


由于我们这边启动java程序用的是一个脚本,脚本中包含了允许zabbix,或java自带的jconsole监控的参数。我有好几个java程序,每个程序启动关闭用的都是不同的脚本,如下:


zabbix 监控jvm

 /usr/jdk/jdk1.8.0_25/bin/java 
 -Dcom.sun.management.jmxremote 
 -Djava.rmi.server.hostname=192.168.1.234 
 -Dcom.sun.management.jmxremote.port=9999 
 -Dcom.sun.management.jmxremote.ssl=false 
 -Dcom.sun.management.jmxremote.authenticate=false 
 -Xmx2560M -Xms512M -XX:PermSize=64M -XX:MaxPermSize=512M -XX:+HeapDumpOnOutOfMemoryError com.haochedai.inter.app.InterfaceApplication 
 --server.port=$PORT ${SPRING_PROFILE_OPTS} >/root/j.log 2>&1 &



注意,我是加了这几行:

 -Dcom.sun.management.jmxremote 
 -Djava.rmi.server.hostname=192.168.1.234 
 -Dcom.sun.management.jmxremote.port=9999 
 -Dcom.sun.management.jmxremote.ssl=false 
 -Dcom.sun.management.jmxremote.authenticate=false


其中第二行

Djava.rmi.server.hostname=192.168.1.234

这个如果不加,用cmdclint 或者是jconsole远程连接,你是连不上的。

同时authenticate和ssl都被我关闭了--false,这样远程监控就不需要用户名和密码,也不需要ssl加密就可以直接监控了。


重启脚本

[[email protected] lxs]# sh plat-interface restart


重启后发现端口开了,9999

zabbix 监控jvm



zabbix 监控jvm





转载于:https://blog.51cto.com/duanyexuanmu/1758762

相关文章:

  • 2021-08-10
  • 2021-11-20
  • 2021-10-04
  • 2022-12-23
  • 2022-02-10
  • 2022-12-23
  • 2021-08-10
猜你喜欢
  • 2021-05-12
  • 2022-02-14
  • 2021-10-04
  • 2021-09-07
  • 2022-12-23
相关资源
相似解决方案