サーバの入れ替えに伴い、syslogサーバをWindowsServer2022(以降、WinSv2022)上に構築してみました。
Linuxとは違って、基本的にWindows用のsyslogサーバは有料のものが多く、業務用となるとかなり高額なものもあります…が、今回の用途はVPNルータのログを収集するだけなので、できれば費用をかけずに行きたいところ。
そう思いながら探してみたところ、ちょうど良さそうなフリーソフトのsyslogサーバを見つけたので、使ってみることにしました。
導入までの手順をメモメモ。
syslogサーバをインストール
今回使用するのはpSyslogというフリーソフトで、UDPでsyslogを受信し、記録してくれます。以下の公式サイトからダウンロードできます。
ダウンロードしたファイルを適当な場所へ展開します。今回は、Cドライブの直下に「Tools」というフォルダを作成し、その中にpSyslogフォルダを作成して展開しました。
いくつかのファイルが展開されますが、この中で最低限必要なのは「pSyslogService.exe」と「pSyslog.ini」のふたつだけ。それ以外のファイルは、削除してしまっても大丈夫のようですが…念のため、全部残しておきました。
展開した後、まず最初に設定ファイル「pSyslog.ini」を適宜書き換えます。…とは言え、基本的に書き換える部分は、受信データログファイル名とログキャッシュ機能くらいかな。
22: RECVLOGNAME=%y-%m-syslog.log → %y%m%d_syslog.log
68: CACHEMETHOD=0 → 1
syslogサーバをサービスに登録
設定ファイルの変更が終わったら、サービス登録へ。
今回はC:¥Tools¥pSysLog へ展開したので、このフォルダを表示した状態で、アドレスバーに「cmd」と入力しエンターキーを押します。
コマンドプロンプトが立ち上がるので、以下のコマンドを実行し、サービスへ登録します。
pSyslogService -install
syslogサーバのサービスを開始
サービス登録した後、そのままコマンドプロンプトから以下のコマンドを実行し、Windowsの「サービス」を起動します。
services.msc
サービスの中から「pSyslog Service」を探して、ダブルクリックしてプロパティを開きます。右クリックから「プロパティ」でも可。
プロパティ画面の「開始」をクリックして、サービスを開始します。
ファイアウォールの設定
WinSv2022では、ファイアウォールの設定も必要です。
コントロールパネルから、Windows Defenderファイアウォールを開きます。
「Windows Defenderファイアウォールを介したアプリまたは機能を許可」を開きます。
「別のアプリの許可」を開きます。
pSyslogサーバのインストール先を開き、pSyslogService.exeを追加します。
これで、syslogを受信できる状態になりました。
syslogの受信確認
実際にsyslogが受信できるか確認します。
設定で、受信したsyslogデータを行単位でキャッシュするように変更しています。それ以外の設定を変更していないので、デフォルトではログが10行分溜まったら書き込みされるので、10行分のsyslogを転送させて動作確認してみます。
今回はVPNルータのログを収集するので、ルータへログイン→ログアウトを5回行い、10行分のログを出してみました。
転送されてきたログは、インストールしたフォルダの中の「logs」というフォルダに保存されます。
設定ファイルで指定した名前(今回の例では「%y%m%d_syslog.log」)でログファイルが生成されればOKです。
さいごに
ということで、pSyslogというフリーソフトを使ってWinSv2022にsyslogサーバを構築してみました。
pSyslogは受信したログをまとめてひとつのファイルに書き出すので、複数のシステムから受信したログをそれぞれ別のファイルに書き出す、という用途では使えません。
今回のように、ひとつのシステム(VPNルータ)から受信したログをファイルに書き出していく、という用途向けです。
複数のシステムから受信するような環境では、他のソフトを使うか、全てが無料で使えるLinuxでサーバを立てた方がいいんじゃないかと思います。
今日の作業は以上です。お疲れ様でした!
コメント