NXLog TCP 模块不工作

Posted

技术标签:

【中文标题】NXLog TCP 模块不工作【英文标题】:NXLog TCP Module Not Working 【发布时间】:2016-01-22 01:55:29 【问题描述】:

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

对于“to”计算机,根据文档,如果没有指定 Host,则默认为 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

当我在“to”计算机上启动 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】:

决定这是一个更适合 ServerFault 的问题,因此我将其发布到那里收到了有效的答案。可以找到here

【讨论】:

以上是关于NXLog TCP 模块不工作的主要内容,如果未能解决你的问题,请参考以下文章

您可以为 nxlog 创建自定义过滤器模块或函数吗?

sysmon 到 nxlog 不记录任何文件或 tcp

将 Perl 与 xm_perl 模块一起使用时出错

Nginx支持TCP代理和负载均衡-stream模块

如何使 AT 命令在 arduino 中为 ESP8266 wifi 模块以编程方式工作

TCP--IP 实战IMCP