发送 RFC5452 消息到 /dev/log

发送 RFC5452 消息到 /dev/log

我希望能够使用套接字向 rsyslog 发送 RFC5452 格式的消息/dev/log。我尝试了以下多种变体:

echo "<29>1 2003-10-11T22:14:15Z mymachine.example.com su - ID47 - 'su root' failed for lonvick on /dev/pts/8" | socat - UNIX-SENDTO:/dev/log

但无论我尝试了什么,我认为它似乎都无法成为 RFC5452 消息,而是将其视为较旧且结构较差的格式。更具体地说,上面的行在日志文件中生成了以下行:

<29> t=2015-07-13T08:10:20.542111+00:00 h=vm01[-] a=1 m=- sd='-' msg=' 2003-10-11T22:14:15Z mymachine.example.com su - ID47 -'su root' failed for lonvick on /dev/pts/8'

模板在哪里

$template my-rfc5424,"<%PRI%> t=%TIMESTAMP:::date-rfc3339% h=%HOSTNAME%[%PROCID%] a=%APP-NAME% m=%MSGID% sd='%STRUCTURED-DATA%' msg='%msg%'\n"

%APP-NAME%输出为1- 即后面的字符<29>(如果我将其更改为,2%APP-NAME%也会输出为2)。所有其他字段都输出为-,然后消息本身就是其他所有内容,包括前导空格和所有内容。

这难道不是有效的 RFC5452 格式的消息吗?如果不是,那么应如何将其修复为有效的 RFC5452 格式的消息?

相关内容