LoginSignup
15
16

More than 5 years have passed since last update.

Fluentdで集めたデータをGroongaに格納する方法

Last updated at Posted at 2014-11-10

はじめに

Fluentd用のoutputプラグインとして「groonga outputプラグイン」というものがあります。groonga outputプラグインを使うと、Fluentdで集めたデータをGroongaに格納することができます。この記事ではgroonga outputプラグインを使ってFluentdで集めたデータをGroongaに格納する方法を説明します。

インストール

Fluentdはすでにインストールされているものとします。そのため、次の2点のインストール方法について説明します。

  • Groonga
  • fluent-plugin-groonga

Groonga

データの格納先であるGroongaのインストール方法を説明します。

Groongaは各種プラットフォーム向けのパッケージが揃っています。パッケージを使ったインストール方法の詳細は公式サイトのインストールドキュメントを参照してください。次のパッケージをインストールしてください。

  • groonga-httpd: Groongaサーバー

例えば、Ubuntuの場合は次のようにインストールします。

sudo apt-get -y install software-properties-common
sudo add-apt-repository -y universe
sudo add-apt-repository -y ppa:groonga/ppa
sudo apt-get update
sudo apt-get -y install groonga-httpd

fluent-plugin-groonga

groonga outputプラグインを提供するfluent-plugin-groongaのインストール方法を説明します。

fluent-plugin-groongaはRubyGemsとして公開されているので次のコマンドでインストールします。

sudo gem install fluent-plugin-groonga

設定

インストールが完了したので設定方法を説明します。

Groonga

Groongaはインストールするだけですぐに使える状態になっているため追加で設定する必要はありません。

(どこからでもアクセスできる状態になっているため、実運用するときは必要に応じて接続可能ホストを制限したりする必要があります。)

fluent-plugin-groonga

fluent-plugin-groongaの設定方法を説明します。

次のようにApacheのログファイルを読み込むsourceがあるとします。

<source>
  type tail
  path /var/log/apache2/access.log
  pos_file /var/log/td-agent/apache_access.pos
  tag log.apache.access
  format apache2
</source>

これを同じホストで動いているGroongaに格納するには次のようなmatchを追加します。

<match log.**>
  type groonga
  store_table Logs

  buffer_type file
  buffer_path /var/log/td-agent/buffer.groonga
</match>

これでLogsテーブルの中にログが溜まっていきます。

Groongaは事前にスキーマを定義しなければいけませんが、fluent-plugin-groongaが自動でいい感じにテーブルもカラムも定義してくれます。そのため、前述の通りテーブル名だけ指定しておけばログが溜まっていきます。

格納されたログはWebブラウザーベースの管理画面で確認できます。

まとめ

Fluentdで集めたデータをGroongaに格納する方法を紹介しました。実運用するにはもっと設定が必要になるのですが、この記事では実際に試してみるための必要最小限の設定を紹介しました。実運用するときはたとえば次のような設定が必要になります。

  • 各ログにタイムスタンプも入れる
  • 各ログにホスト名も入れる(複数ホストからログを集める場合)
  • 高速に検索できるようにインデックスを張る
  • 同じようなテキストデータは共有してデータベースに格納するサイズを小さくする

fluent-plugin-groongaのリポジトリーに設定サンプルがあるので興味がある人はのぞいてみてください。

おしらせ

全文検索エンジンGroongaを囲む夕べ5

2014/11/29(土)、年に一度のいい肉の日にGroongaイベント「全文検索エンジンGroongaを囲む夕べ5」が開催されます。Groongaに興味のある方はぜひご参加ください。

Groonga Advent Calendar 2014

Groonga Advent Calendar 2014を実施します。Groonga関連情報を持っている方はぜひご参加ください。

関連情報

15
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
16