単純に特定の値を見たい、そんなときはコマンドラインでカジュアルにチェックできると嬉しいよね、ってことで、jmxtermです。
ちなみに、グラフとか見たい時はJConsoleもいいけど、VisualVMのほうが見た目がよいね。最近のJavaならJAVA_HOME/bin配下にjvisualvmってのがあるから、そいつです。
(閑話休題)
というわけで、チートシート風に。例では、hazelcastの値を取っていますが、別にhazelcastでなくてももちろんかまいません。
JMXを有効にするには、最低4つJVMの起動パラメータに追加してください。
(あたりまえだけど、外に晒される環境でああれば、適切なアクセス制限してください)
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=適当に -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
で、JVMを起動させたら、繋いでみる。
インタラクティブシェルとして操作もできるけど、パイプからコマンド投げたほうがなにかと便利。
javaが実行できる環境で叩いてください。これはMacで使用している例。
// ドメイン一覧 echo domains | java -jar ./jmxterm-1.0-alpha-4-uber.jar -l host:port // bean一覧 echo beans -d com.hazelcast | java -jar ./jmxterm-1.0-alpha-4-uber.jar -l host:port // info取得 echo 'info -b instance=sessions,name=hoge,type=IMap -d com.hazelcast' | java -jar ./jmxterm-1.0-alpha-4-uber.jar -l host:port // 対象の値全部 echo 'get -b instance=sessions,name=hoge,type=IMap -d com.hazelcast *' | java -jar ./jmxterm-1.0-alpha-4-uber.jar -l host:port // 特定の値 echo 'get -b instance=sessions,name=hoge,type=IMap -d com.hazelcast localHeapCost' | java -jar ./jmxterm-1.0-alpha-4-uber.jar -l host:port // keyは要らんからvalueだけ echo 'get -b instance=sessions,name=hoge,type=IMap -d com.hazelcast -s localHeapCost' | java -jar ./jmxterm-1.0-alpha-4-uber.jar -l host:portらくちんですなー
0 件のコメント:
コメントを投稿