Я не могу настроить NXlog для отправки журналов входа в систему Windows. журналы создаются до запуска NXlog, поэтому NXlog необходимо помнить, когда в последний раз он получал журналы событий.
Проблема возникает, когда я пытаюсь использовать директиву savePos в своей конфигурации:
Эта директива принимает логическое значение TRUE или FALSE и указывает, следует ли сохранять позицию файла при выходе из nxlog. Позиция файла будет считана из файла кеша при запуске. Положение файла сохраняется по умолчанию, если эта директива не указана в конфигурации. Даже если SavePos включен, его можно явно отключить с помощью директивы NoCache.
(из док).
Но NXlog никогда не записывает позицию (или что-либо еще) в кеш.
Я не использую noCache и ничего не нашел в Интернете.
Моя конфигурация NXlog (сгенерирована Graylog2):
define ROOT C:\Program Files (x86)\nxlog
<Extension gelf>
Module xm_gelf
</Extension>
<Extension syslog>
Module xm_syslog
</Extension>
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
LogFile %ROOT%\data\nxlog.log
LogLevel INFO
<Extension logrotate>
Module xm_fileop
<Schedule>
When @daily
Exec file_cycle('%ROOT%\data\nxlog.log', 7);
</Schedule>
</Extension>
<Input 57849fe093a38e030db3e1d7>
Module im_msvistalog
PollInterval 2
SavePos True
ReadFromLast True
</Input>
<Output 57849aa293a38e030db3dc55>
Module om_udp
Host 10.200.68.102
Port 12201
OutputType GELF
Exec $short_message = $raw_event;
# Avoids truncation of the short_message field.
Exec $gl2_source_collector = '8d8925b7-f1c0-40ae-a1ed-e918432e2125';
Exec $Hostname = hostname_fqdn();
</Output>
<Route route-0>
Path 57849fe093a38e030db3e1d7 => 57849aa293a38e030db3dc55
</Route>