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

librenms@librenms:~$ ./validate.php 
===========================================
Component | Version
--------- | -------
LibreNMS  | 26.1.0-dev.11+044967953 (2025-12-16T19:16:38-05:00)
DB Schema | 2025_12_05_205509_devices_add_mtu_status (362)
PHP       | 8.2.29
Python    | 3.11.2
Database  | MariaDB 10.11.6-MariaDB-0+deb12u1
RRDTool   | 1.7.2
SNMP      | 5.9.3
===========================================

[OK]    Composer Version: 2.9.2
[OK]    Dependencies up-to-date.
[OK]    Database Connected
[OK]    Database Schema is current
[OK]    SQL Server meets minimum requirements
[OK]    lower_case_table_names is enabled
[OK]    MySQL engine is optimal
[OK]    Database and column collations are correct
[OK]    Database schema correct
[OK]    MySQL and PHP time match
[OK]    Distributed Polling setting is enabled globally
[OK]    Connected to rrdcached
[OK]    Active pollers found
[OK]    Dispatcher Service is enabled
[OK]    Locks are functional
[OK]    Python wrapper cron entry is not present
[OK]    Redis is functional
[FAIL]  Some RRD files have the incorrect step. 32925/52267
	[FIX]: 
	lnms maintenance:rrd-step all
	RRD files with incorrect step:
	 librenms.truestream.us/ping-perf.rrd: step is 300, should be 180
	 librenms.truestream.us/uptime.rrd: step is 300, should be 180
	 librenms.truestream.us/storage-hrstorage-_run.rrd: step is 300, should be 180
	 librenms.truestream.us/poller-perf-core.rrd: step is 300, should be 180
	 librenms.truestream.us/storage-hrstorage-_.rrd: step is 300, should be 180
	 librenms.truestream.us/poller-perf-os.rrd: step is 300, should be 180
	 librenms.truestream.us/storage-hrstorage-_boot.rrd: step is 300, should be 180
	 librenms.truestream.us/availability-86400.rrd: step is 300, should be 180
	 librenms.truestream.us/poller-perf-ports.rrd: step is 300, should be 180
	 librenms.truestream.us/availability-604800.rrd: step is 300, should be 180
	 librenms.truestream.us/poller-perf-customoid.rrd: step is 300, should be 180
	 librenms.truestream.us/availability-2592000.rrd: step is 300, should be 180
	 librenms.truestream.us/poller-perf-ucd-diskio.rrd: step is 300, should be 180
	 librenms.truestream.us/availability-31536000.rrd: step is 300, should be 180
	 librenms.truestream.us/processor-hr-196609.rrd: step is 300, should be 180
	  and 32910 more...
[OK]    rrdtool version ok
[OK]    Connected to rrdcached

when I issue

lnms maintenance:rrd-step all

I get something like this on every file

ERROR: absolute path names not allowed when talking to a remote daemon
Converting /opt/librenms/rrd/ba-servsensor.truestream.us/sensor-state-sensorProbeSwitchTable-hhmsSensorArraySwitchStatus.30.rrd: ERROR: absolute path names not allowed when talking to a remote daemon
[FAIL]

here is my RRD options file

librenms@librenms:~$ cat /etc/default/rrdcached
# /etc/default file for RRD cache daemon

# Full path to daemon
DAEMON=/usr/bin/rrdcached

# Optional override flush interval, in seconds.
WRITE_TIMEOUT=1800

# Optional override maximum write delay, in seconds.
WRITE_JITTER=1800

# Optional override number of write_threads
WRITE_THREADS=4

# Where database files are placed.  If left unset, the default /tmp will
# be used.  NB: The daemon will reject a directory that has symlinks as
# components.  NB: You may want to have -B in BASE_OPTS.
BASE_PATH=/opt/librenms/rrd/

# Where journal files are placed.  If left unset, journaling will
# be disabled.
JOURNAL_PATH=/var/lib/rrdcached/journal/

