Solr 4用のMuninプラグインを書いた
Solr 3までは solrmulticore というプラグインを使っていたのですが、Solr 4.0以降動かなくなっていたので、Muninプラグインの書き方を調べて自分で書いてみました。
Rubyで書いたのですが、書き方自体は別エントリで書くことにして、このプラグインの使い方を書いておきます。
インストール
cd /usr/share/munin/plugins/
sudo wget https://raw.github.com/hiroki23/munin-solr4-multicore/master/solr4_multicore_
sudo chmod 755 solr4_multicore_
先頭のrubyパス (#!/usr/local/bin/ruby) は、環境に合わせて修正してください。
sudo vi solr4_multicore_
(Rubyのパスは、which ruby
で確認できますね。)
シンボリックリンクを作成します。
sudo ln -s /usr/share/munin/plugins/solr4_multicore_ /etc/munin/plugins/solr4_multicore_999thPcRequestTime
munin-nodeをrestartします。
sudo /etc/init.d/munin-node restart
この例では、99.9%番目のリクエスト時間のグラフが生成されます。
取得できる値
同じようにシンボリックリンクを作ることで、以下のような値が取れます。
- avgRequestsPerSecond
- 5minRateReqsPerSecond
- 15minRateReqsPerSecond
- avgTimePerRequest
- medianRequestTime
- 75thPcRequestTime
- 95thPcRequestTime
- 99thPcRequestTime
- 999thPcRequestTime
- errors
- timeouts
など。
sudo ln -s /usr/share/munin/plugins/solr4_multicore_ /etc/munin/plugins/solr4_multicore_{取りたい値}
Solr4.1までは、req/sec、time/reqは、avgRequestsPerSecondやavgTimePerRequestしか取れなかったのですが、Solr4.2以降は5分ごと、15分ごとのreq/sec、平均time/req、75%、95%、99%、99.9%番目のtime/reqが取得できるようになって、ますます便利になりました。
同様にシンボリックリンクを作成することで、以下のキャッシュのキャッシュヒット率も取ることができます。
- queryResultCache
- documentCache
- fieldValueCache
- filterCache
画面キャプチャ
設定がうまくいけば、以下のようなグラフが生成されます。
5minRateReqsPerSecond
99thPcRequestTime
documentCache