Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Fix rrdcached issues on newer versions of librenms.
Signed-off-by: Petri Lammi <petri.lammi@tietoteema.fi>
  • Loading branch information
kibahop committed Aug 29, 2019
commit 2589c8fac59dab6a4c4f0c9b0c8d354902a7fee0
5 changes: 2 additions & 3 deletions manifests/config.pp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
$db_pass,
Hash[String, Integer[0,1]] $poller_modules,
Integer $poller_threads

) inherits librenms::params
{
File {
Expand All @@ -38,7 +38,7 @@
# The LibreNMS-specific rrdcached service will only work on systemd distros
# at the moment.
if str2bool($::has_systemd) {
$rrdcached_line = "\$config['rrdcached'] = \"unix:/opt/librenms/rrdcached/rrdcached.sock\";"
$rrdcached_line = "\$config['rrdcached'] = \"unix:/run/rrdcached.sock\";"
} else {
$rrdcached_line = '# rrdcached disabled by Puppet because this is not a systemd distro'
}
Expand Down Expand Up @@ -87,5 +87,4 @@
minute => '*/5',
require => Class['::librenms::install'],
}

}
36 changes: 22 additions & 14 deletions manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,10 @@
$db_host = 'localhost',
$poller_modules = {},
$poller_threads = 16,
$php_config_overrides = {}

$php_config_overrides = {},
$rrdcached_pidfile = '/run/rrdcached.pid',
$rrdcached_socketfile = '/run/rrdcached.sock',

) inherits librenms::params
{

Expand All @@ -32,7 +34,11 @@
}

include ::apache2::config::php
include ::librenms::rrdcached

class { '::librenms::rrdcached':
rrdcached_pidfile => $rrdcached_pidfile,
rrdcached_socketfile => $rrdcached_socketfile,
}

class { '::librenms::install':
user => $user,
Expand All @@ -42,17 +48,19 @@
}

class { '::librenms::config':
system_user => $user,
basedir => $clone_target,
server_name => $server_name,
admin_user => $admin_user,
admin_pass => $admin_pass,
admin_email => $admin_email,
db_user => $db_user,
db_host => $db_host,
db_pass => $db_pass,
poller_modules => $poller_modules,
poller_threads => $poller_threads,
system_user => $user,
basedir => $clone_target,
server_name => $server_name,
admin_user => $admin_user,
admin_pass => $admin_pass,
admin_email => $admin_email,
db_user => $db_user,
db_host => $db_host,
db_pass => $db_pass,
poller_modules => $poller_modules,
poller_threads => $poller_threads,
pidfile => $pidfile,
socketfile => $socketfile,
}

include ::librenms::devices
Expand Down
17 changes: 11 additions & 6 deletions manifests/rrdcached.pp
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,23 @@
# Configure rrdcached specifically for LibreNMS. This only supports
# systemd-based distros at the moment.
#
class librenms::rrdcached inherits librenms::params {
class librenms::rrdcached
(
Stdlib::Absolutepath $rrdcached_pidfile,
Stdlib::Absolutepath $rrdcached_socketfile,

) inherits librenms::params {

ensure_resource('package', 'rrdcached', { 'ensure' => 'present' })

if str2bool($::has_systemd) {

include ::systemd

file { 'librenms-rrdcached-librenms.service':
file { 'librenms-etc-default-rrdcached':
ensure => 'present',
name => '/etc/systemd/system/rrdcached-librenms.service',
content => template('librenms/rrdcached-librenms.service.erb'),
name => '/etc/default/rrdcached',
content => template('librenms/rrdcached.erb'),
owner => $::os::params::adminuser,
group => $::os::params::admingroup,
mode => '0755',
Expand All @@ -27,7 +32,7 @@
ensure => 'running',
enable => true,
name => 'rrdcached-librenms',
require => [ Class['systemd::service'], File['librenms-rrdcached-librenms.service'] ],
require => [ Class['systemd::service'], File['librenms-etc-default-rrdcached'] ],
}
}
}
}
13 changes: 13 additions & 0 deletions templates/rrdcached.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
DAEMON=/usr/bin/rrdcached
DAEMON_USER=librenms
DAEMON_GROUP=librenms
WRITE_THREADS=4
WRITE_TIMEOUT=1800
WRITE_JITTER=1800
BASE_PATH=/opt/librenms/rrd/
JOURNAL_PATH=/var/lib/rrdcached/journal/
PIDFILE=<%= @rrdcached_pidfile %>
SOCKFILE=<%= @rrdcached_socketfile %>
SOCKGROUP=librenms
BASE_OPTIONS="-B -F -R"