-define activate_munin_check($name) {
- 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,
}
+ ferm::rule { "dsa-munin":
+ description => "Allow munin-node from spohr.debian.org",
+ rule => 'proto tcp dport 4949 saddr $HOST_MUNIN ACCEPT',
+ prio => "02"
+ }
}