template Service "generic-network-service" { import "generic-service" zone = "master" } /** * Basic node health checks */ apply Service "ping4" { import "generic-network-service" check_command = "ping4" assign where host.address } apply Service "ping6" { import "generic-network-service" check_command = "ping6" assign where host.address6 } apply Service "ssh" { import "generic-network-service" check_command = "ssh" vars.ssh_port = host.vars.ssh_port || 222 assign where (host.address || host.address6) && host.vars.kernel == "linux" } /** * Network Service checks */ apply Service "dns-" for (dns_zone => config in host.vars.dns_zones) { import "generic-network-service" check_command = "dig" vars += { dig_server = host.address || host.address6 dig_lookup = dns_zone dig_warning = 0.1s dig_critical = 0.15s } vars += config } apply Service "ssh-" for (name => config in host.vars.extra_sshd) { import "generic-network-service" check_command = "ssh" vars += config } template Service "http" { import "generic-network-service" check_command = "http" vars += { http_vhost = http_vhost http_sni = true http_warn_time = 0.2s http_critical_time = 0.3s } vars += config } apply Service "https-" for (http_vhost => config in host.vars.http_vhosts) { import "http" vars.http_ssl = true } apply Service "https-cert-" for (http_vhost => config in host.vars.http_vhosts) { import "http" vars.http_certificate = "25,10" } apply Service "imap" { import "generic-network-service" check_command = "imap" vars += { imap_warning = 0.1s imap_critical = 0.2s } assign where host.vars.mailserver } template Service "smtp" { import "generic-network-service" check_command = "smtp" vars += { smtp_starttls = true smtp_warning = 0.5s smtp_critical = 0.75s } } apply Service "smtp-insecure" { import "smtp" vars.smtp_starttls = false assign where host.vars.mailserver } apply Service "smtp-secure" { import "smtp" assign where host.vars.mailserver } apply Service "smtp-cert" { import "smtp" vars.smtp_certificate_age = 10 assign where host.vars.mailserver } apply Service "submission" { import "smtp" vars.smtp_port = 587 assign where host.vars.mailserver }