Logstash collectd 编解码器从 collectd 获取空消息
Logstash collectd codec gets empty messages from 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}
我猜 collectd 一定在向我发送事件,但它们是空的。
好吧,经过比我愿意承认的更多的时间,我想通了。您必须为输出指定编解码器,例如:
output {
stdout { codec => json }
}
现在一切正常
您也可以指定 { codec => rubydebug } 或 { codec => json_lines }。只是由于某些奇怪的原因,以纯格式编写它会打印 %{message} 。
我正在尝试使用 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}
我猜 collectd 一定在向我发送事件,但它们是空的。
好吧,经过比我愿意承认的更多的时间,我想通了。您必须为输出指定编解码器,例如:
output {
stdout { codec => json }
}
现在一切正常
您也可以指定 { codec => rubydebug } 或 { codec => json_lines }。只是由于某些奇怪的原因,以纯格式编写它会打印 %{message} 。