Prev / Next

2012-11-14 / Solaris 11.1 で fluentd を動かす

[2012-11-11-1] で Solaris 11.1 で fluentd を動かせたので,メモ.

#osoljp に spec ファイルをコミットしてあるので,
SFEruby-*.spec をビルドして runtime/ruby-19 と library/ruby-19/* を
インストール.

適当に PATH の通っている場所にリンクをはる

sudo ln -s /usr/ruby/1.9/bin/ruby /usr/bin/ruby19
sudo ln -s /usr/ruby/1.9/lib/ruby/gems/1.9.1/gems/fluentd-0.10.28/bin/fluent*  /usr/bin/


これはパッケージ側でやっておいた方がいいので,
そのうち修正する.

セットアップ

ruby19 /usr/bin/fluentd -s ~/tmp/fluent


fluentd の shebang が

#!/usr/bin/env ruby


なので,ruby19 を指定している.

ここもパッケージ作る際に,書き換えておいた方がよい.

とりあえず,log 収集用のコンフィグと
apache のアクセスログを読むコンフィグを用意する.

~/tmp/fluent/log_server.conf

<source>
  type forward
</source>

<match apache.access>
  type file
  path /home/fumi/tmp/fluent/logs/access_log
</match>


~/tmp/fluent/web_server.conf

<source>
  type tail
  format apache
  path /var/apache2/2.2/logs/access_log
  pos_file /tmp/web_server.pos
  tag apache.access
</source>

<match apache.access>
  type forward
  <server>
    host 127.0.0.1
  </server>
</match>


ログ収集側の起動

sudo LIBEV_FLAGS=3 ruby19 /usr/bin/fluentd -v -c ~/tmp/fluent/log_server.conf


apache のログを読む方の起動

sudo LIBEV_FLAGS=3 ruby19 /usr/bin/fluentd -v -c ~/tmp/fluent/web_server.conf


環境変数 LIBEV_FLAGS=3 を指定しないと,
以下のようなログがでる

(libev) port_getn (see http://bugs.opensolaris.org/view_bug.do?bug_id=6268715, try LIBEV_FLAGS=3 env variable): Timer expired


ちゃんと動作すれば,
~/tmp/fluent/logs 以下にログが書き出される.

あとは,SMF マニフェストを用意して,
fluent-plugin のパッケージを作りまくればよさげ.

comments powered by Disqus