aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--personal_infra/puppet/modules/nagios/manifests/k8s.pp35
-rw-r--r--personal_infra/puppet/site/nagios.h1.int.pdp7.net.pp13
2 files changed, 48 insertions, 0 deletions
diff --git a/personal_infra/puppet/modules/nagios/manifests/k8s.pp b/personal_infra/puppet/modules/nagios/manifests/k8s.pp
new file mode 100644
index 00000000..6376daf2
--- /dev/null
+++ b/personal_infra/puppet/modules/nagios/manifests/k8s.pp
@@ -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',
+ }
+}
diff --git a/personal_infra/puppet/site/nagios.h1.int.pdp7.net.pp b/personal_infra/puppet/site/nagios.h1.int.pdp7.net.pp
index ddd0dabf..6db53e62 100644
--- a/personal_infra/puppet/site/nagios.h1.int.pdp7.net.pp
+++ b/personal_infra/puppet/site/nagios.h1.int.pdp7.net.pp
@@ -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',
+ }
+ }
}