通过 nxlog 将 .log 文件转发到 Graylog2 VM 服务器

Posted

技术标签:

【中文标题】通过 nxlog 将 .log 文件转发到 Graylog2 VM 服务器【英文标题】:Forward .log file via nxlog to Graylog2 VM server 【发布时间】:2016-05-25 09:51:36 【问题描述】:

我正处于尝试使用 Graylog2 的阶段。我的目标是通过 graylog2 网页查看应用程序日志。 该应用程序托管在 Windows 服务器上,日志文件为 ABC.log。 nxlog 服务配置了多行标头,以强制异常消息进入单个日志条目。输出是标准的 GELF_UDP。

问题是我只能从 Graylog2 网页看到每个日志条目的开头,即每个日志事件开头的 30-50 个字符。

所以我为 nxlog 配置了第二条路由,以在发送到 Graylog2 VM 服务器之前检查本地输出。它显示了差异:

本地文件: 10:12:25.835: public class WebClient private void ExecuteClient() 接受用户登录:ABC 正常事件

Graylog2 网页: 10:12:25.835: 公共类 WebClient 私有 void ExecuteClient(

发送到服务器的日志在 30-50 个字符后丢失。我正在检查几天没有线索。

感谢您的帮助!

【问题讨论】:

【参考方案1】:

GELF 有这种短消息与完整消息的概念,这有点尴尬。 这应该可以解决它:

Exec $ShortMessage = $raw_event;

【讨论】:

非常感谢!我将代码放在 nxlog.conf GELF 输出中,它对我有用。

以上是关于通过 nxlog 将 .log 文件转发到 Graylog2 VM 服务器的主要内容,如果未能解决你的问题,请参考以下文章

如何从 nxlog 转发的日志中删除 N/A?

ELK系列~log4-nxlog-Fluentd-elasticsearch写json数据需要注意的几点

NXLog TCP 模块不工作

nxlog 进程根据文件名记录文件

通过 Nxlog 配置将日志发送到特定的 Graylog 索引

NXLog 和长消息