周一在腾讯云开了一台 8C 16G 的服务器,如下所示:

  1. 下载安装 MeterSphere 2.7.1,导入 license,编辑/opt/metersphere/.env 文件,并将如下属性改成 true。
    MS_UI_ENABLED=true

  2. 保存.env 文件改动,然后执行 msctl reload,重新加载服务,然后执行 msctl status 查看服务状态,可以看到 UI-Test 容器已经启动。

  3. 编辑/opt/metersphere/docker-compose-ui-test.yml 文件,添加如下配置,并保存:
    JAVA_RMI_HOST: IP
    ports:

  4. 执行 msctl reload,重新创建 UI-Test 容器。

  5. 在本地电脑 C:\Program Files\Java\jdk1.8.0_191\bin 目录下,找到 jvisualvm.exe,双击打开。

  6. 点击远程》添加远程主机,输入主机名或者主机 ip

  7. 右键主机名,并选择 “添加 JMX 连接”

  8. 输入 ip 和端口 1100,然后点击确定。

  9. 接下来就可以看到容器内 springboot 服务的 JVM 信息,如 CPU, 堆,MetaSpace, 线程等信息,也可以按照需要进行采样。

类似的方法流程,可以用来监控其它容器中的服务。
这里是因为 MeterSphere 的服务设置没有要求 authenticate,如果该选项为 yes,那就需要输入用户名和密码。
-Dpolyglot.js.nashorn-compat=true
-Dfile.encoding=utf-8
-Djava.awt.headless=true
--add-opens=java.base/jdk.internal.loader=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
-Dnashorn.args=--no-deprecation-warning
-Djava.rmi.server.hostname=124.221.121.xxx
-Dcom.sun.management.jmxremote.port=1100
-Dcom.sun.management.jmxremote.rmi.port=1100
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Xmx1638m
-XX:+ExitOnOutOfMemoryError


↙↙↙阅读原文可查看相关链接,并与作者交流