【问题标题】:How to send json syslog messages to a remote host with ulogd2如何使用 ulogd2 将 json syslog 消息发送到远程主机
【发布时间】:2021-12-20 10:27:43
【问题描述】:

我正在开发一个使用 ulogd2 记录连接跟踪事件的项目。我想知道是否有任何方法可以将消息以 JSON 格式发送到远程主机。到目前为止,我能够将消息保存到本地服务器上的 JSON 文件中,但我不想将其保存在本地机器中,我只想发送它。或者,如果有办法发送文件,然后将其删除。 非常感谢您的帮助。

【问题讨论】:

    标签: json linux rsyslog


    【解决方案1】:

    通常 syslog 日志通过其中一种 syslog 网络协议发送到远程服务器,rsyslog 通常用于此目的。在接收端也可以使用rsyslog将其收集到远程服务器的syslog中。

    在接收端,您还可以使用fluentd 之类的工具来收集系统日志消息并将它们作为 JSON 写入文件,或者对它们进行许多其他处理。另一个可以执行此操作的工具称为filebeat

    您还可以在创建日志的服务器上安装工具,而不是 rsyslog,如果您愿意,您可以将其配置为通过 syslog 协议以外的其他方法发送它们。 Filebeat 可以做到这一点,fluent bit(fluentd 的轻量级版本)也可以。

    【讨论】:

    • 嗨穴居人,感谢您的留言和帮助。是的,我知道如何通过 rsyslog 发送消息,但问题是关于 ulogd,它允许保存 json 文件或通过 rsyslog 以平面文本形式发送消息。
    • @sebastianmontes 对不起,我的错,我误解了。 ulogd2 似乎无法将 JSON 输出到文件以外的任何内容。您仍然可以使用 filebeat、fluentd 或 fluent bit,因为它们都允许您将文件指定为输入。当日志文件更新时,它们将使用新行并发送对它们进行操作。在这种情况下,为这个日志文件配置 logrotate 也可能很方便,以防它变得很多
    • 是的!我这样做了。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2017-01-03
    • 2020-02-20
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-21
    • 2016-01-12
    相关资源
    最近更新 更多