1、下載VisualVM,然後找到bin目錄,直接運行 sudo ./visualvm,這時候我們可以看到本地的數據。現在我們來看看怎麼去連接服務器上的JMX。
2、配置遠程服務器的JMX,進入服務器tomcat下的bin目錄,在setenv.sh下加入以下的代碼:
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=127.0.0.1
-Dcom.sun.management.jmxremote.port=8181
-Dcom.sun.management.jmxremote.rmi.port=8181
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.password.file=/usr/local/tomcat/conf/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=/usr/local/tomcat/conf/jmxremote.access"
代碼詳解
-Dcom.sun.management.jmxremote #開啓jmx
-Djava.rmi.server.hostname=127.0.0.1 #設置hostname,如果我們是在本地虛擬機裏運行則此處設置爲虛擬機的IP地址即可
-Dcom.sun.management.jmxremote.port=8181 #設置監聽的端口
-Dcom.sun.management.jmxremote.password.file=/usr/local/tomcat/conf/jmxremote.password #設置訪問的賬號和密碼
文件內的格式如下:
user1 pwd456
admin1 pwd123
-Dcom.sun.management.jmxremote.access.file=/usr/local/tomcat/conf/jmxremote.access #設置訪問權限
文件內的格式如下:
user1
readonly
admin1
readwrite
還要設置jmxremote.password和jmxremote.access兩個文件的權限爲:
sudo chmod 600 jmx*
然後重啓tomcat,到此服務器配置完成。
3、設置本地的SSH-tunnel
ssh -N -v -L 8181:127.0.0.1:8181 -L 8181:127.0.0.1:8181 -p your-ssh-port [email protected] -i <your aws key.pem>
4、在VisualVM的Local菜單下添加JMX Connection
使用你aws的公網IP,端口8181,剛剛增加的賬號密碼,選擇不需要ssl