ChefでJava解析ツールENdoSnipeをお手軽にインストールする

結構前に、Java解析ツールバトルというセミナー?に行ってきました。 深いところまで話しを聞けて楽しかったです。

そこで紹介されたENdoSnipeというツールを使ってみようと思い、インストールしてみました。 が、噂通りちょっと面倒だったので、chefのレシピを作ってみました。
https://github.com/bati11/endosnipe-kitchen
ただ、バージョンも固定だし、tomcatやらpostgresやらの設定はデフォルトだし、マルチプラットフォームとか気にしていないし、なのであくまでお試し用ということで・・・。

これで楽々インストール!?

DataCollectorとDashboardのインストール

ENdoSnipeは、クライアント側で動くエージェントの役目をするJavelin、解析データを集めるDataCollector、データを可視化するDashBoard、の3つのアプリケーションから成るみたい。

今回、Chefでインストールできるようにしたのは、DataCollectorとDashboard。 vagrant上のCentOS6.3にインストールしました。 ENdoSnipeのバージョンは、5.0.4です。

vagrantで作ったvm(192.168.xx.xx)があって(別にvagrantじゃなくてもいいけど)、chef-solo、knife-soloがインストールされてるPCがあればすぐですね。

$ git clone https://github.com/bati11/endosnipe-kitchen.git
$ cd endosnipe-kitchen.git
$ mv nodes/collector.json nodes/192.168.xx.xx.json
$ knife solo prepare vagrant@192.168.xx.xx
$ knife solo cook vagrant@192.168.xx.xx

これで、DataCollectorとDashBoardのインストールは完了。 http://192.168.xx.xx/Dashboard にアクセスすると、ENdoSnipeの画面が見れるはず。

Javelinをインストール

Javelinは解析したいアプリケーションが動いてるサーバにインストール。 こっちは全然面倒ではなくて、下のサイトを参考にすればすぐできました。 http://gihyo.jp/admin/serial/01/halook/0008

おしまい

クライアントアプリケーション(とJavelin)を用意するのも、ChefでTomcatのサンプルアプリケーションとか入るようにしようかな。
うーん、書いてみて思ったけど、Chefが入ってない場合はかえって面倒くさい気がするなぁ・・・。
あ、ENdoSnipeの今後のロードマップには、DBを組み込みにするなど、導入が簡単になっていくそうです。期待ですね!

入門Chef Solo - Infrastructure as Code

入門Chef Solo - Infrastructure as Code