]> xn--ix-yja.es Git - alex.git/commitdiff
Add K8S monitoring
authoralex <alex@pdp7.net>
Mon, 15 May 2023 19:03:58 +0000 (21:03 +0200)
committeralex <alex@pdp7.net>
Mon, 15 May 2023 19:03:58 +0000 (21:03 +0200)
personal_infra/puppet/modules/nagios/manifests/k8s.pp [new file with mode: 0644]
personal_infra/puppet/site/nagios.h1.int.pdp7.net.pp

diff --git a/personal_infra/puppet/modules/nagios/manifests/k8s.pp b/personal_infra/puppet/modules/nagios/manifests/k8s.pp
new file mode 100644 (file)
index 0000000..6376daf
--- /dev/null
@@ -0,0 +1,35 @@
+class nagios::k8s {
+  nagios_command {'check_talos':
+    command_name => 'check_talos',
+    command_line => '/usr/lib64/nagios/plugins/check_http -H monitor -I $HOSTADDRESS$ -s OK -u /available',
+    require => Package['nagios'],
+    notify => Service['nagios'],
+    owner => 'nagios',
+  }
+
+  nagios_hostgroup {'k8s':
+    hostgroup_name => 'k8s',
+    require => Package['nagios'],
+    notify => Service['nagios'],
+    owner => 'nagios',
+    ensure => present,
+  }
+
+  nagios_servicegroup {'talos_check':
+    require => Package['nagios'],
+    notify => Service['nagios'],
+    owner => 'nagios',
+    ensure => present,
+  }
+
+  nagios_service {'talos-check':
+    use => 'generic-service',
+    hostgroup_name => 'k8s',
+    service_description => 'check_talos',
+    servicegroups => 'talos_check',
+    check_command => 'check_talos',
+    require => Package['nagios'],
+    notify => Service['nagios'],
+    owner => 'nagios',
+  }
+}
index ddd0dabf998171431a5aac8b25794faff19afa3e..6db53e62d5a5a9734765794defb19b913e0c7546 100644 (file)
@@ -1,3 +1,16 @@
 node 'nagios.h1.int.pdp7.net' {
   class {'nagios':}
+  class {'nagios::k8s':}
+
+  $k8s_hosts = lookup("groups.k8s")
+
+  $k8s_hosts.each |String $k8s_host| {
+    nagios_host {$k8s_host:
+      use => 'generic-host',
+      max_check_attempts => 5,
+      contact_groups => 'admins',
+      hostgroups => 'k8s',
+      check_command => 'check-host-alive',
+    }
+  }
 }