You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

168 lines
3.0 KiB
Plaintext

// 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 = "custom_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 = "custom_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
}