RRDcached: port-id*-dot3.rrd not created nor recreated by rrdcached

RRDcached works fine with all graphs except for ports for which POE was recognized (asking myself sometimes also why). Syslog captures a "handle_request_update failure (cannot find the respective -ds3.rrd) and the consequent rrd creation also fails. I checked authorization etc, but all ok (for all other rrd’s it works anyhow). Since I don’t know the dependencies between port-id-poe.rrd and port-id*-dot3.rrd I am now stuck with my investigation.
I can cheat by creating the file port-id*-dot3.rrd manually. Then there is no error message. But the port-id*poe.rrd is also not updated anymore. Since this issue is with about 600 ports, I would be happy if I don’t have to cheat for all. Background explanation and / or a concrete fix would be highly appreciated.

Using one Server/VM as an example. Attached a syslog extract, poller extract and a list of the rrd files created.

LibreNMS | 1.37-71-g96a4a71
DB Schema | 240
PHP | 7.2.3-1+ubuntu16.04.1+deb.sury.org+1
MySQL | 5.7.21-0ubuntu0.16.04.1
RRDTool | 1.5.5
Poller Extract:

Port eth0: Microsoft Corporation Device 0003 (2 / #247517) ifHCInOctets ifHCOutOctets ifHCInUcastPkts ifHCOutUcastPkts ifInBroadcastPkts ifOutBroadcastPkts ifHCInMulticastPkts ifOutMulticastPkts ifHighSpeed dot3Duplex VLAN == Using ifDescr as ifAliasMicrosoft Corporation Device 0003
ifInOctets (92435 B) 770.29166666667 Bps 120 secs
ifOutOctets (24830 B) 206.91666666667 Bps 120 secs
ifInErrors (0 B) 0 Bps 120 secs
ifOutErrors (0 B) 0 Bps 120 secs
ifInUcastPkts (111 B) 0.925 Bps 120 secs
ifOutUcastPkts (111 B) 0.925 Bps 120 secs
ifInNUcastPkts (0 B) 0 Bps 120 secs
ifOutNUcastPkts (0 B) 0 Bps 120 secs
ifInDiscards (0 B) 0 Bps 120 secs
ifOutDiscards (0 B) 0 Bps 120 secs
ifInUnknownProtos (0 B) 0 Bps 120 secs
ifInBroadcastPkts (0 B) 0 Bps 120 secs
ifOutBroadcastPkts (0 B) 0 Bps 120 secs
ifInMulticastPkts (807 B) 6.725 Bps 120 secs
ifOutMulticastPkts (0 B) 0 Bps 120 secs
bps(6.160kbps/1.660kbps)bytes(90.270kB/24.250kB)pkts(0.930pps/0.930pps)RRD[ [0;32mlast duisburg.dcn.local/port-id247517.rrd --daemon unix:/var/run/rrdcached.sock [0m]
RRD[ [0;32mupdate duisburg.dcn.local/port-id247517.rrd N:2044332583:290092718:0:0:1392430:1336106:U:U:0:0:U:0:0:17850475:0 --daemon unix:/var/run/rrdcached.sock [0m]
RRD[ [0;32mlast duisburg.dcn.local/port-id247517-dot3.rrd --daemon unix:/var/run/rrdcached.sock [0m]
RRD[ [0;32mcreate duisburg.dcn.local/port-id247517-dot3.rrd --step 300 RRA:AVERAGE:0.5:1:2016 RRA:AVERAGE:0.5:6:1440 RRA:AVERAGE:0.5:24:1440 RRA:AVERAGE:0.5:288:1440 RRA:MIN:0.5:1:720 RRA:MIN:0.5:6:1440 RRA:MIN:0.5:24:775 RRA:MIN:0.5:288:797 RRA:MAX:0.5:1:720 RRA:MAX:0.5:6:1440 RRA:MAX:0.5:24:775 RRA:MAX:0.5:288:797 RRA:LAST:0.5:1:1440 -O --daemon unix:/var/run/rrdcached.sock [0m]
RRD[ [0;32mupdate duisburg.dcn.local/port-id247517-dot3.rrd N --daemon unix:/var/run/rrdcached.sock [0m]
EtherLike RRD[ [0;32mlast duisburg.dcn.local/port-id247517-poe.rrd --daemon unix:/var/run/rrdcached.sock [0m]
RRD[ [0;32mupdate duisburg.dcn.local/port-id247517-poe.rrd N:U:U:U:U --daemon unix:/var/run/rrdcached.sock [0m]
PoE SQL[ [0;33mUPDATE ports set poll_time =β€˜1520589162’,poll_prev =β€˜1520589042’,poll_period =β€˜120’,ifLastChange =β€˜0’,ifInOctets =β€˜2044332583’,ifInOctets_prev =β€˜2044240148’,ifInOctets_rate =β€˜770.29166666667’,ifInOctets_delta =β€˜92435’,ifOutOctets =β€˜290092718’,ifOutOctets_prev =β€˜290067888’,ifOutOctets_rate =β€˜206.91666666667’,ifOutOctets_delta =β€˜24830’,ifInErrors =β€˜0’,ifInErrors_prev =β€˜0’,ifInErrors_rate =β€˜0’,ifInErrors_delta =β€˜0’,ifOutErrors =β€˜0’,ifOutErrors_prev =β€˜0’,ifOutErrors_rate =β€˜0’,ifOutErrors_delta =β€˜0’,ifInUcastPkts =β€˜1392430’,ifInUcastPkts_prev =β€˜1392319’,ifInUcastPkts_rate =β€˜0.925’,ifInUcastPkts_delta =β€˜111’,ifOutUcastPkts =β€˜1336106’,ifOutUcastPkts_prev =β€˜1335995’,ifOutUcastPkts_rate =β€˜0.925’,ifOutUcastPkts_delta =β€˜111’ WHERE port_id = β€˜247517’ [0m]
SQL[ [0;33mUPDATE ports_statistics set ifInNUcastPkts =β€˜0’,ifInNUcastPkts_prev =β€˜0’,ifInNUcastPkts_rate =β€˜0’,ifInNUcastPkts_delta =β€˜0’,ifOutNUcastPkts =β€˜0’,ifOutNUcastPkts_prev =β€˜0’,ifOutNUcastPkts_rate =β€˜0’,ifOutNUcastPkts_delta =β€˜0’,ifInDiscards =β€˜0’,ifInDiscards_prev =β€˜0’,ifInDiscards_rate =β€˜0’,ifInDiscards_delta =β€˜0’,ifOutDiscards =β€˜0’,ifOutDiscards_prev =β€˜0’,ifOutDiscards_rate =β€˜0’,ifOutDiscards_delta =β€˜0’,ifInUnknownProtos =β€˜0’,ifInUnknownProtos_prev =β€˜0’,ifInUnknownProtos_rate =β€˜0’,ifInUnknownProtos_delta =β€˜0’,ifInBroadcastPkts =β€˜0’,ifInBroadcastPkts_prev =β€˜0’,ifInBroadcastPkts_rate =β€˜0’,ifInBroadcastPkts_delta =β€˜0’,ifOutBroadcastPkts =β€˜0’,ifOutBroadcastPkts_prev =β€˜0’,ifOutBroadcastPkts_rate =β€˜0’,ifOutBroadcastPkts_delta =β€˜0’,ifInMulticastPkts =β€˜17850475’,ifInMulticastPkts_prev =β€˜17849668’,ifInMulticastPkts_rate =β€˜6.725’,ifInMulticastPkts_delta =β€˜807’,ifOutMulticastPkts =β€˜0’,ifOutMulticastPkts_prev =β€˜0’,ifOutMulticastPkts_rate =β€˜0’,ifOutMulticastPkts_delta =β€˜0’ WHERE port_id = β€˜247517’ [0m]
2 updated

Runtime for poller module β€˜ports’: 0.4247 seconds with 34168 bytes
SNMP: [17/0.38s] MySQL: [6/0.01s] RRD: [11/0.01s]

Run this exact command as the librenms user and report the output


Also checked the RRDcached Base_Path again: =/opt/librenms/rrd/

I think your rrdcached isn’t running with the right options.
Run ps aux|grep rrdcached

And re-read this: https://docs.librenms.org/#Extensions/RRDCached/#setting-up-rrdcached

Looks ok to me.:

czilian@hamburg:/opt/librenms$ sudo ps aux|grep rrdcached
librenms 26925 0.5 0.2 2245368 38732 ? Ssl Mar11 9:00 /usr/bin/rrdcached -B -F -R -w 1800 -z 1800 -t 4 -b /opt/librenms/rrd/ -j /var/lib/rrdcached/journal/ -G librenms -U librenms -p /var/run/rrdcached.pid -s librenms -l unix:/var/run/rrdcached.sock
czilian 52513 0.0 0.0 14228 904 pts/3 S+ 10:31 0:00 grep --color=auto rrdcached


Just deleted the device and recreated it. Now you can see in the log that for all rrd values it works except for the .dot3.rdd. Hence, should have nothing to do with rrdcached really.

If found your bug, empty rrd definition.

1 Like

Confirmed. All .dot3.rrd are created. Syslog is at peace again.

Thank you very much murrant. You made my day. Great responsive support!

1 Like