X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fmunin-node%2Fmanifests%2Finit.pp;h=59fe205abfa59e1a1c11b0b82df4dd3a0e268114;hb=cab61105c047ee9d4f521b65eaebf1e0f6e9e736;hp=f09f8fc6a9ff14f93295708d01b0d821d4fb640f;hpb=48488d09556d7c30a3d1eb0e7298cf430e45405b;p=mirror%2Fdsa-puppet.git diff --git a/modules/munin-node/manifests/init.pp b/modules/munin-node/manifests/init.pp index f09f8fc6a..59fe205ab 100644 --- a/modules/munin-node/manifests/init.pp +++ b/modules/munin-node/manifests/init.pp @@ -1,24 +1,93 @@ -define activate_munin_check($script) { - file { "/etc/munin/plugins/$script": - ensure => "/usr/share/munin/plugins/$script" - notify => Exec["munin-node restart"]; +define activate_munin_check($ensure=present, $script = none) { + case $script { + none: { $link = $name } + default: { $link = $script } + } + + case $ensure { + present: { + file { "/etc/munin/plugins/$name": + ensure => "/usr/share/munin/plugins/$link", + notify => Exec["munin-node restart"]; + } } + default: { + file { "/etc/munin/plugins/$name": + ensure => $ensure, + notify => Exec["munin-node restart"]; + } + } + } } class munin-node { package { munin-node: ensure => installed } - file { "/etc/munin/munin-node.conf": - source => [ "puppet:///munin-node/per-host/$fqdn/munin-node.conf", - "puppet:///munin-node/common/munin-node.conf" ], - require => Package["munin-node"], - notify => Exec["munin-node restart"], + activate_munin_check { + "cpu":; + "df":; + "df_abs":; + "df_inode":; + "entropy":; + "forks":; + "interrupts":; + "iostat":; + "irqstats":; + "load":; + "memory":; + "ntp_offset":; + "ntp_states":; + "open_files":; + "open_inodes":; + "processes":; + "swap":; + "uptime":; + "vmstat":; + } + + case $spamd { + "true": { + activate_munin_check { "spamassassin":; } + } + } + + case $vsftpd { + "true": { + package { + "logtail": ensure => installed; + } + activate_munin_check { + "vsftpd":; + "ps_vsftpd": script => "ps_"; + } + } + } + + file { + "/etc/munin/munin-node.conf": + content => template("munin-node/munin-node.conf.erb"), + require => Package["munin-node"], + notify => Exec["munin-node restart"]; + + "/etc/munin/plugin-conf.d/munin-node": + content => template("munin-node/munin-node.plugin.conf.erb"), + require => Package["munin-node"], + notify => Exec["munin-node restart"]; } exec { "munin-node restart": path => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin", refreshonly => true, } + @ferm::rule { "dsa-munin-v4": + description => "Allow munin from munin master", + rule => "proto tcp mod state state (NEW) dport (munin) @subchain 'munin' { saddr (\$HOST_MUNIN_V4 \$HOST_NAGIOS_V4) ACCEPT; }" + } + @ferm::rule { "dsa-munin-v6": + description => "Allow munin from munin master", + domain => "ip6", + rule => "proto tcp mod state state (NEW) dport (munin) @subchain 'munin' { saddr (\$HOST_MUNIN_V6 \$HOST_NAGIOS_V6) ACCEPT; }" + } }