次に各イベントログを生成するために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行で)

この先は会員の登録が必要です。有料会員(月額プラン)は申し込み初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら