もっとGroongaを知ってもらおう!ということで週刊Groongaをはじめました。毎週木曜にGroongaやMroonga、Rroongaのトピックを投稿予定です。
今年も11/29に全文検索エンジンGroongaを囲む夕べ4を開催しました。発表資料へのリンクもまとめています。隔週連載Groongaも参考になりますよ。
イベントレポートもそろそろ公開されるはずです。楽しみですね。
はじめに
オープンソースのカラムストア機能付き全文検索エンジンGroongaを公開しています。最新のバージョンは2013年11月29日にリリースした3.1.0です。
今回は、全文検索エンジンGroongaでMuninを使って状態を確認する方法を紹介します。
GroongaのMuninプラグイン
全文検索エンジンであるGroongaでは、Muninプラグインのパッケージがあります。
たとえば、Debian系の場合次のようにしてパッケージをインストールすることができます。
sudo apt-get install groonga-munin-plugins
Red Hat系では次のようにしてパッケージをインストールすることができます。
sudo apt-get install groonga-munin-plugins
このパッケージにはいくつかプラグインが含まれています。
プラグイン | 説明 |
---|---|
groonga_cpu_load | CPU使用率情報 |
groonga_cpu_time | 一日におけるCPU負荷情報 |
groonga_disk | テーブルのディスク使用比率情報 |
groonga_memory | メモリ使用量情報 |
groonga_n_records | レコード数情報 |
groonga_query_performance | クエリ実行時間の平均、中央値情報 |
groonga_status | statusコマンド情報 |
groonga_throughput | 実行できたクエリ数情報 |
Muninプラグインのセットアップ
Muninプラグインのパッケージには不具合があってちょっと修正する必要があります。
この不具合は今月リリースする予定の3.1.1で修正の見込となっています。
では、Debian系の場合を例に具体的な修正箇所を紹介します。
/etc/munin/plugin-conf.d/groongaを変更する
修正後の/etc/munin/plugin-conf.d/groongaの内容は次の通りです。
[groonga_*]
user groonga
group groonga
env.PATH /usr/bin:/bin:/usr/local/bin
env.pid_file /var/run/groonga/groonga-gqtp.pid
env.path /var/lib/groonga/db/db
env.host 127.0.0.1
env.port 10043
env.log_path /var/log/groonga/query-gqtp.log
MuninプラグインはGQTPプロトコルを想定しています。GQTPのポートは10043に変更されたのと、pidやログファイルのパスの修正が必要です。
項目 | 修正内容 |
---|---|
env.pid_file | /var/run/groonga/groonga-gqtp.pidへ修正する |
env.port | 10041から10043へ修正する |
env.log_path | /var/log/groonga/query-gqtp.logへ修正する |
プラグインへのシンボリックリンクを張る
パッケージをインストールしただけでは、Muninプラグインとしては認識されません。
そのため、次のようにしてプラグインとしてまず認識させる必要があります。
Groongaのプラグインは/usr/share/groonga/munin/plugins以下にインストールされますが、プラグインとして認識されるかどうかは/usr/share/munin/plugins/にあるかどうかで判断されるためです。
sudo ln -sf /usr/share/groonga/munin/pluings/groonga_cpu_load /usr/share/munin/plugins/groonga_cpu_load
sudo ln -sf /usr/share/groonga/munin/pluings/groonga_cpu_time /usr/share/munin/plugins/groonga_cpu_time
sudo ln -sf /usr/share/groonga/munin/pluings/groonga_disk /usr/share/munin/plugins/groonga_disk
sudo ln -sf /usr/share/groonga/munin/pluings/groonga_memory /usr/share/munin/plugins/groonga_memory
sudo ln -sf /usr/share/groonga/munin/pluings/groonga_n_records /usr/share/munin/plugins/groonga_n_records
sudo ln -sf /usr/share/groonga/munin/pluings/groonga_query_performance /usr/share/munin/plugins/groonga_query_performance
sudo ln -sf /usr/share/groonga/munin/pluings/groonga_status /usr/share/munin/plugins/groonga_status
sudo ln -sf /usr/share/groonga/munin/pluings/groonga_throughput /usr/share/munin/plugins/groonga_throughput
プラグインとして認識されたかどうかは、次のようにしてmunin-node-configureを実行すると確認できます。
% sudo munin-node-configure |grep groonga
groonga_cpu_load | no |
groonga_cpu_time | no |
groonga_disk | no |
groonga_memory | no |
groonga_n_records | no |
groonga_query_performance | no |
groonga_status | no |
groonga_throughput | no |
プラグインを有効にする
プラグインとして認識されるようになりましたが、まだ有効にはなっていません。
そこで、次のようにしてプラグインを有効化します。
% sudo -H munin-node-configure --shell --remove-also | sudo -H sh
有効化できたかは、再度munin-node-configureを使って確認できます。
% sudo munin-node-configure |grep groonga
groonga_cpu_load | yes |
groonga_cpu_time | yes |
groonga_disk | yes |
groonga_memory | yes |
groonga_n_records | yes |
groonga_query_performance | yes |
groonga_status | yes |
groonga_throughput | yes |
最後にmunin-nodeを再起動しておきます。
% sudo service munin-node restart
munin-node stop/waiting
munin-node start/running, process 21324
結果のグラフを確認しよう
Muninが生成するレポートは/var/cache/munin/www以下に生成されます。
例えば、ディスク使用量についてはこんな感じです。有効化してすぐなので、データが蓄積されていませんが、雰囲気はつかめるでしょう。
まとめ
今回は、Groongaの状態をMuninを使って確認する方法を紹介しました。
Groongaに興味を持ったなら、まずはインストールして試してみてください。
Groongaの基本的な動作を知るためのチュートリアルもあります。インストールしたら試してみてください。