以纯文本格式将 Logstash 发送到 RabbitMQ [否JSON]
Send Logstash to RabbitMQ in plain text format [no JSON]
我正在尝试将一个事件从 logstash 发送到 rabbitmq。它有效,但是默认情况下事件正在获得 "jsoned" 。例如,如果我的消息是 ABC,RabbitMQ 获取有效负载为,
{"message":"abc"}
我只希望负载简单 "abc"。我怎样才能做到这一点 ?
我的 logstash 配置如下:
output{
stdout{
codec => rubydebug
}
rabbitmq {
codec => json {charset =>"UTF-8"}
host => "192.100.12.23"
password => "guest"
port => 5672
user => "guest"
vhost => "/"
exchange => "myxchange"
key => "mykey"
exchange_type => "direct"
durable => true
persistent => true
}
}
我尝试更改
codec => json {charset =>"UTF-8"}
到
codec => plain {charset =>"UTF-8"}
这给了我以下错误:
Error encoding event {:exception=>#<NoMethodError: undefined method `to_iso8601' for nil:NilClass>
您应该使用 LogStash 过滤器,文档是 here。
我正在尝试将一个事件从 logstash 发送到 rabbitmq。它有效,但是默认情况下事件正在获得 "jsoned" 。例如,如果我的消息是 ABC,RabbitMQ 获取有效负载为,
{"message":"abc"}
我只希望负载简单 "abc"。我怎样才能做到这一点 ?
我的 logstash 配置如下:
output{
stdout{
codec => rubydebug
}
rabbitmq {
codec => json {charset =>"UTF-8"}
host => "192.100.12.23"
password => "guest"
port => 5672
user => "guest"
vhost => "/"
exchange => "myxchange"
key => "mykey"
exchange_type => "direct"
durable => true
persistent => true
}
}
我尝试更改
codec => json {charset =>"UTF-8"}
到
codec => plain {charset =>"UTF-8"}
这给了我以下错误:
Error encoding event {:exception=>#<NoMethodError: undefined method `to_iso8601' for nil:NilClass>
您应该使用 LogStash 过滤器,文档是 here。