fluentdをインストールしてみた

notoです。 久しぶりのブログ更新。かなり乗り遅れてる感がありますがfluentdをインストールして、微妙にハマったので備忘録的なメモです。

fluentd は ruby 上で動作するので ruby のインストールも合わせて記載します。 インストール方法は色々あるのですが、今回は RubyGems からインストールを行います。

構築環境

  • CentOS 6.2
  • Ruby 1.9.2+

rubyのインストール

fluentd のドキュメントでは ruby のインストールは rvm (Ruby Version Manager) 使うことが推奨されてますが、単純にインストール や バージョンの切り替えをしたいだけなので rbenv を利用します。

rbenvのインストール

1
2
$ cd
$ git clone git://github.com/sstephenson/rbenv.git .rbenv

ダウンロードが完了したら、bash_profileを編集します。 PATHを通し、eval ‘$(rbenv init -)’ を追加します。

1
2
3
4
$ vi ~/.bash_profile

PATH="$HOME/.rbenv/bin:$PATH:$HOME/bin"
eval "$(rbenv init -)"

サクッと反映 反映させたら、rbenvコマンドが利用できるようになっていると思います。利用できない場合は、PATHがちゃんと通っているか確認してみてください。

1
$ source ~/.bash_profile

rb-buildのインストール

1
2
3
$ mkdir -p ~/.rbenv/plugins
$ cd ~/.rbenv/plugins
$ git clone git://github.com/sstephenson/ruby-build.git

rubyのインストール

最新版をインストール

1
2
3
$ rbenv install 1.9.3-p194
$ rbenv global 1.9.3-p194
$ rbenv rehash
1
2
$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]

fluentdのインストール

ruby のインストールもできたことなので、fluentd のインストールを行います。ここで若干つまずきました。

1
2
3
4
5
$ gem install fluentd
ERROR:  Loading command: install (LoadError)
    cannot load such file -- zlib
ERROR:  While executing gem ... (NameError)
    uninitialized constant Gem::Commands::InstallCommand

zlib がインストールされてないだと。。。と思い確認するとインストールされてたので、はいはい、zlib-devel zlib-devel ということでインストールします。

1
$ yum install zlib-devel

先ほどインストールした ruby も一度アンインストールします。

1
2
$rbenv uninstall 1.9.3-p194
rbenv: remove /root/.rbenv/versions/1.9.3-p194? y

再度 rubyをインストールし、fluentd のインストールを行います。

1
2
3
4
5
$ rbenv install 1.9.3-p194
$ rbenv global 1.9.3-p194
$ rbenv rehash
$ gem install fluentd
$ rbenv rehash

エラーもなく fluentd のインストールが行われたようです。

インストールの確認

問題なく fluentd が動作しているか確認を行います。

1
2
3
$ fluentd --setup ./fluent
$ fluentd -c ./fluent/fluent.conf -vv &
$ echo '{"json":"message"}' | fluent-cat debug.test

最後のコマンドを打って以下の文言が出力されていたら正常にインストールされています。

20xx-xx-xx 11:40:31 +0900 debug.test: {"json":"message"}

問題なく動作していることが確認できたので一応確認で作成したディレクトリを消去。

1
rm -rf ./fluent

ruby 勉強しようと思って、まだ何もしていないという。。。

参考

Comments