我正在尝试使用 NXLog 将日志从一台计算机上的文件转发到另一台计算机上的文件。我是 NXLog 的新手,但在查阅文档后,我感觉我已经掌握了它。下面是我的配置文件,首先是“从”计算机,然后是“到”计算机。但是,它似乎不起作用。
我认为问题在于以下一个或多个方面:
NXLog 配置文件 AWS Windows ec2 box ip/port 设置网络设置 以下是我所做的:
“来自”计算机 NXLog 配置文件:
define ROOT C:\Program Files (x86)\nxlog
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
LogFile %ROOT%\data\nxlog.log
<Extension _syslog>
Module xm_syslog
</Extension>
<Input file>
Module im_file
File "C:\Logs\AllLogItems.txt"
InputType LineBased
</Input>
<Output tcp>
Module om_tcp
Host 52.91.47.52
Port 3389
OutputType LineBased
</Output>
<Route 1>
Path file => tcp
</Route>
“到”计算机 NXLog 配置文件:
define ROOT C:\Program Files (x86)\nxlog
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
LogFile %ROOT%\data\nxlog.log
<Extension _syslog>
Module xm_syslog
</Extension>
<Input in>
Module im_tcp
InputType LineBased
</Input>
<Output out>
Module om_file
File "C:\Users\Administrator\logs\\nxlog_test.txt"
CreateDir FALSE
Truncate FALSE
OutputType LineBased
</Output>
<Route 1>
Path in => out
</Route>
对于“目标”计算机,根据文档,如果没有指定主机,则默认为 localhost。
当我在“来自”计算机上启动 NXLog 服务时,日志如下所示:
2016-01-21 19:37:05 INFO nxlog-ce-2.9.1504 started
2016-01-21 19:37:05 INFO connecting to 52.91.47.52:3389
然后,当我运行将写入日志的应用程序(这将导致 nxlog 做出反应)时,nxlog 日志如下所示:
2016-01-21 19:37:05 INFO nxlog-ce-2.9.1504 started
2016-01-21 19:37:05 INFO connecting to 52.91.47.52:3389
2016-01-21 19:40:25 INFO reconnecting in 1 seconds
2016-01-21 19:40:26 INFO connecting to 52.91.47.52:3389
当我在“目标”计算机上启动 NXLog 时,一切似乎都很好,因为 nxlog 日志文件如下所示:
2016-01-22 01:05:04 INFO nxlog-ce-2.9.1504 started
现在,“目标”计算机是 AWS ec2 Windows 机器。我在 nxlog 中使用的端口 (3389) 是分配给实例的 RDP 端口:
我的想法是,即使 nxlog 日志没有显示错误,这个端口也会导致问题,因为它可能正在使用中。因此,我尝试打开更多 tcp 端口(5000-5010),如图所示。但是,当我在 nxlog 配置文件中尝试这些端口(5000-5010)中的任何一个时,我收到此错误:
2016-01-21 19:50:32 INFO nxlog-ce-2.9.1504 started
2016-01-21 19:50:32 INFO connecting to 52.91.47.52:5005
2016-01-21 19:50:53 INFO reconnecting in 1 seconds
2016-01-21 19:50:53 ERROR couldn't connect to tcp socket on 52.91.47.52:5005; A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
我有点预料到了这一点,因为当我访问 yougetsignal.com 这样的网站时,它仍然显示端口 5000-5010 已关闭。所以这可能是一个问题。
我已经尝试调试这个问题好几天了,但已经没有其他选择了。谢谢你的帮助。
答案1
对于“目标”计算机,根据文档,如果没有指定主机,则默认为 localhost。
是的,但是 localhost(通常为 127.0.0.1)无法从外部访问,因此您需要让它监听可访问的地址。您的 im_tcp 输入实例需要以下内容:
Host 0.0.0.0
您还应该在那里指定端口。