ansible-base/roles/icinga2_server/templates/conf.d/services.conf.j2
2020-10-03 14:19:22 +02:00

278 lines
6.8 KiB
Django/Jinja

/*
* Service apply rules.
*
* The CheckCommand objects `ping4`, `ping6`, etc
* are provided by the plugin check command templates.
* Check the documentation for details.
*
* Tip: Use `icinga2 object list --type Service` to
* list all service objects after running
* configuration validation (`icinga2 daemon -C`).
*/
/*
* This is an example host based on your
* local host's FQDN. Specify the NodeName
* constant in `constants.conf` or use your
* own description, e.g. "db-host-1".
*/
/*
* These are generic `ping4` and `ping6`
* checks applied to all hosts having the
* `address` resp. `address6` attribute
* defined.
*/
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 the `ssh` service to all hosts
* with the `address` attribute defined and
* the custom attribute `os` set to `Linux`.
*/
apply Service "ssh" {
import "generic-service"
check_command = "ssh"
assign where (host.address || host.address6) && host.vars.os == "Linux"
}
apply Service "dns-forward-ipv4" {
import "generic-service"
check_command = "dig"
vars.dig_lookup = "$host_name$"
vars.dig_server = "80.67.169.40"
vars.dig_record_type = "A"
vars.dig_ipv4 = "true"
if (host.vars.dig_expected_address) {
vars.dig_expected_address = host.vars.dig_expected_address
} else {
vars.dig_expected_address = "$address$"
}
assign where (host.address) && host.vars.os == "Linux"
}
apply Service "dns-forward-ipv6" {
import "generic-service"
check_command = "dig"
vars.dig_lookup = "$host_name$"
vars.dig_server = "2001:910:800::12"
vars.dig_record_type = "AAAA"
vars.dig_ipv6 = "true"
if (host.vars.dig_expected_address6) {
vars.dig_expected_address = host.vars.dig_expected_address6
} else {
vars.dig_expected_address = "$address6$"
}
assign where (host.address6) && host.vars.os == "Linux"
}
apply Service "dns-reverse-ipv4" {
import "generic-service"
check_command = "rdns"
vars.sla = "24x7"
vars.rdns_server = "80.67.169.40"
if (host.vars.rdns_expect) {
vars.rdns_expect = host.vars.rdns_expect
} else {
vars.rdns_expect = "$host_name$."
}
if (host.vars.rdns_address) {
vars.rdns_address = host.vars.rdns_address
} else {
vars.rdns_address = "$address$"
}
assign where (host.address) && host.vars.os == "Linux"# && host.name != "vm-mw-01.wirebrass.fr"
}
apply Service "dns-reverse-ipv6" {
import "generic-service"
check_command = "rdns"
vars.sla = "24x7"
vars.rdns_server = "2001:910:800::12"
if (host.vars.rdns_expect6) {
vars.rdns_expect = host.vars.rdns_expect6
} else {
vars.rdns_expect = "$host_name$."
}
if (host.vars.rdns_address6) {
vars.rdns_address = host.vars.rdns_address6
} else {
vars.rdns_address = "$address6$"
}
assign where (host.address6) && host.vars.os == "Linux" && host.name != "vm-ttn-01.wirebrass.fr" && host.name != "vm-fma-01.wirebrass.fr"# && host.name != "vm-mw-01.wirebrass.fr"
}
apply Service "ntp_by_ssh" {
import "generic-service"
check_command = "by_ssh_wirebrass"
vars.by_ssh_timeout = 30
vars.by_ssh_command = "$by_ssh_custom_plugins_path$check_ntp_time -H pool.ntp.org"
assign where host.vars.os == "Linux" && host.vars.agent_type == "ssh"
}
apply Service "uptime_by_ssh" {
import "generic-service"
check_command = "by_ssh_wirebrass"
vars.by_ssh_custom_uptime = 5184000
vars.by_ssh_command = "test $$(cut -d. -f1 /proc/uptime) -lt $by_ssh_custom_uptime$"
assign where host.vars.os == "Linux" && host.vars.agent_type == "ssh"
}
apply Service "load_by_ssh" {
import "generic-service"
check_command = "by_ssh_wirebrass"
vars.load_by_ssh_warn = "7.0,6.0,6.0"
vars.load_by_ssh_crit = "8.0,7.0,7.5"
vars.by_ssh_command = "$by_ssh_custom_plugins_path$check_load -w $load_by_ssh_warn$ -c $load_by_ssh_crit$"
assign where host.vars.os == "Linux" && host.vars.agent_type == "ssh"
}
apply Service "users_by_ssh" {
import "generic-service"
check_command = "by_ssh_wirebrass"
vars.users_wgreater = 5
vars.users_cgreater = 10
vars.by_ssh_command = "$by_ssh_custom_plugins_path$check_users -w $users_wgreater$ -c $users_cgreater$"
assign where host.vars.os == "Linux" && host.vars.agent_type == "ssh"
}
apply Service "disk_by_ssh_device" {
import "generic-service"
check_command = "by_ssh_wirebrass"
vars.by_ssh_command = "$by_ssh_custom_plugins_path$check_disk -w 20% -c 10% -A -x /sys/kernel/debug/tracing -x nsfs -x shm -x overlay"
assign where host.vars.os == "Linux" && host.vars.agent_type == "ssh"
}
apply Service "procs_zombie_by_ssh" {
import "generic-service"
check_command = "by_ssh_wirebrass"
vars.by_ssh_command = "$by_ssh_custom_plugins_path$check_procs -w 5 -c 10 -s Z"
assign where host.vars.os == "Linux" && host.vars.agent_type == "ssh"
}
apply Service "lastupdate_by_ssh" {
import "generic-service"
check_command = "by_ssh_wirebrass"
vars.by_ssh_command = "$by_ssh_custom_plugins_path$check_file_age -w 93600 -c 180000 -f /var/lastupdate"
assign where host.vars.os == "Linux" && host.vars.agent_type == "ssh" && host.name != "hv01.wirebrass.fr" && host.name != "hv02.wirebrass.fr" && host.name != "hv03.wirebrass.fr" && host.name != "radiosupinfo.wirebrass.fr" && host.name != "radio.supinfo.com.wirebrass.fr"
}
apply Service "procs_by_ssh" {
import "generic-service"
check_command = "by_ssh_wirebrass"
vars.procs_by_ssh_warn = 400
vars.procs_by_ssh_crit = 500
vars.by_ssh_command = "$by_ssh_custom_plugins_path$check_procs -w $procs_by_ssh_warn$ -c $procs_by_ssh_crit$"
assign where host.vars.os == "Linux" && host.vars.agent_type == "ssh"
}
apply Service for (http_vhost => config in host.vars.http_vhosts) {
import "generic-service"
check_command = "http"
vars += config
}
apply Service for (disk => config in host.vars.disks) {
import "generic-service"
check_command = "disk"
vars += config
}
apply Service "icinga" {
import "generic-service"
check_command = "icinga"
assign where host.name == NodeName
}
/*
apply Service "load" {
import "generic-service"
check_command = "load"
*/
/* Used by the ScheduledDowntime apply rule in `downtimes.conf`. */
/*vars.backup_downtime = "02:00-03:00"
assign where host.name == NodeName
}*/
apply Service "procs" {
import "generic-service"
check_command = "procs"
assign where host.name == NodeName
}
apply Service "swap" {
import "generic-service"
check_command = "swap"
assign where host.name == NodeName
}
apply Service "users" {
import "generic-service"
check_command = "users"
assign where host.name == NodeName
}