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?
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>