
我是系統日誌模組的新手。我正在嘗試透過在範本中使用此參數來記錄帶有結構化資料的訊息。但它顯示結構化資料為空值。我正在使用 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 -
有人可以告訴我我做錯了什麼嗎?
答案1
rsyslog 可以發出帶有結構化資料的 RFC5424 訊息。
但是你還有辦法發送RFC5424訊息嗎到系統日誌? -- 如果您直接透過 UDP 或 TLS 記錄訊息,它應該可以工作。但如果您透過傳統的 BSD Syslog 功能進行日誌記錄,則不會有任何結構化數據,也不會出現任何 MSGID。 (AFAIK NetBSD 具有唯一具有 RFC5424 功能的 libc系統日誌()功能。
答案2
我也在努力實現這個目標。我設法找出如何使用範本發出 RFC5424 訊息格式RSYSLOG_SyslogProtocol23Format
。但是,我不知道如何向結構化資料添加欄位。另外,值得一提的是,我使用 syslog-ng 成功發送/接收 RFC5424 格式。