Я новичок в модуле системного журнала. Я пытаюсь регистрировать сообщения со структурированными данными, используя этот параметр в шаблоне. Но для структурированных данных он показывает нулевое значение. Я работаю с rsyslogd 5.8.11 и rsyslogd 4.8.4, и для обеих версий я получаю одинаковые результаты.
Я использую шаблон:
"<%PRI%>%TIMESTAMP:::date-rfc3339%%HOSTNAME%%syslogtag%%APP-NAME%%PROCID%%MSGID% %msg% %STRUCTURED-DATA%\n”
получение формата сообщения, как показано ниже:
<142> 2015-01-29T06:43:53.081641-05:00 localhost login[2116]: login 2116 - [2116 : 2116 INFO]SERIAL Login from IP:127.0.0.1 user:admin -
может кто-нибудь сказать мне, что я делаю не так?. Я просто хочу записать сообщение со структурированными данными с SD-ID, SD-PARAM в файл журнала.
rsyslog может отправлять сообщения RFC5424 со структурированными данными.
Но есть ли у вас способ отправлять сообщения RFC5424 к rsyslog? - Он должен работать, если вы регистрируете свои сообщения напрямую через UDP или TLS. Но если вы входите в систему с помощью традиционных функций системного журнала BSD, то не будет ни структурированных данных, ни MSGID. (AFAIK NetBSD имеет единственную библиотеку с поддержкой RFC5424 с syslogp () функция.)
Я тоже пытаюсь этого добиться. Мне удалось узнать, как передать формат сообщения RFC5424 с помощью шаблона RSYSLOG_SyslogProtocol23Format
. Однако я не знаю, как добавлять поля к структурированным данным. Кроме того, чего стоит, я успешно отправляю / получаю формат RFC5424 с помощью syslog-ng.