Import rest of modules.
This commit is contained in:
parent
02fa10f33c
commit
3f225ced9b
39 changed files with 2056 additions and 0 deletions
141
munin/manifests/init.pp
Normal file
141
munin/manifests/init.pp
Normal file
|
@ -0,0 +1,141 @@
|
|||
|
||||
# Install and configure munin node.
|
||||
#
|
||||
class munin::node {
|
||||
|
||||
package { "munin-node":
|
||||
ensure => installed,
|
||||
}
|
||||
|
||||
service { "munin-node":
|
||||
ensure => running,
|
||||
enable => true,
|
||||
require => Package["munin-node"],
|
||||
}
|
||||
|
||||
file { "/etc/munin/munin-node.conf":
|
||||
ensure => present,
|
||||
content => template("munin/munin-node.conf.erb"),
|
||||
owner => root,
|
||||
group => root,
|
||||
mode => 0644,
|
||||
require => Package["munin-node"],
|
||||
notify => Service["munin-node"],
|
||||
}
|
||||
|
||||
@@file { "/etc/munin/nodes.d/${fqdn}.conf":
|
||||
content => "[${fqdn}]\n address ${ipaddress}\n use_node_name yes\n",
|
||||
ensure => present,
|
||||
tag => "munin",
|
||||
notify => Exec["generate-munin-conf"],
|
||||
}
|
||||
|
||||
exec { "munin-node-configure":
|
||||
command => "munin-node-configure ; true",
|
||||
path => "/bin:/usr/bin:/sbin:/usr/sbin",
|
||||
user => root,
|
||||
refreshonly => true,
|
||||
require => Package["munin-node"],
|
||||
subscribe => Package["munin-node"],
|
||||
notify => Service["munin-node"],
|
||||
}
|
||||
|
||||
munin::plugin { "vmware_vms": config => "vmware" }
|
||||
|
||||
}
|
||||
|
||||
|
||||
# Add new custom munin plugin.
|
||||
#
|
||||
# === Parameters
|
||||
#
|
||||
# $name:
|
||||
# Plugin name to install.
|
||||
# $config:
|
||||
# Configuration file name associated with plugin. Defaults to none.
|
||||
#
|
||||
# === Sample usage
|
||||
#
|
||||
# munin::plugin { "vmware_vms":
|
||||
# config => "vmware",
|
||||
# }
|
||||
#
|
||||
define munin::plugin($config = "") {
|
||||
|
||||
file { "/usr/share/munin/plugins/${name}":
|
||||
ensure => present,
|
||||
source => "puppet:///munin/plugins/${name}",
|
||||
owner => root,
|
||||
group => root,
|
||||
mode => 0755,
|
||||
require => Package["munin-node"],
|
||||
}
|
||||
|
||||
if ($config) {
|
||||
file { "/etc/munin/plugin-conf.d/${config}":
|
||||
ensure => present,
|
||||
source => [ "puppet:///files/munin/plugin-conf/${config}.${fqdn}",
|
||||
"puppet:///files/munin/plugin-conf/${config}",
|
||||
"puppet:///munin/plugin-conf/${config}", ],
|
||||
owner => root,
|
||||
group => root,
|
||||
mode => 0644,
|
||||
notify => Service["munin-node"],
|
||||
require => File["/usr/share/munin/plugins/${name}"],
|
||||
}
|
||||
}
|
||||
|
||||
exec { "munin-enable-${name}":
|
||||
command => "ln -s /usr/share/munin/plugins/${name} /etc/munin/plugins/${name}",
|
||||
path => "/bin:/usr/bin:/sbin:/usr/sbin",
|
||||
user => root,
|
||||
onlyif => [ "! test -h /etc/munin/plugins/${name}",
|
||||
"/usr/share/munin/plugins/${name} autoconf", ],
|
||||
notify => Service["munin-node"],
|
||||
require => File["/usr/share/munin/plugins/${name}"],
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
# Install and configure munin server.
|
||||
#
|
||||
# === Requires
|
||||
#
|
||||
# * Storedconfigs
|
||||
#
|
||||
class munin::server {
|
||||
|
||||
package { "munin":
|
||||
ensure => installed,
|
||||
}
|
||||
|
||||
file { "/etc/munin/nodes.d":
|
||||
ensure => directory,
|
||||
owner => root,
|
||||
group => root,
|
||||
mode => 0755,
|
||||
require => Package["munin"],
|
||||
}
|
||||
|
||||
file { "/etc/munin/munin.conf.in":
|
||||
ensure => present,
|
||||
source => "puppet:///munin/munin.conf.in",
|
||||
owner => root,
|
||||
group => root,
|
||||
mode => 0644,
|
||||
require => Package["munin"],
|
||||
notify => Exec["generate-munin-conf"],
|
||||
}
|
||||
|
||||
exec { "generate-munin-conf":
|
||||
command => "cat /etc/munin/munin.conf.in /etc/munin/nodes.d/*.conf > /etc/munin/munin.conf",
|
||||
path => "/bin:/usr/bin:/sbin:/usr/sbin",
|
||||
user => root,
|
||||
refreshonly => true,
|
||||
require => File["/etc/munin/munin.conf.in"],
|
||||
}
|
||||
|
||||
File <<| tag == "munin" |>>
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue