ククログ

株式会社クリアコード > ククログ > Passenger用Muninプラグイン

Passenger用Muninプラグイン

みなさんはPassengerの管理下にあるRails/Rackプロセスをどのように監視しているでしょうか。

Muninを使った方法もあり、Dan Manges's Blog - Rails Application Visualizationgist: 20319 - munin plugin for passenger- GitHub)で公開されていたりします。このプラグインはpassenger-statusの結果をグラフ化しています。passenger-statusの結果はこんな感じになります。

----------- General information -----------
max      = 6
count    = 3
active   = 0
inactive = 3
Waiting on global queue: 0

----------- Domains -----------
/home/rurema/rurema-search: 
  PID: 17128   Sessions: 0    Processed: 38      Uptime: 4m 54s
  PID: 30722   Sessions: 0    Processed: 543     Uptime: 1h 14m 32s

先述のプラグインではこのうち「General information」の情報だけをグラフ化しています。でも、「Domains」の情報もグラフ化したいですよね。「Processed」を見れば妙にたくさん処理しているプロセスを見つけることができるかもしれませんし、「Uptime」を見れば長生きしすぎているプロセスを見つけることができるかもしれません。

ということで、るりまサーチのリポジトリrackngaのリポジトリに「Domains」もグラフ化するMuninプラグインを入れておきました。

インストール方法

Debian GNU/Linux前提です。

まず、るりまサーチをcloneします。

% git clone git://github.com/kou/rurema-search.git

プラグインを/usr/share/munin/plugins/にコピーします。

% sudo cp rurema-search/munin/plugins/* /usr/share/munin/plugins/

プラグインをroot権限で動かすようにします。

/etc/munin/plugin-conf.d/passenger.conf:

[passenger_*]
  user root

プラグインをインストールします。autoconfに対応しているので、自動検出してくれます。

% sudo -H /usr/sbin/munin-node-configure --shell --remove-also | sudo sh

munin-nodeを再起動します。

% sudo /etc/init.d/munin-node restart

5分もすればグラフに反映されるでしょう。

まとめ

Passenger用のMuninプラグインを紹介しました。

PassengerとMuninを使っている場合は導入してみてはいかがでしょうか。