fluentdでwindowsのイベントログを収集する方法の確認です。

000000

収集元のwindowsにはnxlogをインストールします。

NXLog Community Edition - Downloads | nxlog.co
http://nxlog.org/products/nxlog-community-edition/download

000001

nxlogのインストール後、「C:\Program Files (x86)\nxlog\conf」にnxlog.confという設定ファイルがあります。
これを編集します。

define ROOT C:\Program Files (x86)\nxlog

Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
LogFile %ROOT%\data\nxlog.log


<Extension syslog>
   Module      xm_syslog
 </Extension>
 <Extension json>
   Module      xm_json
 </Extension>
 <Input in>
   Module im_mseventlog
 </Input>
 <Processor t>
   Module pm_transformer
   OutputFormat syslog_bsd
   Exec $Message=(": "+$raw_event);
 </Processor>
 <Output out>
   Module om_udp
   Host x.x.x.x
   Port 5140
 </Output>
 <Route r>
   Path in => t => out
 </Route>


「Host」にFluentdサーバーのIPアドレス、「port」にサーバーが待ち受けているポート番号を指定してください。

<source>
           type syslog
           port 5140
           tag windowslog
</source>
<match windowslog.**>
           type stdout
</match>


同様にfluentdサーバー側の「td-agent.conf」も編集します。
上記の行を追加してください。
5140番で待ち受けて、「windowslog」というタグを付与します。

000002

Windows側でnxlogを起動します。
-cパラメーターに設定ファイルを指定しています。

000003

適当にイベントログを生成し、/var/log/td-agent/td-agent.logに出力されれば成功です。
文字化けているけど・・・