# FHS standard placement for process ID file.
PIDFILE=/var/run/rrdcached.pid

# FHS standard placement for local control socket.
SOCKFILE=/var/run/rrdcached.sock

# Optional override group that should own/access the local control
# socket
SOCKGROUP=librenms

# Optional override access mode of local control socket.
#SOCKMODE=0660

# Optional unprivileged group to run under when daemon.  If unset
# retains invocation group privileges.
DAEMON_GROUP=librenms

# Optional unprivileged user to run under when daemon.  If unset
# retains invocation user privileges.
DAEMON_USER=librenms

# Network socket address requests.  Use in conjunction with SOCKFILE to
# also listen on INET domain sockets.  The option is a lower-case ell
# ASCII 108 = 0x6c, and should be repeated for each address.  The
# parameter is an optional IP address, followed by an optional port with
# a colon separating it from the address.  The empty string is
# interpreted as "open sockets on the default port on all available
# interfaces", but generally does not pass through init script functions
# so use -L with no parameters for that configuration.
NETWORK_OPTIONS="-L"

# Any other options not specifically supported by the script (-P, -f,
# -F, -B).
#BASE_OPTIONS="-B -F -R"
BASE_OPTIONS="-l 0:42217"
BASE_OPTIONS="$BASE_OPTIONS -R -j /var/lib/rrdcached/journal/ -F"
BASE_OPTIONS="$BASE_OPTIONS -b /opt/librenms/rrd -B"
BASE_OPTIONS="$BASE_OPTIONS -w 1800 -z 900"

I know it is something I did any one have insights on how to correct my issue?

thanks

Update your install, support for rrdcached in that command was added recently.

ok I updated

librenms@librenms:~$ ./validate.php 
===========================================
Component | Version
--------- | -------
LibreNMS  | 26.1.0-dev.16+874e45831 (2025-12-17T14:47:18-05:00)
DB Schema | 2025_12_05_205509_devices_add_mtu_status (362)
PHP       | 8.2.29
Python    | 3.11.2
Database  | MariaDB 10.11.6-MariaDB-0+deb12u1
RRDTool   | 1.7.2
SNMP      | 5.9.3
===========================================

when I run

librenms@librenms:~$ lnms maintenance:rrd-step all

 Before continuing, please confirm that you have backed up your rrd files. (yes/no) [no]:
 > yes

Exception: LibreNMS\Exceptions\RrdException Usage: rrdtool list [--daemon <addr> [--noflush]] [--recursive] <directory> @ /opt/librenms/LibreNMS/RRD/RrdProcess.php:74
#0 /opt/librenms/vendor/symfony/process/Process.php(1311): LibreNMS\RRD\RrdProcess->LibreNMS\RRD\{closure}()
#1 /opt/librenms/vendor/symfony/process/Process.php(497): Symfony\Component\Process\Process->Symfony\Component\Process\{closure}()
#2 /opt/librenms/LibreNMS/RRD/RrdProcess.php(67): Symfony\Component\Process\Process->waitUntil()
#3 /opt/librenms/app/Console/Commands/MaintenanceRrdStep.php(137): LibreNMS\RRD\RrdProcess->run()
#4 /opt/librenms/app/Console/Commands/MaintenanceRrdStep.php(50): App\Console\Commands\MaintenanceRrdStep->listFiles()
#5 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Console\Commands\MaintenanceRrdStep->handle()
#6 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#7 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(96): Illuminate\Container\Util::unwrapIfClosure()
#8 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
#9 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(836): Illuminate\Container\BoundMethod::call()
#10 /opt/librenms/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\Container\Container->call()
#11 /opt/librenms/vendor/symfony/console/Command/Command.php(318): Illuminate\Console\Command->execute()
#12 /opt/librenms/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\Component\Console\Command\Command->run()
#13 /opt/librenms/vendor/symfony/console/Application.php(1073): Illuminate\Console\Command->run()
#14 /opt/librenms/vendor/symfony/console/Application.php(356): Symfony\Component\Console\Application->doRunCommand()
#15 /opt/librenms/vendor/symfony/console/Application.php(195): Symfony\Component\Console\Application->doRun()
#16 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(197): Symfony\Component\Console\Application->run()
#17 /opt/librenms/lnms(35): Illuminate\Foundation\Console\Kernel->handle()
#18 {main}  

