llenv を使って fluentd をインストールしてみた
llenv とは?
perl の perlbrew とか ruby の rbenv とか node の nvm とかいった、複数バージョンの言語環境をユーザローカルでインストール・実行できるツールを、統一的に扱うことのできるツール。
一つの言語だけならそんなに問題はないのだけど、複数の言語を触っていると、あれ? この設定どうやるんだっけ? って事が多いので統一インタフェースで利用できいるのはとても便利です。
手順
説明面倒なので、やったことだけ。
llenv のインストール
$ curl -kL https://raw.github.com/riywo/App-llenv/master/llenv-install | bash
llenv 用の設定
$ cat >> ~/.zshrc <<'EOL' export LLENV_ROOT=$HOME/llenv export LLENV_OSTYPE=`$LLENV_ROOT/bin/ostype` export PATH=$LLENV_ROOT/bin:$PATH EOL $ source ~/.zshrc
ruby 1.9.3p0 を使えるようにする
$ llinstall init ruby $ llinstall install ruby 1.9.3-p0 $ llinstall exec ruby 1.9.3-p0 -- -v # 確認 ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
ruby gems インストール用の作業ディレクトリを作って、インストール
$ llenv setup gems -l ruby -v 1.9.3-p0 $ cd ~/llenv/apps/gems/ $ wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.15.tgz $ tar xvf rubygems-1.8.15.tgz $ mv rubygems-1.8.15/* ./ $ mv rubygems-1.8.15/.* ./ $ llenv exec ruby -- setup.rb $ llenv exec gem -- -v # 確認 1.8.15
fluentd のインストール
$ llenv exec gem -- install fluentd
fluentd の作業ディレクトリを作って、そこにセットアップ
$ llenv setup fluentd -l ruby -v 1.9.3-p0 $ llenv exec fluentd -- --setup . $ llenv exec fluentd -- -c fluent.conf -vv & $ echo '{"json":"message"}' | llenv exec fluent-cat -- debug.test # 確認
最後に
CentOS だと、 lsb_release がなく、llenv/bin/ostype がまともに動かなかったので、
実際には
export LLENV_OSTYPE=CentOS-5.7-x86_64
としてます。
CentOS でも動くようにパッチを送ったので、取り込まれると嬉しいなぁ。
https://github.com/do-aki/App-llenv/commit/1f3d6ff266079aa1169f95caafc3b4947bf286d2
素敵なツールを開発してくださった [twitter:@riywo] さんに感謝!
参考
- ハッカソンに行って来てllenvをリニューアルしました
- http://blog.riywo.com/2012/01/08/200329
- riywo/App-llenv - GitHub
- https://github.com/riywo/App-llenv
- Fluentd’s documentation
- http://fluentd.org/doc/
- Fluentd meetup in Japan on Zusaar
- http://www.zusaar.com/event/193104