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
緣由:
除了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程序