X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=modules%2Fmunin-node%2Fmanifests%2Finit.pp;h=9b40cf965cf648320682e9a6cd0af85f377d3e74;hb=b89cc486588ff70b6876f0ea06e72fd82bb510d8;hp=523d6b9722679561d91515ae6c7ec61c4bfa489c;hpb=60c95d3cf9b2dd19ad03897241ccfc4bf3087f8d;p=dsa-puppet.git diff --git a/modules/munin-node/manifests/init.pp b/modules/munin-node/manifests/init.pp index 523d6b97..9b40cf96 100644 --- a/modules/munin-node/manifests/init.pp +++ b/modules/munin-node/manifests/init.pp @@ -1,24 +1,88 @@ -define activate_munin_check() { - file { "/etc/munin/plugins/$name": - ensure => "/usr/share/munin/plugins/$name", - notify => Exec["munin-node restart"]; +define activate_munin_check($ensure=present, $script=$name) { + case $script { + "": { $base = $name } + default: { $base = $script } + } + + case $ensure { + present: { + file { "/etc/munin/plugins/$name": + ensure => "/usr/share/munin/plugins/$base", + 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": { + include munin-node::vsftpd + } + } + + 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"]; + + "/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, } + case $ferm { + "true": { + ferm::rule { "dsa-munin": + description => "Allow munin-node from spohr.debian.org", + rule => 'proto tcp dport 4949 saddr $HOST_MUNIN ACCEPT', + prio => "02" + } + } + } }