背景
jolokiaをjavaアプリケーションに直接組み込めないので、jetty+jolokiaのプロクシを立ち上げる。
REST APIにより、JMXポートから情報を引っ張ってこれるようになる。
リクエストのjsonにJMXポートを開いているホストのURIを埋め込む必要がある。
手順
openjdkをインストールして、jetty、jolokiaをdownload
yum install java-1.7.0-openjdk
cd /tmp
wget http://download.eclipse.org/jetty/9.2.6.v20141205/dist/jetty-distribution-9.2.6.v20141205.tar.gz
wget http://labs.consol.de/maven/repository/org/jolokia/jolokia-war/1.2.3/jolokia-war-1.2.3.war
tar xfz jetty-distribution-9.2.6.v20141205.tar.gz
cp jolokia-war-1.2.3.war jetty-distribution-9.2.6.v20141205/webapps/jolokia.war
cd jetty-distribution-9.2.6.v20141205
grep -i port start.ini
java -jar start.jar
テスト
curl http://<jetty hsotname>:8080/jolokia/ -X POST -d '{ "type" : "read","mbean" : "java.lang:type=Memory","attribute" : "HeapMemoryUsage", "target" : { "url" : "service:jmx:rmi:///jndi/rmi://<javaアプリ hostname>:<javaアプリ jmx port>/jmxrmi" }}'