web-dev-qa-db-ja.com

Nxlogを使用してWindowsログをrsyslogサーバー(Linux)に転送する方法

WinServ2012 R2 Standardでnxlogバージョン3.0を使用して、Eventviewer-> Windowsログ->アプリケーション、システム、セキュリティでイベントログを転送できます。しかし、たとえば、別のログディレクトリ/レベルにある他のログを転送することはできません(スクリーンショット)

enter image description here

以下は、私のnxlog構成ファイルnxlog.confで、Microsoft-Windows-DriverDriverFrameworks-UserMode/OperationalイベントログからUSBドライブ/ペンドライブの挿入/排出ログを取得しようとしています。ログは入力されていますが、syslogサーバーで受信できません。

Panic Soft
define ROOT C:\Program Files (x86)\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
LogLevel INFO

<Extension _syslog>
    Module      xm_syslog
</Extension>

<Extension _charconv>
    Module      xm_charconv
    AutodetectCharsets iso8859-2, utf-8, utf-16, utf-32
</Extension>
<Extension _exec>
    Module      xm_exec
</Extension>
<Extension _fileop>
    Module      xm_fileop
    <Schedule>
        Every   1 hour
        Exec    if (file_exists(%LOGFILE%) and (file_size(%LOGFILE%) >= 5M)) file_cycle(%LOGFILE%, 8);
    </Schedule>
</Extension>
<Input eventlog>
    Module       im_msvistalog
    ReadFromLast TRUE
    <QueryXML>
       <QueryList>
         <Query Id='1'>
            <Select Path='Application'>*</Select>
            <Select Path='Security'>*</Select>
            <Select Path='System'>*</Select>
            <Sekect Path='Microsoft-Windows-DriverDriverFrameworks-UserMode/Operational'>*</Select>
         </Query>
       </QueryList>
   </QueryXML>
</Input>

<Input agentlogging>
    Module      im_internal
</Input>

<Output logcontents>
    Module       om_tcp
    Host         10.10.10.100
    Port         514
    Exec         to_syslog_snare();
</Output>

<Output agentlog>
    Module       om_tcp
    Host         10.10.10.100
    Port         514
    Exec         to_syslog_snare();
</Output>
<Route 1>
    Path        eventlog => logcontents
</Route>

<Route 2>
    Path        agentlogging => agentlog
</Route>
2
satch_boogie

NXLogからsyslogサーバーにsyslogを送信するには、xm_syslog拡張モジュールを使用して、フォーマッタ(to_syslog_bsd()to_syslog_ietf()to_syslog_snare())の1つを呼び出す必要があります。 syslogサーバーがサポートする必要な形式によって異なります。詳細については、 ユーザーガイドのSyslogセクション を参照してください。

一部のUSBイベントはWindowsイベントログに保存されますが、USBイベントには他のデータソースがあります。

  • Windowsイベントトレース(ETW)。 NXLog EEには、ETWログを直接収集できる im_etw というモジュールがあります。関連するETWプロバイダーの一覧については、 この投稿 を参照してください。
  • Windowsレジストリ。 USBデバイスはHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBおよびこのレジストリHiveを監視することで、USB構成への変更を検出できます。 im_regmon 入力モジュールは、NXLog EEのレジストリ監視をサポートしています。
1
b0ti

ようやく機能しましたが、手順はかなりおかしい試行錯誤です:-

1)nxlog.confファイルで、<Input eventlog>ReadFromLast TRUEからReadFromLast FALSEと行にコメントを付ける(ハッシュ番号を前に置く)

#<Select Path='Application'>*</Select>
#<Select Path='Security'>*</Select>
#<Select Path='System'>*</Select>
<Select Path='Microsoft-Windows-DriverDriverFrameworks-UserMode/Operational'>*</Select>

2)タスクマネージャからnxlogサービスを再起動します

3)以前にコメントした行のコメントを解除します

4)nxlogサービスを再起動します

5)USBペンドライブをwindows2012マシンに挿入し、ログを確認します

ログが表示され始めましたが、何が原因であるかはまだわかりません。最後からログを読みたいので、ReadFromLast FALSEからReadFromLast TRUEとログがまだ表示されます

0
satch_boogie