Failed to create rrd directory: /var/lib/rrdcached/db

Since update 23.11.0, we have the following message on all of our devices :
Failed to create rrd directory: /var/lib/rrdcached/db

We have a dedicated RRD server, Pollers servers and a Librenms server.

All is ok after a validate.php

On the Librenms server :

~$ ./validate.php
===========================================
Component | Version
--------- | -------
LibreNMS  | 23.11.0-54-gb4a61636c (2023-12-19T22:45:39+01:00)
DB Schema | 2023_12_15_105529_access_points_nummonbssid_integer (276)
PHP       | 8.1.22
Python    | 3.7.3
Database  | MariaDB 10.3.39-MariaDB-0+deb10u1
RRDTool   | 1.7.1
SNMP      | 5.7.3
===========================================

[OK]    Composer Version: 2.6.6
[OK]    Dependencies up-to-date.
[OK]    Database connection successful
[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 not detected
[OK]    Locks are functional
[OK]    Python poller wrapper is polling
[OK]    Redis is unavailable
[OK]    rrdtool version ok
[OK]    Connected to rrdcached

Thank for your help

I’d suggest going through the install docs for rrdcached on docs.librenms.org. We don’t use /var/lib/rrdcached/db as the recommended directory for rrd files and without your config files it’s hard to say what to do.

Hi,

Before the update 23.11.0 we don’t have any problem with this configuration.

Here you are the RRDChached server config file (/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=/var/lib/rrdcached/db/

# 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=root

# 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=_rrdcached

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

# 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"

I want to specify that graphs still work today, we only have this message since the update.

I haven’t use the librenms folder, user and group because we only have RRDCached service installed on this server.

Thank’s
(Sorry for my english, I’m frenchy :sweat_smile:)

Your English is good :slight_smile:

I’d definitely recommend checking against our install docs, things like DAEMON_USER and DAEMON_GROUP aren’t configured in your config file then you’d need to make sure permissions are all set correctly: RRDCached - LibreNMS Docs

We have the same issue since the upgrade to 23.11. I already created an issue on gitHub, but no one has addressed it yet.

Hi,

We have work on config file this morning but we haven’t find any error.

But we have tried to create the /var/lib/rrdcached/db and /var/lib/rrdcached/journal on all of our pollers for user and group librenms. Since the log line Failed to create rrd directory: /var/lib/rrdcached/db/<ip_address>/ doesn’t appeart anymore. Any data are write on theses folders but it’s look like they are need.

It’s look like a script error…

I hope it can help (and revised on future version)

Thank’s for your help !

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.