Fluentd for windowsなお話【その1 初めに】

OSSの世界でホットな「Fluentd」をWindowsで動かそう

Fluentd: Open Source Log Management について詳しくはGoogle先生に聞いてもらうとして、Fluentd自体はRubyで書かれています。

ここで、「Rubyで書かれているのならば、Windowsでもそのまま動くんじゃない?」と思って試した人は、すんなりと動かなくてあきらめてしまった人が多いかもしれません。

 

現在、GitHub上のFluentdのリポジトリWindowsブランチがあります。

このブランチ上ではmasterに対してWindows環境で動かすための修正を行っています。

大まかな変更点

Windows環境では動かないもの(他のOSと挙動が異なるもの含む)
  1. 対応していないシグナル
  2. fork
  3. ファイルのI/Oとステータス周り
  4. その他もろもろ
Windows環境特有のもの
  1. Windowsサービスでの実行

※細かな変更点については、後日掲載します 

 

Windows環境へのFluentdの導入方法

導入方法については、こちら fluentd for windowsなお話【その2 導入編】を参照してください

 

現在のWindows版 Fluentd について

 導入後に env.rb を修正する必要があります。
(Rubyの導入先が「C:\Ruby193」の場合は変更する必要はありません

名前

値(例)

RUBY_INSTALL_DIR

C:/Ruby193

FLUENTD_OPTION_FOR_WINSVC

-c C:/Ruby193/fluent/fluent.conf -o C:/Ruby193/fluent/fluentwinsvc.log

 

Pluginについて

標準のプラグインについて確認を行っています

input plugin

名前

状況

in_http

確認済み

in_forword

確認済み

in_tail

確認済み

但し、ターゲットファイルはNTFSでフォーマットされたドライブにある必要があります(ネットワークドライブはサポートしていません)。
又、ターゲットファイルは FILE_SHARE_READでオープンされている必要があります。 

in_exec

確認済み

output plugin

名前

状況

out_copy

確認済み

out_stdout

確認済み

out_null

確認済み

out_forword

確認済み
但し、but send_timeout オプションは使用できません。

out_file

確認済み

out_exec

確認済み

out_exec_filter

稼働できません

out_roundrobin

確認済み

buffer plugin

名前

状況

buf_memory

確認済み

buf_file

確認済み