Logstash collectd编解码器从collectd获取空消息

时间:2015-03-05 22:15:13

标签: elasticsearch logstash collectd

我正在尝试使用collectd编解码器设置logstash。这是我的配置:

collectd.conf

Hostname    "localhost"
LoadPlugin interface
LoadPlugin load
LoadPlugin memory
LoadPlugin network
<Plugin interface>
    Interface "eth0"
    IgnoreSelected false
</Plugin>
<Plugin network>
    <Server "127.0.0.1" >
    </Server>
</Plugin>

logstash.conf

input {
        udp {
                port => 25826
                buffer_size => 1452
                codec => collectd { }
                type => "collectd"
        }
}
output {
        stdout {}
}

但我在logstash输出中得到的很多都是:

  

2015-03-05T22:06:35.802 + 0000 localhost%{message}

我猜每个人都必须向我发送事件,但它们都是空的。

2 个答案:

答案 0 :(得分:2)

好的,经过比我承认的更多时间,我明白了。您必须为输出指定编解码器,例如:

output {
    stdout {  codec => json }
}

现在一切正常

答案 1 :(得分:1)

您可以指定{codec =&gt; rubydebug}或{codec =&gt; json_lines}也是。只是因为某种奇怪的原因,以纯文本格式编写它会打印%{message}。