WindowsServer2016のイベントログをCentOS8のSyslogへ転送する

WindowsServer2016のイベントログを確認するために、毎回リモートログインしてイベントビューアーを起動するのが面倒なので、Syslogサーバへ転送してしまえ!

と思ったのですが、そのままではSyslogサーバへログを送ることができないので、Event to Syslogというツールを使ってみることにしました。

結果、Syslogでログ確認ができるようになり、非常に快適になったので、設定までの手順をメモメモ。

Event to Syslogのダウンロード

Event to Syslogは、Google Codeからダウンロードできます。

いくつか種類がありますが、最新の通常版(と言っても2013年ですが)である Evtsys_4.5.1_64-Bit.zip をダウンロードします。

Event to Syslogのダウンロード

WindowsServer2016にインストール

ダウンロードした Evtsys_4.5.1_64-Bit.zip を解凍し、evtsys.exe を適当な場所にコピーします。自分はCドライブ直下に evtsys というフォルダを作成し、その中にコピーしました。

コピー後、管理者権限でコマンドプロンプトを起動し、サービスとしてのインストールを行います。

evtsys -i -h 192.168.1.7 -f local0

上記の場合、Syslogサーバが「192.168.1.7」で、ファシリティ「local0」としています。ポートはデフォルトで514が指定されるので、改めて指定する必要はありません。

主要パラメータについては、以下の通り。

-i:インストール
-u:アンインストール
-d:デバッグモード
-h:Syslogサーバのホスト名またはIPアドレス(複数指定する場合は';'で区切る)
-p:Syslogサーバのポート番号(デフォルト:514)
-f:ファシリティレベル(デフォルト:daemon)
-l:転送するログレベル(0=すべて、1=緊急、2=エラー、3=警告、4=情報)

Event to Syslogの実行

Event to Syslogはサービスとして常駐します。インストール後、そのままコマンドプロンプトでサービスを開始すればOKです。

net start evtsys

サービスを停止したい場合は、以下のコマンド。

net stop evtsys

Syslogサーバの設定

転送されるログを受け取る側の、Syslogサーバの設定を行います。ここでは、CentOS8のrsyslogでの設定例です。

#vi /etc/rsyslog.conf

# 19~20行目、24~25行目のコメントを外す
module(load="imudp") # needs to be done just once
input(type="imudp" port="514")

module(load="imtcp") # needs to be done just once
input(type="imtcp" port="514")

# ファイルの最後に以下を追加
$template WinServerMessage,"/var/log/WindowsServer2016/%$year%%$month%%$day%_syslog.log"
local0.* -?WinServerMessage

上記設定の場合、/var/log/WindowsServer2016 配下に yyyymmdd_syslog.log というファイルを作成してログが書き込まれます。

firewalldのポート開放がまだの場合は、ポート開放。

# firewall-cmd --add-port=514/tcp --permanent
# firewall-cmd --add-port=514/udp --permanent
# firewall-cmd --reload

最後にrsyslogを再起動。

# systemctl restart rsyslog

以上で設定完了です。

しばらく待つと、Windows Server 2016から順次ログが転送されてきますので、煮るなり焼くなりお好きにどうぞ!。

初稿:2021年1月25日

この記事をシェア

アカウントをフォロー