WindowsServer2016のイベントログを確認するために、毎回リモートログインしてイベントビューアーを起動するのが面倒なので、Syslogサーバへ転送してしまえ!
と思ったのですが、そのままではSyslogサーバへログを送ることができないので、Event to Syslogというツールを使ってみることにしました。
結果、Syslogでログ確認ができるようになり、非常に快適になったので、設定までの手順をメモメモ。
Event to Syslogのダウンロード
Event to Syslogは、Google Codeからダウンロードできます。
いくつか種類がありますが、最新の通常版(と言っても2013年ですが)である Evtsys_4.5.1_64-Bit.zip をダウンロードします。
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から順次ログが転送されてきますので、煮るなり焼くなりお好きにどうぞ!。
コメント