[英]Adding remote VMs in Java VisualVM
如果我打開jvisualvm
並轉到“ File >> Add Remote Host
jvisualvm
提示我創建一個新的遠程服務器條目。 我輸入主機名myapp01.example.org
,然后看到該服務器顯示在左側“ Applications
樹的“ Remote
部分下。 右鍵單擊該服務器,然后單擊Add JMX Connection
,我看到以下對話框:
假設我在myapp01.example.org:8443
運行了一個Java應用程序(將WAR部署到Tomcat)。 要通過SSH進入服務器,我使用用戶名skroob
和密碼12345
(嘿,這是我的行李箱!):
ssh skroob@myapp01.example.org
skroob@myapp01.example.org's password: 12345
當我如下填寫對話框時:
myapp01.example.org:8443
: myapp01.example.org:8443
skroob
12345
我收到以下錯誤:
無法使用service:jmxLrmi:/// jndi / rmi://myapp01.example.org:8443 / jmxrmi連接到skroob@myapp01.example.org:8443
我相信這可能是因為我沒有將JMX配置為在Tomcat本身上公開。 也許我只是輸入了錯誤的信息。 也許兩者都有。 無論哪種方式:
jstatd
正確配置呢? 這不是指定JMX連接的方式。 對於tomcat,最好的方法是創建bin / setenv.sh文件。這是最好的方法,因為已經設置了Apache腳本來查找它並在存在時調用它。
在這里可以設置任何特定於安裝的參數。
您將走得像這樣:
#
# PORT for debug
export JPDA_ADDRESS='8000'
echo start with 'jpda start' parameters to enable debugging. Tomcat will listen on $JPDA_ADDRESS
CATALINA_OPTS="\
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=1299 \
-Dcom.sun.management.jmxremote.authenticate=true \
-Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password \
-Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access \
-Dcom.sun.management.jmxremote.ssl=false
jmxremote.access:
monitorRole readonly
controlRole readwrite
jmxremote.password:此文件必須由啟動Tomcat或JMX的ID進行只讀處理! 即chmod 400 jmxremote.password
monitorRole readpass
controlRole changepass
基本上,您將設置2個JMX用戶ID。 可以訪問暴露的吸氣劑的一種。 另一個也可以使用setter和mbean的方法。 在實踐中,通常需要提供后者,因此您不僅可以外觀。
所以...在上面的對話框中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.