Java_jvisualvm使用JMX鏈接遠程機器(實踐)


1、啓動普通的jar程序
一、執行foo.jar啓動命令
java -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote. ssl=false -Dcom.sun.management.jmxremote. authenticate=false -jar foo.jar

二、12345爲須要監控的端口,遠程機器須要開啓

三、foo.jar爲程序名稱

四、本機jvisualvm添加監控
 
 
五、異常狀況: VisualVM 沒法使用 service:jmx:rmi:///jndi/rmi:///jmxrmi 鏈接到
關閉遠程機器的防火牆便可:service iptables stop
不關閉防火牆的解決方案: http://qian0021514578.iteye.com/blog/2189041
緣由:
除了JMX server指定的監聽端口號外,JMXserver還會監聽一到兩個隨機端口號,
能夠經過命grep <pid> 來查看當前java進程須要監聽的隨機端口號

六、遠程鏈接啓動 authenticate ssl參數
authenticate設置爲例
a)  jmx鏈接使用安全憑證,這裏的憑證不是linux的登陸帳號密碼,須要單獨設置

b)  jar程序啓動命令
java -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote. authenticate=true -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote. access.file=/usr/local/jmxremote.access -Dcom.sun.management.jmxremote. password.file=/usr/local/jmxremote.password -jar  foo .jar

c)  jmxremote.access內容
admin readwrite

d)  jmxremote.password 內容
admin 123456

使用 service:jmx:rmi:///jndi/rmi:///jmxrmi 鏈接到XX.xx.xx.x

e) 兩個文件受權(必須按下面方式受權,chmod777都不行)
chmod 600 jmxremote.access
chmod 600 jmxremote.password
chown root:root jmxremote.access
chown root:root jmxremote.password

f) jvisual vm使用

   
   
   
   
 

2、監控tomcat程序



相關文章
相關標籤/搜索