meister
By: a guest | Jan 28th, 2010 | Syntax:
None | Size: 1.55 KB | Hits: 62 | Expires: Never
# manifests/nodes.pp
$disks = [[ "/dev/md0", "md0", "98%" ]]
-------------
# modules/monit/templates/disk_space.conf.erb
<% for disk in disks %>
check device "<%= disk[1] %>" with path "<%= disk[0] %>"
if space usage > <%= disk[2] %>% then alert
<% end %>
--------------
# /etc/monit.d/disk_space.conf
check device "100" with path "47"
if space usage > 101% then alert
check device "100" with path "109"
if space usage > 48% then alert
check device "56" with path "57"
if space usage > 37% then alert
--------------
# module : monit/init.pp
class monit {
$configdir = "/etc/monit.d"
$monitrc = "monit/monitrc.erb"
$config = "/etc/monitrc"
package { "monit":
ensure => present;
}
service { monit:
ensure => running,
hasstatus => true,
require => Package["monit"],
}
file {
$configdir:
ensure => directory;
$config:
ensure => present,
content => template($monitrc),
group => root,
notify => Service[monit],
mode => 0700;
"/var/lib/monit":
ensure => directory
}
}
define monit::package()
{
file { $name:
path => "$monit::configdir/${name}.conf",
ensure => present,
content => template("monit/${name}.conf.erb"),
group => root,
require => File[$monit::configdir],
notify => Service[monit],
mode => 0700,
}
}