【发布时间】:2019-08-21 23:40:38
【问题描述】:
我们无法通过 imudp 向 rsyslog 发送消息。我们的消息包含一个冒号(“:”),但 imudp 似乎使用它作为分隔符。
我们可以禁用分隔符,以便将整个消息读入单个字段吗?
如果这不是因为 imudp,有人可以指出实际问题出在哪里吗?是不是模板构造有问题?
输入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:"
}
提前致谢!
【问题讨论】: