aboutsummaryrefslogtreecommitdiff
path: root/personal_infra/puppet
diff options
context:
space:
mode:
authoralex <alex@pdp7.net>2023-05-15 21:03:58 +0200
committeralex <alex@pdp7.net>2023-05-15 21:03:58 +0200
commit7be6707592b036544d0ad3c52d4ae56304bc059c (patch)
tree26d67ded4fff56ae3b36911cfa886a12cc33c55e /personal_infra/puppet
parent58b1f095a6a0cff0dfbf4b787950d89db3e836e7 (diff)
Add K8S monitoring
Diffstat (limited to 'personal_infra/puppet')
-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',
+ }
+ }
}