Share Pastebin
Guest
Public paste!

meister

By: a guest | Jan 28th, 2010 | Syntax: None | Size: 1.55 KB | Hits: 62 | Expires: Never
This paste has a previous version, view the difference. Copy text to clipboard
  1. # manifests/nodes.pp
  2. $disks = [[ "/dev/md0", "md0", "98%" ]]
  3. -------------
  4.  
  5. # modules/monit/templates/disk_space.conf.erb
  6. <% for disk in disks %>
  7.     check device "<%= disk[1] %>" with path "<%= disk[0] %>"
  8.     if space usage > <%= disk[2] %>% then alert
  9. <% end %>
  10. --------------
  11.  
  12. # /etc/monit.d/disk_space.conf
  13.  
  14.     check device "100" with path "47"
  15.     if space usage > 101% then alert
  16.  
  17.     check device "100" with path "109"
  18.     if space usage > 48% then alert
  19.  
  20.     check device "56" with path "57"
  21.     if space usage > 37% then alert
  22.  
  23. --------------
  24.  
  25. # module : monit/init.pp
  26.  
  27. class monit {
  28.     $configdir = "/etc/monit.d"
  29.     $monitrc = "monit/monitrc.erb"
  30.     $config = "/etc/monitrc"
  31.  
  32.     package { "monit":
  33.         ensure => present;
  34.     }
  35.  
  36.     service { monit:
  37.         ensure => running,
  38.         hasstatus => true,
  39.         require => Package["monit"],
  40.     }
  41.  
  42.     file {
  43.         $configdir:
  44.             ensure => directory;
  45.         $config:
  46.             ensure => present,
  47.             content => template($monitrc),
  48.             group => root,
  49.             notify => Service[monit],
  50.             mode => 0700;
  51.         "/var/lib/monit":
  52.             ensure => directory
  53.     }
  54. }
  55.  
  56. define monit::package()
  57. {
  58.     file { $name:
  59.             path => "$monit::configdir/${name}.conf",
  60.             ensure => present,
  61.             content => template("monit/${name}.conf.erb"),
  62.             group => root,
  63.             require => File[$monit::configdir],
  64.             notify => Service[monit],
  65.             mode => 0700,
  66.     }
  67.  
  68. }