In RrdProcess.php line 74:
                                                                               
  Usage: rrdtool list [--daemon <addr> [--noflush]] [--recursive] <directory>  
                                                                               

fails again

I checked

librenms@librenms:~$ rrdtool list /opt/librenms/rrd/

and I see 667 files.

also check configs

librenms@librenms:~$ lnms config:get rrd_dir
/opt/librenms/rrd
librenms@librenms:~$ lnms config:get rrdcached
10.246.16.43:42217
librenms@librenms:~$ lnms config:get rrdtool
/usr/bin/rrdtool
librenms@librenms:~$ lnms config:get rrdtool_version 
1.7.2
librenms@librenms:~$ lnms config:get rrd
{
    "enable": true,
    "heartbeat": 600,
    "step": 180
}

I’m having the same error when attempting to run RDDTUNE on a local RRDCACHED install as OP.

librenms@librenms:~$ lnms maintenance:rrd-step all

 Before continuing, please confirm that you have backed up your rrd files. (yes/no) [no]:
 > yes

Exception: LibreNMS\Exceptions\RrdException Usage: rrdtool list [--daemon <addr> [--noflush]] [--recursive] <directory> @ /opt/librenms/LibreNMS/RRD/RrdProcess.php:74
#0 /opt/librenms/vendor/symfony/process/Process.php(1311): LibreNMS\RRD\RrdProcess->LibreNMS\RRD\{closure}()
#1 /opt/librenms/vendor/symfony/process/Process.php(497): Symfony\Component\Process\Process->Symfony\Component\Process\{closure}()
#2 /opt/librenms/LibreNMS/RRD/RrdProcess.php(67): Symfony\Component\Process\Process->waitUntil()
#3 /opt/librenms/app/Console/Commands/MaintenanceRrdStep.php(137): LibreNMS\RRD\RrdProcess->run()
#4 /opt/librenms/app/Console/Commands/MaintenanceRrdStep.php(50): App\Console\Commands\MaintenanceRrdStep->listFiles()
#5 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Console\Commands\MaintenanceRrdStep->handle()
#6 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#7 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(96): Illuminate\Container\Util::unwrapIfClosure()
#8 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
#9 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(836): Illuminate\Container\BoundMethod::call()
#10 /opt/librenms/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\Container\Container->call()
#11 /opt/librenms/vendor/symfony/console/Command/Command.php(318): Illuminate\Console\Command->execute()
#12 /opt/librenms/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\Component\Console\Command\Command->run()
#13 /opt/librenms/vendor/symfony/console/Application.php(1073): Illuminate\Console\Command->run()
#14 /opt/librenms/vendor/symfony/console/Application.php(356): Symfony\Component\Console\Application->doRunCommand()
#15 /opt/librenms/vendor/symfony/console/Application.php(195): Symfony\Component\Console\Application->doRun()
#16 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(197): Symfony\Component\Console\Application->run()
#17 /opt/librenms/lnms(35): Illuminate\Foundation\Console\Kernel->handle()
#18 {main}

In RrdProcess.php line 74:

  Usage: rrdtool list [--daemon <addr> [--noflush]] [--recursive] <directory>


My RRD config:

librenms@librenms:~$ lnms config:get rrd_dir
/opt/librenms/rrd
librenms@librenms:~$ lnms config:get rrdcached
unix:/var/run/rrdcached.sock
librenms@librenms:~$ lnms config:get rrdtool
/usr/bin/rrdtool
librenms@librenms:~$ lnms config:get rrdtool_version
1.7.2
librenms@librenms:~$ lnms config:get rrd
{
    "enable": true,
    "heartbeat": 600,
    "step": 300
}

