簡體   English   中英

如何在 ubuntu 中將 JMC(Java Mission Control)連接到遠程 JVM?

[英]How to connect JMC (Java Mission Control) to remote JVM in ubuntu?

我能夠在同一系統上將 JMC 連接到 JVM。 但是,我想監視遠程服務器。 如何將本地 JMC 連接到遠程 JVM?

這些都在文檔中描述:
1.單擊幫助 - > Java任務控制幫助。
2.檢查JVM瀏覽器幫助。

有關更多詳細信息,請查看:
http://docs.oracle.com/javase/7/docs/technotes/guides/management/agent.html

首先,您需要在服務器上啟用外部JMX代理。 您可以通過將相關的com.sun.management.jmxremote添加到要連接的服務器JVM的命令行標志來執行此操作。 以下是可以使用的一組系統屬性的簡單示例。 它們會禁用安全性和身份驗證,因此不要在生產中使用它:

-Dcom.sun.management.jmxremote.port=7091
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false

接下來,在JMC中創建自定義連接。 您可以通過單擊JVM瀏覽器中的“創建自定義連接”按鈕來執行此操作: 創建自定義連接按鈕的位置

在即將出現的對話框中,您只需輸入主機和端口即可。

如果遇到麻煩,請先查看JMC(常見問題)附帶的文檔的最后一章: 在哪里可以找到幫助

如果這沒有幫助,JMC論壇有一個更廣泛的常見問題解答: https//community.oracle.com/message/11182417#11182417

我的環境是Linux中的jboss 7.1,試圖將JMC連接到我的jboss實例,最初我遇到連接被拒絕的問題 - 經過一天半的挖掘,遠程JMC現在為我工作,在standalone.conf中使用以下配置:

JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,org.jboss.logmanager"

JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS"


JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.jboss.logmanager.LogManager"

JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:/apps/jboss-as-7.1.1.Final/modules/org/jboss/logmanager/main/jboss-logmanager-1.2.2.GA.jar"
JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:/apps/jboss-as-7.1.1.Final/modules/org/jboss/logmanager/log4j/main/jboss-logmanager-log4j-1.0.0.GA.jar"
JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:/apps/jboss-as-7.1.1.Final/modules/org/apache/log4j/main/log4j-1.2.16.jar"

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote=true"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=7091"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.rmi.port=7091"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"

JAVA_OPTS="$JAVA_OPTS -XX:+UnlockCommercialFeatures"
JAVA_OPTS="$JAVA_OPTS -XX:+FlightRecorder"

使用以下標志運行目標 JVM 后,我能夠在 VirtualBox(主機:Win10,來賓:Ubuntu 20.04)中看到 JVM:

java -XX:+FlightRecorder \
-Dcom.sun.management.jmxremote.port=1101 \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
MyApp

在服務器{Ubuntu}中編輯/etc/hosts文件

127.0.1.1       server-name

用這一行替換上面的行

<system-ip>     server-name

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM