我正在尝试设置 NXlog CE 以接收来自 3 个设备的日志并将其写入 JSON 文件。
它适用于一个 IP,但不适用于其他 IP。
使用 Wireshark,我可以看到日志通过 UDP 514 到达设备,但 NXLogs 不会将它们粘贴到 JSON 文件中。
这里是代码片段:
`
define ROOT C:\nxlog
define CERTDIR %ROOT%\cert
define CONFDIR %ROOT%\conf\nxlog.d
define LOGDIR %ROOT%\data
include %CONFDIR%\\*.conf
define LOGFILE %LOGDIR%\nxlog.log
LogFile %LOGFILE%
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
<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 json>
Module xm_json
</Extension>
<Extension _fileop>
Module xm_fileop
# Check the size of our log file hourly, rotate if larger than 5MB
<Schedule>
Every 1 hour
Exec if (file_exists('%LOGFILE%') and \
(file_size('%LOGFILE%') >= 5M)) \
file_cycle('%LOGFILE%', 8);
</Schedule>
# Rotate our log file every week on Sunday at midnight
<Schedule>
When @weekly
Exec if file_exists('%LOGFILE%') file_cycle('%LOGFILE%', 8);
</Schedule>
</Extension>
# Collecting event log
<Input in1>
Module im_udp
Host IP1
# Port 514 # Assuming default syslog port
</Input>
<Input in2>
Module im_udp
Host IP2
# Port 514 # Assuming default syslog port
</Input>
<Input in3>
Module im_udp
Host IP3
# Port 514 # Assuming default syslog port
</Input>
# Output
<Output out>
Module om_file
File "C:\Syslogs\Outlog.json"
Exec to_json();
</Output>
# Connect input 'in' to output 'out'
<Route udp_to_file>
Path in1, in2, in3 => out
</Route>`
我错过了什么吗?
谢谢。
尝试在 Windows 设备上安装 nxlog。
也尝试在Linux(Virtualbox)上执行此操作,但仍然不起作用。
您可能想尝试使用
Host 0.0.0.0
,以便它侦听所有接口。
<Input in3>
Module im_udp
Host 0.0.0.0
# Port 514 # Assuming default syslog port
</Input>