Hello

Same error here:
lnms maintenance:rrd-step all
gives error:

[librenms@server ~]$ lnms maintenance:rrd-step all

Before continuing, please confirm that you have backed up your rrd files. (yes/no) [no]:

yes

Exception: LibreNMS\Exceptions\RrdException Usage: rrdtool list [–daemon [–noflush]] [–recursive] @ /opt/librenms/LibreNMS/RRD/RrdProcess.php:74
#0 /opt/librenms/vendor/symfony/process/Process.php(1311): LibreNMS\RRD\RrdProcess->LibreNMS\RRD{closure}()
#1 /opt/librenms/vendor/symfony/process/Process.php(497): Symfony\Component\Process\Process->Symfony\Component\Process{closure}()
#2 /opt/librenms/LibreNMS/RRD/RrdProcess.php(67): Symfony\Component\Process\Process->waitUntil()
#3 /opt/librenms/app/Console/Commands/MaintenanceRrdStep.php(137): LibreNMS\RRD\RrdProcess->run()
#4 /opt/librenms/app/Console/Commands/MaintenanceRrdStep.php(50): App\Console\Commands\MaintenanceRrdStep->listFiles()
#5 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Console\Commands\MaintenanceRrdStep->handle()
#6 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::Illuminate\Container{closure}()
#7 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(96): Illuminate\Container\Util::unwrapIfClosure()
#8 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
#9 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(836): Illuminate\Container\BoundMethod::call()
#10 /opt/librenms/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\Container\Container->call()
#11 /opt/librenms/vendor/symfony/console/Command/Command.php(318): Illuminate\Console\Command->execute()
#12 /opt/librenms/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\Component\Console\Command\Command->run()
#13 /opt/librenms/vendor/symfony/console/Application.php(1073): Illuminate\Console\Command->run()
#14 /opt/librenms/vendor/symfony/console/Application.php(356): Symfony\Component\Console\Application->doRunCommand()
#15 /opt/librenms/vendor/symfony/console/Application.php(195): Symfony\Component\Console\Application->doRun()
#16 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(197): Symfony\Component\Console\Application->run()
#17 /opt/librenms/lnms(35): Illuminate\Foundation\Console\Kernel->handle()
#18 {main}

In RrdProcess.php line 74:

Usage: rrdtool list [–daemon [–noflush]] [–recursive]

just updated to the latests and I am still getting

librenms@librenms:~$ ./validate.php 
===========================================
Component | Version
--------- | -------
LibreNMS  | 26.1.0-dev.58+814363b3d (2026-01-07T06:43:09-05:00)
DB Schema | 2025_12_05_205509_devices_add_mtu_status (362)
PHP       | 8.2.29
Python    | 3.11.2
Database  | MariaDB 10.11.6-MariaDB-0+deb12u1
RRDTool   | 1.7.2
SNMP      | 5.9.3
===========================================

