はじめに
Cassandra
の監視どうしましょ?という話から JMX で色々と情報を抜けるらしいですよと自分で振って自分で調べてみた
参考
どうするのか?
jolokia とは
- Jolokiaは
JMX
で抜ける情報をJSON
で返してくれるエージェント -javaagent
に指定してアプリケーションに簡単に組み込めるとのことJSON
で値が取れるということは色々と出来るってことですな
Jolokia のインストール
インストールと言っても難しいことはなく jar
ファイルをダウンロードしてくるだけなので、今回は Cassandra をインストールしたディレクトリ以下、/usr/local/cassandra/lib
以下に置く。
wget -q http://labs.consol.de/maven/repository/org/jolokia/jolokia-jvm/1.1.5/jolokia-jvm-1.1.5-agent.jar sudo cp jolokia-jvm-1.1.5-agent.jar /usr/local/cassandra/lib/
cassandra-env.sh への追記
/usr/local/cassandra/conf/cassandra-env.sh
の末尾に以下を追記する。
JVM_OPTS="$JVM_OPTS -javaagent:/usr/local/cassandra/lib/jolokia-jvm-1.1.5-agent.jar=port=8778,host=127.0.0.1"
cassandra の再起動
sudo /etc/init.d/cassandra start
試す
HeapMemoryUsage を取得
以下のようなクエリを投げる。
curl -s http://127.0.0.1:8778/jolokia/read/java.lang:type=Memory/HeapMemoryUsage/ | jq .
以下のようなレスポンスが返ってくる。
{ "value": { "used": 74277304, "init": 311427072, "committed": 303693824, "max": 304742400 }, "request": { "type": "read", "attribute": "HeapMemoryUsage", "mbean": "java.lang:type=Memory" }, "status": 200, "timestamp": 1393863552 }
今日はここまで
- おやすみなさい