我试图使用rsyslog将内核日志(/var/log/messages)导出到远程Syslog服务器。
我需要以各种标准格式导出,如RFC3339、RFC3164和RFC5424。有人能告诉我如何解决这个问题吗?我认为需要使用这个属性:
# Use default timestamp format
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
发布于 2022-05-26 11:14:24
在您的问题中使用的格式不推荐。您仍然可以使用它,但是如果您从头开始编写配置,我建议您使用新的“高级”rsyslog格式。
template(name="someName" type="string" string="messageFormat")
RFC3339消息模板:
template(name"RFC3339_Format" type="string"
string=""%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n""
)
RFC3164消息模板:
template(name="RFC3164_Format" type="string"
string="<%PRI%>%TIMESTAMP:::date-rfc3339% %HOSTNAME% %syslogtag:1:32%%msg:::sp-if-no-1st-sp%%msg%\n"
)
用户注意: sysklogd不支持RFC3164格式,这是rsyslog中的默认转发模板。
RFC5424消息模板:
template(name="RSYSLOG_SyslogProtocol23Format" type="string"
string="<%PRI%>1 %TIMESTAMP:::date-rfc3339% %HOSTNAME% %APP-NAME% %PROCID% %MSGID% %STRUCTURED-DATA% %msg%\n"
)
在ietf的internet草案-ietf- syslog协议-23中指定的格式,它非常接近实际的syslog标准RFC5424。这种格式包括几项改进。您可以将此格式用于所有相对较新的rsyslog或syslogd.
的最新版本。
https://stackoverflow.com/questions/72389726
复制相似问题