我正在尝试使用snmp和ping插件(节点主要是路由器)来使用collectd来监控150台主机的ping时间和接口stream量。 服务器读取统计信息(ping / snmp)并通过rrdtool插件将其写入磁盘。 没有几个主机就没事了 – 但是当我把其中的一百个主机放进去的时候,许多图表 – 尤其是平时的 – 变得分散了,只显示了一小部分的期望值,或者什么也没有。 日志(在debugging级别)显示像下面这样的错误:
rrdtool plugin: rrd_update_r (...) failed: ... illegal attempt to update using time 1393957157 when last update time is 1393957286 (minimum one second step)
相同的站点ping从CLI完全正确。 并报告一些snmp数据(尽pipe不是全部,也不可靠)。
collectd网站上的常见问题提及客户端/服务器时间差异或多个插件正在加载 – 在这种情况下都排除。 运行collectd 5.4.1在CentOS6上。 我试图用无喜的方式将红线/写线抬起来。
编辑 :我从那以后试图激活写石墨插件,我有完全相同的错误graphics在rrd和石墨。 所以这个问题似乎是专门用于ping插件(而不是用磁盘I / O或写入后端)。
编辑2 :失败的主机有(主要) NaN添加到rrd / graphite / cvs文件。
编辑3 :经过多次的试验和错误,我发现当试图向上ping 59个主机时,失败开始,此时collectd进程已经打开了大约63个套接字。 所以似乎有人可能会有超过这个数量的套接字的问题。 但是,这似乎并不是一个硬性限制,因为在插件中configuration了116台主机,我可以看到收集到的118个插槽。 所以它可能是一个线程的事情或在liboping(1.5.1)