I have the same problem.
Can't get the network Plugin to work properly with only one value to be tranmitted.
I followed the Guide https://collectd.org/wiki/index.php/Troubleshooting

In my case rrd's getting created on the server but updated every 3-4 minutes without a graph displayed.

My client collectd.conf:
Hostname "***"
FQDNLookup true
TypesDB "/usr/share/collectd/types.db"
Interval 2

LoadPlugin syslog
LoadPlugin network
LoadPlugin exec

<Plugin exec>
 Interval 2
 Exec "pi:pi" "/bin/bash" "/etc/collectd/test.sh"
</Plugin>

<Plugin network>
 Server "10.0.0.1"
</Plugin>

The test.sh:
#!/bin/bash
while true; do
 echo "PUTVAL ***/env/gauge-test interval=5 N:2"
 sleep 5
done

test.sh is running, no errors at syslog.
If I use tcpdump on client side like it's described at the guide it flushes every 3-4 minutes a huge
block containing all informations to the server at once.
So all updates to one rrd in between the 3-4 minutes get transferred to the server simultanously. None of them get saved to the rrd on the server because:
[2015-07-05 18:14:26] rrdtool plugin: rrd_update_r 
(/var/cache/rrd/***/env/gauge-test.rrd) failed: 
/var/cache/rrd/***/env/gauge-test.rrd: illegal attempt to update using time 
1436112865 when last update time is 1436112865 (minimum one second step)

I think there is a bug with output buffers inside the network plugin.
Changing the Interval didn't affect this behavior at all.

I'am trying to fix it by transmitting useless stuff too by enabling serveral plugins too. I think the buffer gets filled faster with different values wich speeds up the flush rate and pads the values to prevent two updates to one rrd in one request... :-) It really looks like the way to deal with and proves my theory with buffering issue inside the network plugin.

Best regards Jan

_______________________________________________
collectd mailing list
collectd@verplant.org
http://mailman.verplant.org/listinfo/collectd

Reply via email to