NXLog TCP 模块不工作

NXLog TCP 模块不工作

我正在尝试使用 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

您还应该在那里指定端口。

相关内容