Logstash Collectd-随机缺失';输入#u实例';领域

Logstash Collectd-随机缺失';输入#u实例';领域,logstash,collectd,Logstash,Collectd,我在Ubuntu 14.04系统上使用Collectd5.4以及logstash、elasticsearch和kibana进行监控。我的collectd配置文件如下所示: Hostname "my-host-name" Interval 1 LoadPlugin cpu LoadPlugin load LoadPlugin df LoadPlugin memory LoadPlugin swap LoadPlugin interface <Plugin interface>

我在Ubuntu 14.04系统上使用
Collectd5.4
以及
logstash
elasticsearch
kibana
进行监控。我的
collectd
配置文件如下所示:

Hostname "my-host-name"

Interval 1

LoadPlugin cpu
LoadPlugin load
LoadPlugin df
LoadPlugin memory
LoadPlugin swap

LoadPlugin interface
<Plugin interface>
    Interface "eth0"
    IgnoreSelected false
</Plugin>

LoadPlugin network
<Plugin network>
    Server "127.0.0.1" "25826"
</Plugin>

查看给定输出的第一行。没有
type\u实例
字段。预期的行为是有
“type\u instance”:“used”
。它只在
已使用的
字段中发生,并且是随机发生的。在我启用
df
插件之前,一切正常。

我希望这个答案仍然有用
我也遇到了同样的问题,通过修复logstash的collectd插件解决了这个问题
我使用了collectd 5.4.1和logstash 1.4.2

1。原因

正如您所说,当您同时使用df和内存插件时,问题就会发生
这是一个问题场景

假设collectd在一个UDP数据包中按顺序设置以下df和内存数据

{“@version”:“1”,“timestamp”:“2014-10-31T06:04:08.371Z”,“host”:“example”,“type_instance”:“used”,“plugin”:“df”,“plugin_instance”:“root”,“collectdu type”:“df_complex”,“value”:5076176896.0}

{“@version”:“1”,“@timestamp”:“2014-10-31T06:04:08.371Z”,“host”:“示例”,“type_实例”:“used”,“plugin”:“memory”,“collected_type”:“memory”,“value”:7530356736.0}

collectd UDP协议如果以前在UDP数据包中设置了相同的数据,则不会设置相同的数据(可能是为了最小化数据包大小)

所以,因为collectd在df数据中将“type_instance”设置为“used”,所以它不会在内存数据中再次设置“type_instance”。(参见协议规范:)

但是,当“plugin”值更改时,logstash collectd plugin会将“type_instance”重置为空白

2。如何解决问题

collectd插件是用jruby编写的。因此,您可以轻松修复源代码
编辑lib/logstash/inputs/collectd.rb
找到以下两行并修复它们

发件人:
411行:@collectd.delete(k)if!['host','@timestamp'].包括?(k)
417行:@collected.delete(k)if!['host'、'@timestamp'、'plugin'、'plugin_instance']包括?(k)

致:
411行:@collectd.delete(k)if!['host','@timestamp','type_instance']包括?(k)
417行:@collected.delete(k)if!['host'、'@timestamp'、'plugin'、'plugin_instance'、'type_instance']包括?(k)


修复后,问题消失了。

我希望这个答案仍然有用
我也遇到了同样的问题,通过修复logstash的collectd插件解决了这个问题
我使用了collectd 5.4.1和logstash 1.4.2

1。原因

正如您所说,当您同时使用df和内存插件时,问题就会发生
这是一个问题场景

假设collectd在一个UDP数据包中按顺序设置以下df和内存数据

{“@version”:“1”,“timestamp”:“2014-10-31T06:04:08.371Z”,“host”:“example”,“type_instance”:“used”,“plugin”:“df”,“plugin_instance”:“root”,“collectdu type”:“df_complex”,“value”:5076176896.0}

{“@version”:“1”,“@timestamp”:“2014-10-31T06:04:08.371Z”,“host”:“示例”,“type_实例”:“used”,“plugin”:“memory”,“collected_type”:“memory”,“value”:7530356736.0}

collectd UDP协议如果以前在UDP数据包中设置了相同的数据,则不会设置相同的数据(可能是为了最小化数据包大小)

所以,因为collectd在df数据中将“type_instance”设置为“used”,所以它不会在内存数据中再次设置“type_instance”。(参见协议规范:)

但是,当“plugin”值更改时,logstash collectd plugin会将“type_instance”重置为空白

2。如何解决问题

collectd插件是用jruby编写的。因此,您可以轻松修复源代码
编辑lib/logstash/inputs/collectd.rb
找到以下两行并修复它们

发件人:
411行:@collectd.delete(k)if!['host','@timestamp'].包括?(k)
417行:@collected.delete(k)if!['host'、'@timestamp'、'plugin'、'plugin_instance']包括?(k)

致:
411行:@collectd.delete(k)if!['host','@timestamp','type_instance']包括?(k)
417行:@collected.delete(k)if!['host'、'@timestamp'、'plugin'、'plugin_instance'、'type_instance']包括?(k)


修复后,问题消失了。

我希望这个答案仍然有用
我也遇到了同样的问题,通过修复logstash的collectd插件解决了这个问题
我使用了collectd 5.4.1和logstash 1.4.2

1。原因

正如您所说,当您同时使用df和内存插件时,问题就会发生
这是一个问题场景

假设collectd在一个UDP数据包中按顺序设置以下df和内存数据

{“@version”:“1”,“timestamp”:“2014-10-31T06:04:08.371Z”,“host”:“example”,“type_instance”:“used”,“plugin”:“df”,“plugin_instance”:“root”,“collectdu type”:“df_complex”,“value”:5076176896.0}

{“@version”:“1”,“@timestamp”:“2014-10-31T06:04:08.371Z”,“host”:“示例”,“type_实例”:“used”,“plugin”:“memory”,“collected_type”:“memory”,“value”:7530356736.0}

collectd UDP协议如果以前在UDP数据包中设置了相同的数据,则不会设置相同的数据(可能是为了最小化数据包大小)

所以,因为collectd在df数据中将“type_instance”设置为“used”,所以它不会在内存数据中再次设置“type_instance”。(参见协议规范:)

但是,当“plugin”值更改时,logstash collectd plugin会将“type_instance”重置为空白

2。如何解决问题

collectd插件是用jruby编写的。因此,您可以轻松修复源代码
编辑lib/logstash/inputs/collectd.rb
找到以下两行并修复它们

发件人:
411行:@collectd.delete(k)if!['host','@timestamp'].包括?(k)
417行:@collected.delete(k)if!['host'、'@timestamp'、'plugin'、'plugin_instance']包括?(k)

致:
411里
{"@version":"1","@timestamp":"2014-09-04T07:20:42.143Z","host":"my-host","plugin":"memory","collectd_type":"memory","value":6250332160.0}
{"@version":"1","@timestamp":"2014-09-04T07:20:42.143Z","host":"my-host","plugin":"memory","collectd_type":"memory","type_instance":"buffered","value":55103488.0}
{"@version":"1","@timestamp":"2014-09-04T07:20:42.143Z","host":"my-host","plugin":"memory","collectd_type":"memory","type_instance":"cached","value":1283186688.0}
{"@version":"1","@timestamp":"2014-09-04T07:20:42.143Z","host":"my-host","plugin":"memory","collectd_type":"memory","type_instance":"free","value":665567232.0}