Search code examples
elasticsearchlogstashcollectd

Logstash collectd codec gets empty messages from collectd


I am trying to set up logstash with the collectd codec. This is my configuration:

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 {}
}

but all I get in my logstash output is lots of these:

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

I guess collectd must be sending me events, but they are empty.


Solution

  • Ok, after more hours than I care to admit to, I figured it out. You must specify a codec for the output, like:

    output {
        stdout {  codec => json }
    }
    

    Now everything works fine