// vim: set ft=icinga2 et sw=2 ts=2 si ai: apply Service "apt" { import "generic-service" check_command = "apt" check_interval = 1h retry_interval = 15m vars.apt_list = true assign where host.vars.osfamily == "Debian" } apply Service "certificate " for (name => config in host.vars.x509_certs) { import "generic-service" check_command = "ssl_cert" check_interval = 6h retry_interval = 15m vars += config } apply Service "ca-certificate " for (name => config in host.vars.ca_certs) { import "generic-service" check_command = "custom_ca_cert" check_interval = 1d retry_interval = 6h vars += config } apply Service "disk " for (disk => config in host.vars.disks) { import "generic-service" check_command = "disk" vars += config } apply Service for (http_vhost => config in host.vars.http_vhosts) { import "generic-service" check_command = "http" vars += config } apply Service "icinga" { import "generic-service" check_command = "icinga" assign where host.name == NodeName } apply Service "icinga API certificate" { import "generic-service" check_command = "ssl_cert" check_interval = 6h retry_interval = 15m vars.ssl_cert_address = "localhost" vars.ssl_cert_file = "/var/lib/icinga2/certs/" + NodeName + ".crt" vars.ssl_cert_ignore_sct = true vars.ssl_cert_warn = 30 vars.ssl_cert_rootssl_cert = "/var/lib/icinga2/certs/ca.crt" assign where host.name == NodeName } apply Service "icinga CA certificate" { import "generic-service" check_command = "custom_ca_cert" check_interval = 1d retry_interval = 6h vars.ssl_cert_file = "/var/lib/icinga2/certs/ca.crt" vars.ssl_cert_warn = 396 vars.ssl_cert_critical = 376 assign where host.name == NodeName } apply Service "kernel-status" { import "generic-service" check_command = "kernel_status" assign where !host.vars.is_container } apply Service "load" { import "generic-service" check_command = "load" assign where host.name == NodeName } apply Service "pgsql " for (name => config in host.vars.pgsql_dbs) { import "generic-service" check_command = "pgsql_socket" vars += config } apply Service "ping4" { import "generic-service" check_command = "ping4" assign where host.address } apply Service "ping6" { import "generic-service" check_command = "ping6" assign where host.address6 } apply Service "procs" { import "generic-service" check_command = "procs" assign where host.name == NodeName } apply Service "proc-" for (proc => config in host.vars.procs) { import "generic-service" check_command = "procs" vars += config } apply Service "ssh" { import "generic-service" check_command = "ssh" assign where (host.address || host.address6) && host.vars.os == "Linux" && !host.vars.no_check_ssh } apply Service "systemd" { import "generic-service" check_command = "custom_systemd" assign where host.vars.debian_release && host.vars.debian_release >= 12 } apply Service "users" { import "generic-service" check_command = "users" assign where host.name == NodeName }