[OK]    Composer Version: 2.9.3
[OK]    Dependencies up-to-date.
[OK]    Database Connected
[OK]    Database Schema is current
[OK]    SQL Server meets minimum requirements
[OK]    lower_case_table_names is enabled
[OK]    MySQL engine is optimal
[OK]    Database and column collations are correct
[OK]    Database schema correct
[OK]    MySQL and PHP time match
[OK]    Distributed Polling setting is enabled globally
[OK]    Connected to rrdcached
[OK]    Active pollers found
[OK]    Dispatcher Service is enabled
[OK]    Locks are functional
[OK]    Python wrapper cron entry is not present
[OK]    Redis is functional
[FAIL]  Some RRD files have the incorrect step. 36803/53247
	[FIX]: 
	lnms maintenance:rrd-step all
	RRD files with incorrect step:
	 librenms.truestream.us/ping-perf.rrd: step is 300, should be 180
	 librenms.truestream.us/uptime.rrd: step is 300, should be 180
	 librenms.truestream.us/storage-hrstorage-_run.rrd: step is 300, should be 180
	 librenms.truestream.us/poller-perf-core.rrd: step is 300, should be 180
	 librenms.truestream.us/storage-hrstorage-_.rrd: step is 300, should be 180
	 librenms.truestream.us/poller-perf-os.rrd: step is 300, should be 180
	 librenms.truestream.us/storage-hrstorage-_boot.rrd: step is 300, should be 180
	 librenms.truestream.us/availability-86400.rrd: step is 300, should be 180
	 librenms.truestream.us/poller-perf-ports.rrd: step is 300, should be 180
	 librenms.truestream.us/availability-604800.rrd: step is 300, should be 180
	 librenms.truestream.us/poller-perf-customoid.rrd: step is 300, should be 180
	 librenms.truestream.us/availability-2592000.rrd: step is 300, should be 180
	 librenms.truestream.us/poller-perf-ucd-diskio.rrd: step is 300, should be 180
	 librenms.truestream.us/availability-31536000.rrd: step is 300, should be 180
	 librenms.truestream.us/processor-hr-196609.rrd: step is 300, should be 180
	  and 36788 more...
[OK]    rrdtool version ok
[OK]    Connected to rrdcached

and then I try

librenms@librenms:~$ lnms maintenance:rrd-step all 

 Before continuing, please confirm that you have backed up your rrd files. (yes/no) [no]:
 > yes

Exception: LibreNMS\Exceptions\RrdException Usage: rrdtool list [--daemon <addr> [--noflush]] [--recursive] <directory> @ /opt/librenms/LibreNMS/RRD/RrdProcess.php:74
#0 /opt/librenms/vendor/symfony/process/Process.php(1320): LibreNMS\RRD\RrdProcess->LibreNMS\RRD\{closure}()
#1 /opt/librenms/vendor/symfony/process/Process.php(507): Symfony\Component\Process\Process->Symfony\Component\Process\{closure}()
#2 /opt/librenms/LibreNMS/RRD/RrdProcess.php(67): Symfony\Component\Process\Process->waitUntil()
#3 /opt/librenms/app/Console/Commands/MaintenanceRrdStep.php(137): LibreNMS\RRD\RrdProcess->run()
#4 /opt/librenms/app/Console/Commands/MaintenanceRrdStep.php(50): App\Console\Commands\MaintenanceRrdStep->listFiles()
#5 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\Console\Commands\MaintenanceRrdStep->handle()
#6 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\Container\BoundMethod::Illuminate\Container\{closure}()
#7 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(96): Illuminate\Container\Util::unwrapIfClosure()
#8 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\Container\BoundMethod::callBoundMethod()
#9 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(836): Illuminate\Container\BoundMethod::call()
#10 /opt/librenms/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\Container\Container->call()
#11 /opt/librenms/vendor/symfony/console/Command/Command.php(341): Illuminate\Console\Command->execute()
#12 /opt/librenms/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\Component\Console\Command\Command->run()
#13 /opt/librenms/vendor/symfony/console/Application.php(1102): Illuminate\Console\Command->run()
#14 /opt/librenms/vendor/symfony/console/Application.php(356): Symfony\Component\Console\Application->doRunCommand()
#15 /opt/librenms/vendor/symfony/console/Application.php(195): Symfony\Component\Console\Application->doRun()
#16 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(197): Symfony\Component\Console\Application->run()
#17 /opt/librenms/lnms(35): Illuminate\Foundation\Console\Kernel->handle()
#18 {main}  

In RrdProcess.php line 74:
                                                                               
  Usage: rrdtool list [--daemon <addr> [--noflush]] [--recursive] <directory>  
                                                                               

still fails.

FYI, your manual test here doesn’t use rrdcached. But that is irrelevant because we already have the error that the path is wrong for rrdcached.

you say I have that error the path is wrong, can you point me in the right direction for fix the issue?

Im getting this also since the new update, have you had any success?

Ignore the validation until the next release (26.2)