RRDTool, RRDCached Server, Netflow Integration and absolute path error: absolute path names not allowed when talking to a remote daemon

Hi

Current Setup:

  • 3x Poller servers, 1x RRDcached server and 1x DB server for LibreNMS.
  • 1x Netflow Server

-bash-4.2$ ./validate.php

Component Version
LibreNMS 1.53.1-42-gc0c3ad2
DB Schema 2019_05_30_225937_device_groups_rewrite (135)
PHP 7.2.19
MySQL 5.5.60-MariaDB
RRDTool 1.7.1
SNMP NET-SNMP 5.7.2

====================================

  • Integrated Netflow server to LibreNMS config as per documentation
  • An NFS share is currently mounted on the 3x Poller servers that point to the Netflow data (nfsen_rrds and nfsen-base folder); Permissions for this is functioning as expected

Receive the below output when generating Netflow Graphs on LibreNMS:

“ERROR: absolute path names not allowed when talking to a remote daemon”

Note that graphs are generating correctly for SNMP device RRD files (as it uses relative addressing).

Attached the RRD command below for reference.

RRD Command for SNMP device (relative path generating graphs correctly):
rrdtool graph /tmp/CUkiebrF4tl5zkvF -l 0 -E --start 1575411000 --end 1575497400 --width 1728 --height 504 -c BACK#EEEEEE00 -c SHADEA#EEEEEE00 -c SHADEB#EEEEEE00 -c CANVAS#FFFFFF00 -c GRID#a5a5a5 -c MGRID#FF9999 -c FRAME#5e5e5e -c ARROW#5e5e5e -R normal -c FONT#000000 --font LEGEND:8:DejaVuSansMono --font AXIS:7:DejaVuSansMono --font-render-mode normal DEF:connections=10.0.0.250/asa_conns.rrd:connections:AVERAGE DEF:connections_max=10.0.0.250/asa_conns.rrd:connections:MAX DEF:connections_min=10.0.0.250/asa_conns.rrd:connections:MIN AREA:connections_min LINE1.5:connections#cc0000:'Current connections ’ GPRINT:connections_min:MIN:%4.0lf GPRINT:connections:LAST:%4.0lf GPRINT:connections_max:MAX:%4.0lf\l --daemon nms-rrdcached.localdomain.local:42217

RRD Command for Netflow device (uses absolute path causing graphs to not generate):
rrdtool graph /tmp/l3R9JuqxKK8WjfBf -l 0 -E --start 1575409800 --end 1575412200 --width 1728 --height 504 -c BACK#EEEEEE00 -c SHADEA#EEEEEE00 -c SHADEB#EEEEEE00 -c CANVAS#FFFFFF00 -c GRID#a5a5a5 -c MGRID#FF9999 -c FRAME#5e5e5e -c ARROW#5e5e5e -R normal -c FONT#000000 --font LEGEND:8:DejaVuSansMono --font AXIS:7:DejaVuSansMono --font-render-mode normal COMMENT:‘Flows/s Now Min Max Avg\l’ DEF:flows_tcp1=/u01/nfsen/nfsen-1.3.6p1/profiles-stat/librenms/10.255.255.3.rrd:flows_tcp:AVERAGE CDEF:flows_tcp1min=flows_tcp1 CDEF:flows_tcp1max=flows_tcp1 AREA:flows_tcp1#A0A0E5:‘tcp ‘:STACK GPRINT:flows_tcp1:LAST:%5.2lf%s GPRINT:flows_tcp1min:MIN:%5.2lf%s GPRINT:flows_tcp1max:MAX:%5.2lf%s GPRINT:flows_tcp1:AVERAGE:’%5.2lf%s\n’ COMMENT:’\n’ DEF:flows_udp2=/u01/nfsen/nfsen-1.3.6p1/profiles-stat/librenms/10.255.255.3.rrd:flows_udp:AVERAGE CDEF:flows_udp2min=flows_udp2 CDEF:flows_udp2max=flows_udp2 AREA:flows_udp2#8080BD:‘udp ‘:STACK GPRINT:flows_udp2:LAST:%5.2lf%s GPRINT:flows_udp2min:MIN:%5.2lf%s GPRINT:flows_udp2max:MAX:%5.2lf%s GPRINT:flows_udp2:AVERAGE:’%5.2lf%s\n’ COMMENT:’\n’ DEF:flows_icmp3=/u01/nfsen/nfsen-1.3.6p1/profiles-stat/librenms/10.255.255.3.rrd:flows_icmp:AVERAGE CDEF:flows_icmp3min=flows_icmp3 CDEF:flows_icmp3max=flows_icmp3 AREA:flows_icmp3#606096:‘icmp ‘:STACK GPRINT:flows_icmp3:LAST:%5.2lf%s GPRINT:flows_icmp3min:MIN:%5.2lf%s GPRINT:flows_icmp3max:MAX:%5.2lf%s GPRINT:flows_icmp3:AVERAGE:’%5.2lf%s\n’ COMMENT:’\n’ DEF:flows_other4=/u01/nfsen/nfsen-1.3.6p1/profiles-stat/librenms/10.255.255.3.rrd:flows_other:AVERAGE CDEF:flows_other4min=flows_other4 CDEF:flows_other4max=flows_other4 AREA:flows_other4#40406F:‘other ‘:STACK GPRINT:flows_other4:LAST:%5.2lf%s GPRINT:flows_other4min:MIN:%5.2lf%s GPRINT:flows_other4max:MAX:%5.2lf%s GPRINT:flows_other4:AVERAGE:’%5.2lf%s\n’ COMMENT:’\n’ --daemon nms-rrdcached.localdomain.local:42217

/opt/librenms/config.php
$config[‘nfsen_enable’] = 1;
$config[‘nfsen_rrds’][] = ‘/u01/nfsen/nfsen-1.3.6p1/profiles-stat/librenms/’;
$config[‘nfsen_base’][] = ‘/u01/nfsen/nfsen-1.3.6p1/’;

Please advise how to resolve this as the RRD commands inserting the location of the RRD files are generated by the WebUI.

ok, provided a summary of what i’ve been able to do to get graphing working in an environment whereby RRDCached servers are in a separate VM to the Pollers:

  • map nfsen profiles-stat folder (where RRD files are) on the LibreNMS RRDCached server
  • map nfsen profiles-stat folder (where RRD files are) on the LibreNMS Poller server(s)
  • symlink (if required) the nfsen mount (on the LibreNMS RRDCached server) to your librenms rrdcached folder (for eg ln -s /u01/nfsen/profiles-stat/librenms /u01/rrdcached/librenms/netflow)
  • modify librenms/includes/html/graphs/device/nfsen_common.inc.php to store relative path for nfsen rrd files on LibreNMS RRDCached server ( search and replace with $rrd_filename=‘netflow/’.$nfsen_filename.’.rrd’; )
  • modify librenms/includes/html/graphs/device/nfsen_channel_common.inc.php to store relative path for nfsen rrd files on LibreNMS RRDCached server ( search and replace with $rrd_filename=‘netflow/’.$nfsenHostname.’/’.$vars[‘channel’].’.rrd’; )

the last 2 bullet points needs to be tweaked though.