NXLog 总是转发磁盘上的文件(即使它没有改变)
NXLog always forward file on disk (even if it hasn't change)
我有以下 NXLog 配置,它从磁盘读取文件并将其转发到另一台主机 (syslog)。默认情况下,如果日志文件中的数据发生更改,NXLog 似乎只会转发它。
如何配置 'nxlog.conf' 使其始终转发文件,即使数据相同?
<Input in>
Module im_file
File "C:\myfile.txt"
</Input>
<Output out>
Module om_tcp
Host 127.0.0.1
Port 12345
</Output>
<Route 1>
Path in => out
</Route>
在 NXLog 论坛上进行了一番挖掘后,无法做到这一点。基本上,NXLog 将监视文件(您可以配置频率)的更改并在附加值(或更改)时重新传输。
因此,解决方法是删除该文件并重新写入内容(也许在某个时间表上),让 NXLog 再次转发它。
NXLog 不会从文件中重新读取数据,除非在 nxlog 运行ning 期间更新该文件。
但是还有另一种解决方法。
将 ReadFromLast FALSE
和 SavePos FALSE
添加到 im_file 模块定义中,然后定期 运行 nxlog -c <custom config>
不过,自定义配置必须指定不同的 pid 位置。
我有以下 NXLog 配置,它从磁盘读取文件并将其转发到另一台主机 (syslog)。默认情况下,如果日志文件中的数据发生更改,NXLog 似乎只会转发它。
如何配置 'nxlog.conf' 使其始终转发文件,即使数据相同?
<Input in>
Module im_file
File "C:\myfile.txt"
</Input>
<Output out>
Module om_tcp
Host 127.0.0.1
Port 12345
</Output>
<Route 1>
Path in => out
</Route>
在 NXLog 论坛上进行了一番挖掘后,无法做到这一点。基本上,NXLog 将监视文件(您可以配置频率)的更改并在附加值(或更改)时重新传输。
因此,解决方法是删除该文件并重新写入内容(也许在某个时间表上),让 NXLog 再次转发它。
NXLog 不会从文件中重新读取数据,除非在 nxlog 运行ning 期间更新该文件。
但是还有另一种解决方法。
将 ReadFromLast FALSE
和 SavePos FALSE
添加到 im_file 模块定义中,然后定期 运行 nxlog -c <custom config>
不过,自定义配置必须指定不同的 pid 位置。