性能监控之JMX监控docker中的java应用

本文详细介绍了在Docker容器环境下配置JMX的具体步骤及注意事项,解释了JMX端口映射的重要性,并给出了实际配置示例。

今天在配置docker和JMX监控的时候,看到有一个细节和非容器环境中的JMX配置不太一样。所以在这里写一下,以备其他人查阅。

一般情况下,我们配置JMX只要写上下面这些参数就可以了。

以下是无密码监控时的JMX配置参数(有密码监控的配置和常规监控无异)。

 
  1. -Dcom.sun.management.jmxremote

  2. -Dcom.sun.management.jmxremote.port=9998

  3. -Djava.rmi.server.hostname=<serverip>

  4. -Dcom.sun.management.jmxremote.ssl=false

  5. -Dcom.sun.management.jmxremote.authenticate=false

但是在docker容器中这样配置的时候,会出现这个错误。 

图片

这里就要说明一下逻辑了。为什么会这样呢? 先看docker环境的网络结构。

容器使用默认的网络模型,就是bridge模式。在这种模式下是docker run时做的DNAT规则,实现数据转发的能力。所以我们看到的网络信息是这样的:

docker中的网卡信息:

 
  1. [root@f627e4cb0dbc /]# ifconfig

  2. eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

  3.        inet 172.18.0.3  netmask 255.255.0.0  broadcast 0.0.0.0

  4.        inet6 fe80::42:acff:fe12:3  prefixlen 64  scopeid 0x20<link>

  5.        ether 02:42:ac:12:00:03  txqueuelen 0  (Ethernet)

  6.        RX packets 366  bytes 350743 (342.5 KiB)

  7.        RX errors 0  dropped 0  overruns 0  frame 0

  8.        TX packets 358  bytes 32370 (31.6 KiB)

  9.        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

docker中的路由信息:

 
  1. [root@a2a7679f8642 /]# netstat -r

  2. Kernel IP routing table

  3. Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface

  4. default         gateway         0.0.0.0         UG        0 0          0 eth0

  5. 172.18.0.0      0.0.0.0         255.255.0.0     U         0 0          0 eth0

  6. [root@a2a7679f8642 /]#

宿主机上的对应网卡信息:

 
  1. docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

  2.        inet 172.18.0.1  netmask 255.255.0.0  broadcast 0.0.0.0

  3.        ether 02:42:44:5a:12:8f  txqueuelen 0  (Ethernet)

  4.        RX packets 6691477  bytes 4981306199 (4.6 GiB)

  5.        RX errors 0  dropped 0  overruns 0  frame 0

  6.        TX packets 6751310  bytes 3508684363 (3.2 GiB)

  7.        TX errors 0  dropp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值