通过jmx监控docker中的java应用

添加jmx参数

ENV JAVA_OPTS="\
-Dcom.sun.management.jmxremote.rmi.port=9090 \
-Dcom.sun.management.jmxremote=true \
-Dcom.sun.management.jmxremote.port=9090 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.local.only=false \
-Djava.rmi.server.hostname=192.168.99.100"
EXPOSE 8080
EXPOSE 9090
ENTRYPOINT java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.jar

其中ava.rmi.server.hostname为docker的地址

jvisualvm

本地命令行敲入jvisualvm打开

  • 添加远程机器
    192.168.99.100

  • 添加jmx连接
    192.168.99.100:9090

不要求SSL连接

查看mbean

添加插件VisualVM-MBeans

doc

  • Monitoring Java Applications Running Inside Docker Containers

你可能感兴趣的:(java,docker)