LoginSignup
1
0

Windows Serverのログ保存用Syslogサーバ(QNAP 利用)構築

Posted at

Syslog用にサーバ機器を買いたくないけどWindowsServerのログ用のSyslog Serverを構築したいと引き合いがあったので、ぱっと思いついた閃きの最安構成を考えてみました。業務利用は考慮していないのであしからず。

全体機器構成

今回はSyslogサーバとして、QNAP製NASを利用します。NASをファイルサーバとして利用している企業はあると思いますがQNAP NASにはSyslogサーバとしての機能もあります。
Windows ServerのログとCisco L3Switchのログ(ついでに)をSyslogサーバとして設定したQNAPに送り込む構成となります。
図にするとこんな感じです。

全体構成_NXLog.png

用意した機器

・Syslog server =QNAP TS-431XU-RP(QTS 5.0.1)
・Windows Server2022
・Cisco Catalyst 3750(L3 Switch)

今回のゴール

Windows Serverのログ(EventViewの内容)とCisco L3SwitchのログがQNAP Syslog管理画面で閲覧できるようにする。
具体的にはこんな感じでログを表示させたいと思います。

[Cisco機器のログ]
image.png

[Windowsのログ]
image.png

決して見やすログ情報ではないので、送信側でチューニングしてください...

前提条件・免責事項

・ログ解析や機器監視などの運用を想定した構成ではなく、とりあえずSyslogを溜めて、データを閲覧できるだけです。※業務利用するならちゃんとしたSyslogソフト製品を購入しましょう。
・Windowsの標準機能ではSyslogの送信機能がないので、NXLogをインストールして利用します
・Syslogを受信できる環境の構築(受信側)がメインで、どのようなログを送信するか(送信側)は最低限の設定だけです

手順

① QANPでSysloサーバ機能の有効化と受信ポートの設定
② Windows ServerにNXLogをインストール、Syslog送信設定
③ CiscoスイッチでSyslog送信設定
④ QNAP側でSyslogの確認

やってみた

① QANPでSysloサーバ機能の有効化と受信ポートの設定

QNAP WebUIにログインし、「コントロールパネル」の「アプリケーション」内の「Syslogサーバー」をクリックします。

スライド2.PNG

デフォルトだと「Syslogサーバーを有効にする」にチェックが入っていないので、チェックを入れてポート番号を入力します。※デフォルトは514

スライド3.PNG

QNAP側設定は以上です。

② Windows ServerにNXLogをインストール、Syslog送信設定

以下サイトからNXLogをインストールします。

Enterprise版(有料版)とCommmunity Edition(無料版)がありますが無料版を選択します。

スライド4.PNG

インストール設定は特に何も変更することなく、「はい」を連打して、進めてください。
デフォルトだとC:\ProgramFilesにフォルダができ、その中のconfフォルダの中にnxlog.confが作成されます。
スライド5.PNG

nxlog.confがNXLogの設定ファイルですのでこのファイルをテキストで開き、中身を修正していきます。※修正する前にバックアップは取得しましょう

今回の環境では以下のように修正しました。

# NXLog Community Edition configuration file
#
# For more information see "C:\Program Files\nxlog\conf\nxlog.conf"
# or latest version online at https://nxlog.co/docs/nxlog-ce/nxlog-reference-manual.html
# If you experience problems, see https://nxlog.co/community-forum


#### DEFINE ####

define ROOT    C:\Program Files\nxlog
define CERTDIR %ROOT%\cert
define CONFDIR %ROOT%\conf
define LOGDIR  %ROOT%\data
define LOGFILE %LOGDIR%\nxlog.log

Moduledir %ROOT%\modules
CacheDir  %ROOT%\data
Pidfile   %ROOT%\data\nxlog.pid
SpoolDir  %ROOT%\data
LogFile   %LOGFILE%


#### EXTENSION ####

<Extension exec>
   Module xm_exec
</Extension>

<Extension json>
  Module xm_json
</Extension>

<Extension syslog>
  Module xm_syslog
</Extension>
 
<Extension charconv>
  Module xm_charconv
  AutodetectCharsets shift_jis, utf-8
</Extension>

<Extension fileop>
  Module xm_fileop
  <Schedule>
      Every 1 week
      <Exec>
          file_cycle('%LOGFILE%', 4);
      </Exec>
  </Schedule>
</Extension>


#### INPUT SECTION ####

<Input input_application>
Module im_msvistalog
Query <QueryList><Query Id="0"><Select Path="Application">*</Select></Query></QueryList>
<Exec>
    $Message  = to_json();
    $Hostname = hostname();
</Exec>
</Input>

<Input input_security>
    Module im_msvistalog
    Query <QueryList><Query Id="0"><Select Path="Security">*</Select></Query></QueryList>
    <Exec>
        $Message  = to_json();
        $Hostname = hostname();
    </Exec>
</Input>

<Input input_system>
    Module im_msvistalog
    Query <QueryList><Query Id="0"><Select Path="System">*</Select></Query></QueryList>
    <Exec>
        $Message  = to_json();
        $Hostname = hostname();
   </Exec>
</Input>


#### PROCESSOR SECTION ####

<Processor buffer_memory>
    Module pm_buffer
    Type Mem
    MaxSize 128000
    WarnLimit 16000
</Processor>


#### OUTPUT SECTION ####

<Output output_syslog>
    Module om_udp
    Host 192.168.XX.XX ←ここにNASのIPアドレス
    Port 514 ←デフォルトではポート番号514
    <Exec>
        $SourceName          = 'NXLog';
        $SyslogFacility      = 'local0';
        $SyslogSeverityValue = '6';
        to_syslog_ietf();
    </Exec>
</Output>


#### ROUTE SECTION ####

<Route route_application>
    path input_application => buffer_memory => output_syslog
</Route>

<Route route_security>
    path input_security => buffer_memory => output_syslog
</Route>

<Route route_system>
    path input_system => buffer_memory => output_syslog
</Route>

修正が終わったらサービスを再起動させましょう。何かしらの理由で再起動できない場合はnxlog.confの記載内容がおかしいので見直しましょう。

スライド6.PNG

③ CiscoスイッチでSyslog送信設定

Syslog送信に関わる部分だけ抜粋でコマンドを記載します。

Cisco(config)#logging buffered 512000
Cisco(config)#logging host 192.168.XX.XX ←NASのIPアドレス
Cisco(config)#logging trap informational ←syslogサーバに送信する際に「informational」を指定
Cisco(config)#logging facility local5 ←syslogサーバに送信する際にfacility-typeを「local5」に指定

Ciscoから手動でSyslogを送信してみます。

Cisco#send log 3 test

④ QNAP側でSyslogの確認

QNAP WebUIにログインし、「コントロールパネル」-「アプリケーション」で「Syslogサーバー」のSyslogビューアをクリックすると蓄積されたログを見ることができます。

[Cisco機器のログ]
image.png

[Windowsのログ]
image.png

おわりに

QNAPを利用すればサーバ用のハードウェアを購入せずにSyslogサーバを構築できるので、お安く構築できます。ただログ検索や分析などは激ムズ(ログが見にくい)なので本当にログデータを蓄積するだけになります。ログは重要!

参考にしたサイト

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0