jmx client
zabbixのnative jmx監視が使えない時はzabbix agentのUser Parameters
使えばいいじゃないかという事でコマンドラインで確認できそうな物をいくつか探した。
jmxproxy ※ tomcatのみ
tomcatに入ってるやつ。
curl -s -u<jmxusername>:<jmxpassword> 'http://<tomcat_hostname>/manager/jmxproxy/?qry=java.lang:type=Threading'
まあでもmanagerってあんまり使わない。
何も考えずにそのままtomcatを動かしてしまうと何でも出来ちゃうmanagerが認証無しで使えてしまい、とってもセキュリティ的に脆弱にな状態になってしまうので、managerもろとも削除してしまう事が多いんじゃないかなと思う。
この場合は/manager/jmxproxyだけ残しておけばいいのかも。
Command-line JMX Client
あのinternet archivesがjar形式で提供している。0.10.4は404になってしまうので0.10.3を使ってみたが充分機能した。tomcatのmanagerを削除しているところとかhadoopではこれ使ってる。
http://crawler.archive.org/cmdline-jmxclient/
/<pathTo>/java -jar /<pathTo>/cmdline-jmxclient.jar <jmxusername>:<jmxpassword> <jvmhostname>:<jmxport> java.lang:type=Threading PeakThreadCount
ObjectNameが分からない時は引数なしで実行すると一覧が見れて便利。GUIが使えるならjconsoleでも良い。
/usr/local/java/jdk1.6.0_lastest/bin/java -jar cmdline-jmxclient-0.10.3.jar hage:fuga 192.168.0.1:18080