GlassFishの監視JMXを取得してみた - その2

その1GlassFishのリソースをJRuby使ってJMX経由を取得するサンプルを書いたので、

それを元にmongodbに放り込むスクリプトを作ってみた。

https://github.com/koduki/glassfish_monitor

 

まだ、エラーハンドリングとか全然書いてないけど、とりあえずは動くものとしてはOKのはず。

ちなみにmongoidをスクリプトから使うサンプルは下記の通り。

require 'mongoid'
Mongoid.configure do |config|
  config.connect_to("test")
end

SystemEnviroment.new(mon.get_system_enviroments).save

どうもmongoid 3.0から仕様が変わったらしく、configの部分がネットの記事だと基本古くて動かなかったので、一応サンプルとして載っけとく。

あとは、これをcronで仕込むだけかなー。jrubyの起動に数秒かかるのが難点だけど、

そもそも1秒に1回とかデータ取り込むと量が膨大になるので、取り急ぎのサンプリング数は20秒に1回くらいを想定。この辺の数値は運用しながらいじってくのが一番かな?

 

ちなみにjrubyなので、他のruby環境が入ってる時はrvmを使うと便利。下記のようなコマンドで任意のバージョンで実行できるとかrvmは素敵ですね!

rvm jruby-head exec ruby run.rb

それではHappy Hacking!