首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NXLog: GELF输出的Json输入

NXLog: GELF输出的Json输入
EN

Stack Overflow用户
提问于 2018-01-09 10:13:32
回答 1查看 1.2K关注 0票数 3

我们有一个程序以遵循GELF规范的格式登录到.Json文件的设置。

目前,这是发送到一个Graylog2服务器使用HTTP。这是可行的,但是由于HTTP的特性,有一个很大的延迟,这是一个问题,如果有大量的日志消息。

--我想将HTTP传递方法更改为UDP,以便“触发并忘记”.

日志被写入如下文件:

代码语言:javascript
运行
复制
{ "short_message": "<message>", "host": "<host>", "full_message": "<message>", "_extraField1": "<value>", "_extraField2": "<value>", "_extraField3": "<value>" }

目前的配置如下:

代码语言:javascript
运行
复制
<Extension json>
    Module xm_json
</Extension>

<Input jsonLogs>
    Module        im_file
    File          '<File Location>'
    PollInterval  5
    SavePos       True
    ReadFromLast  True
    Recursive     False
    RenameCheck   False
    CloseWhenIdle True
</Input>

<Output udp>
    Module        om_udp
    Host          <IP>
    Port          <Port>
    OutputType    GELF_UDP
</Output>

使用此设置,json日志消息的一部分将添加到GELF消息的" message“字段中,并发送到服务器。

我尝试添加` `Exec parse_json()行,但这只会导致排除除short_message和full_message之外的所有字段。

我不知道如何正确配置它。即使将完整的日志消息添加到字段中也更好,因为我可以在服务器端添加提取器。

EN

回答 1

Stack Overflow用户

发布于 2018-01-10 08:34:32

您需要Exec parse_json()才能使GELF_UDP生成正确的输出,但不清楚messagefull/short_message的确切问题是什么。

您可以尝试的另一个选项是,只需通过om_tcp发送日志。在这种情况下,您不需要使用OutputType GELF_TCP,因为它已经以这种方式格式化了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48165862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档