Skip to content

Using RRDCached (BSD)

Avinash H. Duduskar edited this page Jan 14, 2021 · 1 revision

The information here is BSD specific but the configurations could be applied to Linux as well. Taken from https://openports.pl/path/net/smokeping


Advanced topic: Heavy load systems

If problems are seen with excessive load or i/o, it is possible to configure Smokeping to use rrdcached instead.
Read through the whole section before starting; this is not needed for a typical setup.

To do this, group permissions should be set to allow Smokeping to access the rrdcached socket, and to allow rrdcached to access Smokeping's files, e.g.:

$ grep _smokeping /etc/group
_smokeping:*:562:_rrdcached
_rrdcached:*:726:_smokeping

# chgrp -R _rrdcached /var/db/smokeping
# chmod -R g+w /var/db/smokeping

The rrdcached daemon must be running:

# rcctl enable rrdcached
# rcctl set rrdcached flags -b /var/db/smokeping -B -m 770 \
    -l unix:/var/run/rrd/rrdcached.sock -j /var/db/smokeping/journal \
    -p /var/run/rrd/rrdcached.pid
# rcctl restart rrdcached

Smokeping must be told to use the daemon. This is done by setting an environment variable; add this to /etc/login.conf:

smokeping:setenv=RRDCACHED_ADDRESS=unix\c/var/run/rrd/rrdcached.sock:tc=daemon

The Smokeping FastCGI script must also be told to use the daemon. This is done by setting the variable in your web server. For nginx:

fastcgi_param RRDCACHED_ADDRESS unix:/var/run/rrd/rrdcached.sock;

Then restart smokeping and smokeping_fcgi. Use -d to show more information in case of errors at startup.