====== JMXのリモート接続を有効にする ======
参考:
* [[https://docs.oracle.com/javase/7/docs/technotes/guides/management/agent.html|Monitoring and Management Using JMX Technology]]
* [[https://docs.oracle.com/javase/jp/8/docs/technotes/guides/management/agent.html|JMXテクノロジを使用するモニタリングと管理]]
===== リモート接続の有効化 =====
JMXを有効にするには、最低限以下のオプションをJVMに渡す。
ポート番号は任意。
JVMを実行しているホストで''hostname -i''がリンクローカルアドレスを返さないようにhostsファイルやDNSの設定も必要。
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=4000
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
Java 7からは''-Dcom.sun.management.jmxremote''は不要。
===== ファイアウォールがある場合 =====
RMIのポート番号は動的に割り当てられるため、ファイアウォールがあると接続できない。
ファイアウォール越しに接続する場合は、RMIのポートを固定するための設定も必要。
ポート番号は任意で''com.sun.management.jmxremote.port''と同じでもOK。
-Dcom.sun.management.jmxremote.rmi.port=4000
===== 接続するには =====
''jconsole''等を使用する。
jconsole
CentOSで''jconsole''を使用するには''openjdk-devel''パッケージが必要。
{{tag>java}}