通过 HTTP 转发 Rsyslog
Rsyslog forwarding over HTTP
我希望 rsyslog 通过 HTTP 将日志消息转发到将处理它们的服务。
我没有看到 Rsyslog 的确切 http-forwarding 模块,我不想在另一个端口上创建另一个侦听器来处理传入的 TCP 连接,因为TCP 输出模块需要它。
是否可以通过 HTTP 处理程序处理 Rsyslog 消息或有哪些替代方法?
有一个名为 omhttp 的新输出模块。我也在研究它,但很难找到文档。
https://github.com/rsyslog/rsyslog/issues/3024
编辑:更新的文档在这里
https://www.rsyslog.com/doc/v8-stable/configuration/modules/omhttp.html#message-batching
从 rsyslog 版本 8.2202 开始,有 omhttp
模块。
这是您需要在 /etc/rsyslog.conf:
中实现的示例
# include the omhttp module
module(load="omhttp")
# template for each indivdual message, not the format of the resulting batch
template(name="tpl_omhttp_forwarding" type="string" string="%msg%")
# action to send ALL log (files) messages via http
*.* {
action(
type="omhttp"
server="192.1.1.1"
serverport="443"
template="tpl_omhttp_forwarding"
batch="on"
batch.format="jsonarray"
batch.maxsize="10"
action.resumeRetryCount="-1"
)
}
omhttp
的所有动作参数,你可以找到here
注意:
根据您使用的 OS,您可能需要自己构建它,或者使用存储库 here。
对于某些平台,由于缺少或太旧的依赖项,没有 omhttp
包。
我希望 rsyslog 通过 HTTP 将日志消息转发到将处理它们的服务。
我没有看到 Rsyslog 的确切 http-forwarding 模块,我不想在另一个端口上创建另一个侦听器来处理传入的 TCP 连接,因为TCP 输出模块需要它。
是否可以通过 HTTP 处理程序处理 Rsyslog 消息或有哪些替代方法?
有一个名为 omhttp 的新输出模块。我也在研究它,但很难找到文档。
https://github.com/rsyslog/rsyslog/issues/3024
编辑:更新的文档在这里 https://www.rsyslog.com/doc/v8-stable/configuration/modules/omhttp.html#message-batching
从 rsyslog 版本 8.2202 开始,有 omhttp
模块。
这是您需要在 /etc/rsyslog.conf:
中实现的示例# include the omhttp module
module(load="omhttp")
# template for each indivdual message, not the format of the resulting batch
template(name="tpl_omhttp_forwarding" type="string" string="%msg%")
# action to send ALL log (files) messages via http
*.* {
action(
type="omhttp"
server="192.1.1.1"
serverport="443"
template="tpl_omhttp_forwarding"
batch="on"
batch.format="jsonarray"
batch.maxsize="10"
action.resumeRetryCount="-1"
)
}
omhttp
的所有动作参数,你可以找到here
注意:
根据您使用的 OS,您可能需要自己构建它,或者使用存储库 here。
对于某些平台,由于缺少或太旧的依赖项,没有 omhttp
包。