以纯文本格式将 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