]> git.immae.eu Git - perso/Immae/Projets/Puppet.git/blobdiff - modules/profile/manifests/monitoring/commands.pp
Add monitoring for cryptoportfolio
[perso/Immae/Projets/Puppet.git] / modules / profile / manifests / monitoring / commands.pp
index 7e9683f70809ebe8373ad6de6c0a681876f3149a..7c5d8ed7a3e24be70e4a0cbe288b930731f6f6c8 100644 (file)
@@ -1,36 +1,37 @@
 class profile::monitoring::commands inherits profile::monitoring {
   ensure_packages(["monitoring-plugins"])
 
-  file { "/etc/naemon/monitoring-plugins":
+  file { $plugins:
     ensure => "directory",
-    owner  => "naemon",
-    group  => "naemon",
-    mode   => "0700",
-  }
-
-  file { "/etc/naemon/monitoring-plugins/check_command":
-    ensure => "present",
-    owner  => "naemon",
+    owner  => "root",
     group  => "naemon",
-    mode   => "0700",
-    source => "puppet:///modules/profile/monitoring/check_command",
+    mode   => "0755",
   }
 
-  file { "/etc/naemon/monitoring-plugins/check_md_raid":
-    ensure => "present",
-    owner  => "naemon",
-    group  => "naemon",
-    mode   => "0700",
-    source => "puppet:///modules/profile/monitoring/check_md_raid",
+  [
+    "check_command",
+    "check_md_raid",
+    "check_postgres_replication",
+    "check_date",
+    "check_last_file_date",
+  ].each |$file| {
+    file { "$plugins/$file":
+      ensure => "present",
+      owner  => "root",
+      group  => "naemon",
+      mode   => "0755",
+      source => "puppet:///modules/profile/monitoring/$file",
+    }
   }
 
   Nagios_command {
     ensure => "present",
     owner  => "naemon",
     group  => "naemon",
-    target => "/etc/naemon/objects.cfg",
+    target => $objects,
     notify => Service["naemon"],
     before => Service["naemon"],
+    require => File["/etc/naemon"],
   }
 
   nagios_command {
@@ -47,10 +48,20 @@ class profile::monitoring::commands inherits profile::monitoring {
     "check_ntp":
       command_line => '$USER1$/check_ntp_time -H 0.arch.pool.ntp.org';
     "check_md_raid":
-      command_line => '$USER2$/check_md_raid';
+      command_line => '$USER2$/check_md_raid',
+      require      => File["$plugins/check_md_raid"];
     "check_command_output":
       command_line => '$USER2$/check_command -c "$ARG1$" -o "$ARG2$" $ARG3$',
-      require      => File["/etc/naemon/monitoring-plugins/check_command"];
+      require      => File["$plugins/check_command"];
+    "check_postgresql_replication":
+      command_line => '/usr/bin/sudo -u postgres $USER2$/check_postgres_replication "$ARG1$" "$ARG2$" "$ARG3$"',
+      require      => File["$plugins/check_postgres_replication"];
+    "check_last_file_date":
+      command_line => '$USER2$/check_last_file_date "$ARG1$" "$ARG2$" "$ARG3$"',
+      require      => File["$plugins/check_last_file_date"];
+    "check_date":
+      command_line => '$USER2$/check_date "$ARG1$" "$ARG2$" "$ARG3$"',
+      require      => File["$plugins/check_date"];
   }
 
   unless empty($naemon_url) {