我試圖配置一個rsyslog服務器以接收來自docker容器的日誌。我目前usinsg以下突擊隊運行泊塢窗容器:Docker rsyslog驅動程序在實際消息之前添加消息長度
sudo docker run -d --log-driver=syslog --log-opt syslog-address=udp://localhost:514 --log-opt syslog-format=rfc5424 --log-opt tag="remote:shouldshow" alpine echo "some random message"
我使用rfc5424因爲碼頭工人的標準日誌格式rsyslog現在休息的冒號的消息,劈裂標籤遠程:shouldshow和添加應顯示的消息。 https://github.com/docker/docker/issues/18712
的問題是,我從碼頭工人過來日誌消息有消息前附加的三位數字,如127下面的例子(從rsyslog現在rawmsg屬性):
對這種情況更多資訊127 <30>1 2016-07-12T00:51:13-03:00 vitor-Lenovo-G50-70 docker/remote:shouldshow 2910 docker/remote:shouldshow some random message
當我嘗試使用像APP-NAME或syslogtag這樣的系統日誌屬性時,它們都具有< 30> 1作爲其值。
我抄這條消息沒有127,它通過netcat的發送到syslog服務器,值正確分析,像這樣:
echo '<30>1 2016-07-12T00:15:53-03:00 vitor-Lenovo-G50-70 docker/remote:shouldshow 2910 docker/remote:shouldshow some random message' | nc -u -v localhost 514
任何人有任何想法,爲什麼發生這種情況?任何幫助將非常感激。提前致謝。
尋找碼頭代碼我發現這三位數字是郵件的長度。儘管如此,我仍面臨同樣的問題,rsyslog無法正確解析此消息,包括它在實際日誌消息之前的長度。