elasticsearch Logstash collectd编解码器从collectd获取空消息,elasticsearch,logstash,collectd,elasticsearch,Logstash,Collectd" /> elasticsearch Logstash collectd编解码器从collectd获取空消息,elasticsearch,logstash,collectd,elasticsearch,Logstash,Collectd" />

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

elasticsearch Logstash collectd编解码器从collectd获取空消息,elasticsearch,logstash,collectd,elasticsearch,Logstash,Collectd,我正在尝试使用collectd编解码器设置日志存储。这是我的配置: collected.conf Hostname "localhost" LoadPlugin interface LoadPlugin load LoadPlugin memory LoadPlugin network <Plugin interface> Interface "eth0" IgnoreSelected false </Plugin> <Plugin netwo

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

collected.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>
但我在日志存储输出中得到的都是这些:

2015-03-05T22:06:35.802+0000本地主机%{message}


我猜collectd一定是在给我发送事件,但它们是空的。

好吧,在我不愿意承认的几个小时之后,我终于明白了。必须为输出指定编解码器,如:

output {
    stdout {  codec => json }
}

现在一切正常了

您也可以指定{codec=>rubydebug}或{codec=>json_line}。只是因为某种奇怪的原因,以普通格式编写它会打印%{message}

我已经在本地实验室设置了collectd,但在elasticsearch中没有创建索引。如果可能,请共享您引用的任何链接。您有时间吗?请检查此链接并更新您的建议?。那对我有很大帮助
output {
    stdout {  codec => json }
}