Назад | Перейти на главную страницу

Отправка сообщений RFC5452 в / dev / log

Я хотел бы иметь возможность отправлять сообщение в формате RFC5452 в rsyslog, используя /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, и если нет, то как его исправить?