Как переслать журнал Windows с помощью Nxlog на сервер rsyslog (linux)?

Я использую nxlog версии 3.0 на WinServ2012 R2 Standard, я могу переслать журналы событий в Eventviewer -> Windows журналы -> приложения, системы, безопасности. Но я не могу переслать другой журнал, который находится в другой директории / уровнях журнала, например (скриншот)

ниже мой файл конфигурации nxlog nxlog.conf, я пытаюсь получить журналы вставки / извлечения USB-накопителей / флешек от Microsoft-Windows-DriverDriverFrameworks-UserMode/Operational Журнал событий. Журналы заполнены, но я не могу получить их на сервере системного журнала.

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 ответа

Решение

Чтобы отправить системный журнал из NXLog на сервер системного журнала, вам нужно использовать модуль расширения xm_syslog и вызвать один из модулей форматирования (to_syslog_bsd(), to_syslog_ietf(), to_syslog_snare()) в зависимости от желаемого формата, который поддерживает ваш сервер системного журнала. Для получения дополнительной информации см. Раздел "Системный журнал" в Руководстве пользователя.

Хотя некоторые события USB хранятся в журнале событий Windows, существуют другие источники данных для событий USB:

  • Трассировка событий Windows (ETW). NXLog EE имеет модуль im_etw, который может напрямую собирать журналы ETW. См. Этот пост для списка связанных поставщиков ETW.
  • Реестр Windows. USB-устройства перечислены в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB и путем мониторинга этого куста реестра можно обнаружить изменения в конфигурации USB. Модуль ввода im_regmon поддерживает мониторинг реестра в NXLog EE.

Наконец-то все заработало, но шаги довольно глупы:

1) В файле nxlog.conf измените параметр внутри <Input eventlog>ReadFromLast TRUE в ReadFromLast FALSE и прокомментируйте строки (поставьте хэш # infront)

#<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 и журналы все еще отображаются

Другие вопросы по тегам