次に各イベントログを生成するためにeventlogadmコマンドで,UnixのログメッセージをWindows用のイベントログ形式に変換します。

 まずは試しに既に記録済みのsyslogメッセージをイベントログ形式に変換してみます。

 イベントログ形式への変換は,Sambaのソースファイルのexamples/scripts/eventlogディレクトリにサンプルスクリプトとして提供されているparselog.plスクリプトと,eventlogadmコマンドで作成します。

 eventlogadmコマンドには次のフォーマットに従ったテキストファイルを入力する必要があるため,/var/log/messagesのログメッセージを,parselog.plスクリプトで整形しています。

TMG: 1182937046
TMW: 1182937046
EID: 1000
ETP: INFO
ECT: 0
RS2: 0
CRN: 0
USL: 0
SRC: Syslog
SRN: dhcp141
STR: dhclient: DHCPREQUEST on eth0 to 10.0.0.4 port 67
DAT:

 なお,この書式のそれぞれのパラメータの意味については,下記に詳細な説明がありますので参考にしてください。

http://wiki.samba.org/index.php/Event_Logging

 実際にイベントログファイルを作成するときには,次のように実行します。

# cat /var/log/messages | ./parselog.pl | eventlogadm “SysLogLinux”

 eventlogadmコマンドの引数には,「eventlog list」パラメータに指定したイベントログの種類のうちのいずれかを指定します。

 このコマンドが終了すると,/var/cache/samba/eventlogディレクトリにTDB形式に変換されたイベントログファイルが作成されます。

# ls -l
total 116
-rw-r----- 1 root root 114688 Jun 27 18:34 sysloglinux.tdb
 
 続いてイベントログをWindowsクライアントのイベントビューアから見れるようにするために,smb.confに[C$]共有を作成し,Sambaを再起動しておきます。

 下記設定では[C$]共有に書き込む必要がないため,「read only = yes」をつけていますが,「read only = no」でもイベントビューアの動作には問題ありません。

[C$]
read only = yes

 最後にeventlogadmコマンドを使って,Windows用のイベントログの格納場所の情報をSambaのレジストリ機能を使ってSambaの管理情報に登録します。

# eventlogadm -o addsource SysLogLinux SysLogLinux %SystemRoot%/system32/SysLogLinux.dll (1行で)

ここからは会員の登録が必要です。