我們無法通過imudp將消息發送到rsyslog。我們的消息包含冒號(「:」),但imudp似乎將其用作分隔符。Rsyslog imudp拆分包含冒號的郵件
我們是否可以禁用分隔符,以便將整個消息讀入單個字段?
如果這不是因爲imudp,有人能指出實際問題在哪裏嗎?模板構建有問題嗎?
INPUT
echo "deploys.test.myservice:4|c" | nc -w0 -u localhost 12345
rsyslog現在模板
template(name="json_lines" type="list" option.json="on") { constant(value="{ \"timestamp\":\"") property(name="timestamp" dateFormat="rfc3339") constant(value="\",\"message\":\"") property(name="msg") constant(value="\",\"host\":\"") property(name="hostname") constant(value="\",\"type\":\"") property(name="syslogtag") constant(value="\"}") }
輸出
{ "timestamp":"2016-11-22T16:15:15.773754+05:30", "message":"4|c", "host":"localhost", "type":"deploys.test.myservice:" }
提前感謝!
感謝您的回答,@deoren,看起來像它會做我想做的,但在這一點上我不能檢查它,因爲它太長了,我沒有安裝方便。只要我找到一個免費的週末,我會盡快給你一個機會。 – galactocalypse
不客氣。如果遇到實施更改的問題,請參閱[郵件列表](http://lists.adiscon.net/mailman/listinfo/rsyslog)和[論壇](http://kb.monitorware.com/rsyslog-f40。 html)是很好的資源,以及這裏的StackExchange站點。 – deoren