2012-09-25 13:46:28 +02:00
|
|
|
/**
|
|
|
|
* Icinga 2 configuration file
|
|
|
|
* - this is where you define settings for the Icinga application including
|
|
|
|
* which hosts/services to check.
|
|
|
|
*
|
|
|
|
* The docs/icinga2-config.txt file in the source tarball has a detailed
|
|
|
|
* description of what configuration options are available.
|
|
|
|
*/
|
2012-09-14 11:32:49 +02:00
|
|
|
|
2012-09-25 13:46:28 +02:00
|
|
|
/**
|
|
|
|
* Global configuration settings
|
|
|
|
*/
|
|
|
|
local object IcingaApplication "icinga" {
|
2012-10-02 14:44:57 +02:00
|
|
|
pid_path = "./var/run/icinga2.pid",
|
|
|
|
log_path = "./var/log/icinga2/icinga2.log",
|
|
|
|
state_path = "./var/lib/icinga2/icinga2.state",
|
|
|
|
|
2012-09-25 13:46:28 +02:00
|
|
|
macros = {
|
2012-10-02 14:44:57 +02:00
|
|
|
plugindir = "/usr/local/icinga/libexec"
|
2012-09-25 13:46:28 +02:00
|
|
|
}
|
2012-09-14 11:32:49 +02:00
|
|
|
}
|
|
|
|
|
2012-09-25 13:46:28 +02:00
|
|
|
/**
|
|
|
|
* The checker component takes care of executing service checks.
|
|
|
|
*/
|
2012-09-14 11:32:49 +02:00
|
|
|
local object Component "checker" {
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2012-09-25 13:46:28 +02:00
|
|
|
/**
|
|
|
|
* The delegation component assigns services to checkers. You need to load
|
|
|
|
* this component even if your Icinga setup only consists of a single instance.
|
|
|
|
*/
|
2012-09-14 11:32:49 +02:00
|
|
|
local object Component "delegation" {
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2012-09-25 13:46:28 +02:00
|
|
|
/**
|
|
|
|
* The compat component periodically updates the status.dat and objects.cache
|
|
|
|
* files. These are used by the Icinga 1.x CGIs to display the state of
|
|
|
|
* hosts and services.
|
|
|
|
*/
|
2012-09-14 11:32:49 +02:00
|
|
|
local object Component "compat" {
|
2012-10-02 14:44:57 +02:00
|
|
|
status_path = "./var/cache/icinga2/status.dat",
|
|
|
|
objects_path = "./var/cache/icinga2/objects.cache",
|
2012-09-14 11:32:49 +02:00
|
|
|
}
|
|
|
|
|
2012-09-25 15:21:33 +02:00
|
|
|
/**
|
|
|
|
* The compatido component works as idomod connector to a running ido2db
|
|
|
|
* daemon, connected via tcp socket only. It will dump config and status
|
|
|
|
* information periodically for now. By default, this remains disabled.
|
|
|
|
*/
|
|
|
|
/*
|
|
|
|
local object Component "compatido" {
|
2012-10-02 14:44:57 +02:00
|
|
|
socket_address = "127.0.0.1",
|
|
|
|
socket_port = "5668",
|
|
|
|
instance_name = "i2-default",
|
2012-10-07 22:24:54 +02:00
|
|
|
reconnect_interval = 15,
|
2012-09-25 15:21:33 +02:00
|
|
|
}
|
|
|
|
*/
|
|
|
|
|
2012-09-25 13:46:28 +02:00
|
|
|
/**
|
|
|
|
* This template defines some basic parameters for services that use
|
|
|
|
* external plugins for their checks.
|
|
|
|
*/
|
2012-09-25 15:26:06 +02:00
|
|
|
abstract object Service "icinga-service" {
|
2012-09-14 15:41:14 +02:00
|
|
|
methods = {
|
2012-09-25 09:06:21 +02:00
|
|
|
check = "native::PluginCheck"
|
2012-09-14 11:32:49 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-09-25 13:46:28 +02:00
|
|
|
/**
|
|
|
|
* The service template for ping checks. In an Icinga 1.x environment
|
|
|
|
* this would be defined as a check command.
|
|
|
|
*/
|
2012-09-25 15:26:06 +02:00
|
|
|
abstract object Service "ping" inherits "icinga-service" {
|
2012-09-14 11:32:49 +02:00
|
|
|
check_command = "$plugindir$/check_ping -H $address$ -w $wrta$,$wpl$% -c $crta$,$cpl$%",
|
|
|
|
|
|
|
|
macros += {
|
|
|
|
wrta = 50,
|
|
|
|
wpl = 5,
|
|
|
|
crta = 100,
|
|
|
|
cpl = 10
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-09-25 13:46:28 +02:00
|
|
|
/**
|
|
|
|
* And finally we define some host that should be checked.
|
|
|
|
*/
|
2012-09-14 11:32:49 +02:00
|
|
|
object Host "localhost" {
|
|
|
|
services = { "ping" },
|
|
|
|
|
|
|
|
macros = {
|
|
|
|
address = "127.0.0.1"
|
|
|
|
},
|
|
|
|
|
2012-09-25 11:17:04 +02:00
|
|
|
check_interval = 1m
|
2012-09-14 11:32:49 +02:00
|
|
|
}
|
|
|
|
|
2012-10-08 00:21:56 +02:00
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Below, an advanced example of checking a host and its services
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
|
|
|
* ping
|
|
|
|
*/
|
|
|
|
abstract object Service "ping4" inherits "icinga-service" {
|
|
|
|
check_command = "$plugindir$/check_ping -H $address$ -w $wrta$,$wpl$% -c $crta$,$cpl$%",
|
|
|
|
macros += {
|
|
|
|
wrta = 50,
|
|
|
|
wpl = 5,
|
|
|
|
crta = 100,
|
|
|
|
cpl = 10
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
abstract object Service "ping6" inherits "icinga-service" {
|
|
|
|
check_command = "$plugindir$/check_ping -6 -H $address6$ -w $wrta$,$wpl$% -c $crta$,$cpl$%",
|
|
|
|
macros += {
|
|
|
|
wrta = 50,
|
|
|
|
wpl = 5,
|
|
|
|
crta = 100,
|
|
|
|
cpl = 10
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* http
|
|
|
|
*/
|
|
|
|
abstract object Service "http" inherits "icinga-service" {
|
|
|
|
check_command = "$plugindir$/check_http -H '$address$' -I '$address$'",
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* ssh
|
|
|
|
*/
|
|
|
|
abstract object Service "ssh" inherits "icinga-service" {
|
|
|
|
check_command = "$plugindir$/check_ssh '$address$'",
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* local checks
|
|
|
|
*/
|
|
|
|
abstract object Service "disk space" inherits "icinga-service" {
|
|
|
|
check_command = "$plugindir$/check_disk -w '$wfree$' -c '$cfree$'",
|
|
|
|
macros += {
|
|
|
|
wfree = "20%",
|
|
|
|
cfree = "10%",
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
abstract object Service "current users" inherits "icinga-service" {
|
|
|
|
check_command = "$plugindir$/check_users -w '$wgreater$' -c '$cgreater$'",
|
|
|
|
macros += {
|
|
|
|
wgreater = 20,
|
|
|
|
cgreater = 50,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
abstract object Service "total processes" inherits "icinga-service" {
|
|
|
|
check_command = "$plugindir$/check_procs -w '$wgreater$' -c '$cgreater$'",
|
|
|
|
macros += {
|
|
|
|
wgreater = 250,
|
|
|
|
cgreater = 400,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
abstract object Service "current load" inherits "icinga-service" {
|
|
|
|
check_command = "$plugindir$/check_load --warning='$wload1$,$wload5$,$wload15$' --critical='$cload1$,$cload5$,$cload15$'",
|
|
|
|
macros += {
|
|
|
|
wload1 = 5.0,
|
|
|
|
wload5 = 4.0,
|
|
|
|
wload15 = 3.0,
|
|
|
|
cload1 = 10.0,
|
|
|
|
cload5 = 6.0,
|
|
|
|
cload15 = 4.0,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
* one advanced icinga2 localhost
|
|
|
|
*/
|
|
|
|
object Host "localhost-i2" {
|
|
|
|
services = {
|
|
|
|
"ping", "ping6",
|
|
|
|
"http", "ssh",
|
|
|
|
"current load", "total processes",
|
|
|
|
"current users", "disk space",
|
|
|
|
},
|
|
|
|
macros = {
|
|
|
|
address = "127.0.0.1",
|
|
|
|
address6 = "::1",
|
|
|
|
},
|
|
|
|
check_interval = 1m
|
|
|
|
}
|
|
|
|
|