X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fmunin-node%2Fmanifests%2Finit.pp;h=5ddbf6eb3d86c1150cf5f08719be8bf94c14effe;hb=c14d0a7356dc1222c88e9a7d4f4112c057f0c79f;hp=523d6b9722679561d91515ae6c7ec61c4bfa489c;hpb=60c95d3cf9b2dd19ad03897241ccfc4bf3087f8d;p=mirror%2Fdsa-puppet.git diff --git a/modules/munin-node/manifests/init.pp b/modules/munin-node/manifests/init.pp index 523d6b972..5ddbf6eb3 100644 --- a/modules/munin-node/manifests/init.pp +++ b/modules/munin-node/manifests/init.pp @@ -1,24 +1,83 @@ -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 = 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": { + 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, } + @ferm::rule { "dsa-munin": + description => "Allow munin from munin master", + rule => "proto tcp mod state state (NEW) dport (munin) @subchain 'munin' { saddr (\$HOST_MUNIN) ACCEPT; }" + } }