我在 WinServ2012 R2 Standard 上使用 nxlog 版本 3.0,我可以转发 Eventviewer --> windows 日志 --> 应用程序、系统、安全下的事件日志。但我无法转发不同日志目录/级别的其他日志(例如屏幕截图)
下面是我的 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>
答案1
要将 syslog 从 NXLog 发送到 syslog 服务器,您需要使用 xm_syslog 扩展模块并根据 syslog 服务器支持的格式调用其中一个格式化程序( to_syslog_bsd()
、to_syslog_ietf()
、 )。有关更多详细信息,请参阅to_syslog_snare()
用户指南中的 Syslog 部分。
虽然某些 USB 事件存储在 Windows 事件日志中,但 USB 事件还有其他数据源:
答案2
经过反复试验,终于让它工作了:-
<Input eventlog>
ReadFromLast TRUE
在 nxlog.conf 文件中,将里面的参数改为ReadFromLast FALSE
并注释掉以下行(将 hash# 放在前面)# # #
从任务管理器重新启动 nxlog 服务
再次取消注释先前注释的行
重新启动 nxlog 服务
将 USB 驱动器插入 Windows2012 机器并检查日志
我开始看到日志,但我仍然不确定是什么触发了这件事。因为我想从上一次开始读取日志,所以我将其更改为,ReadFromLast FALSE
但ReadFromLast TRUE
日志仍然显示出来