mirror of https://github.com/Icinga/icinga2.git
295 lines
7.2 KiB
Plaintext
295 lines
7.2 KiB
Plaintext
/**
|
|
* 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.
|
|
*/
|
|
|
|
include <itl/itl.conf>
|
|
include <itl/standalone.conf>
|
|
|
|
/**
|
|
* Global configuration settings
|
|
*/
|
|
local object IcingaApplication "icinga" {
|
|
macros = {
|
|
plugindir = "/usr/lib/nagios/plugins",
|
|
iconimagedir = "/icinga2/images/icons"
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Enable Syslogger
|
|
*/
|
|
/*
|
|
local object SyslogLogger "icinga2-syslog" {
|
|
severity = "information"
|
|
}
|
|
|
|
local object FileLogger "my-debug-file" {
|
|
severity = "debug",
|
|
path = "/home/michi/i2/var/log/icinga2/icinga2-debug.log"
|
|
}
|
|
*/
|
|
/**
|
|
* 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.
|
|
*/
|
|
library "compat"
|
|
local object CompatComponent "compat" { }
|
|
local object CompatLog "compat-log" { }
|
|
|
|
/**
|
|
* INGRAPH
|
|
*/
|
|
local object PerfdataWriter "pnp" {
|
|
perfdata_path = "/data/icinga2/perfdata/service-perfdata",
|
|
format_template = "DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$",
|
|
rotation_interval = 15s,
|
|
}
|
|
|
|
/**
|
|
* LIVESTATUS
|
|
*/
|
|
library "livestatus"
|
|
|
|
local object LivestatusComponent "livestatus-tcp" {
|
|
socket_type = "tcp",
|
|
host = "10.0.10.18",
|
|
port = "6558"
|
|
}
|
|
|
|
local object LivestatusComponent "livestatus-unix" {
|
|
socket_type = "unix",
|
|
socket_path = "/home/michi/i2/var/run/icinga2/livestatus"
|
|
}
|
|
|
|
/**
|
|
* IDO
|
|
*/
|
|
library "ido_mysql"
|
|
|
|
local object MysqlDbConnection "ido-mysql" {
|
|
host = "127.0.0.1",
|
|
port = "3306",
|
|
user = "icinga",
|
|
password = "icinga",
|
|
database = "icinga",
|
|
table_prefix = "icinga_",
|
|
instance_name = "icinga2",
|
|
instance_description = "icinga2 dev instance"
|
|
}
|
|
|
|
|
|
/**
|
|
* And finally we define some host that should be checked.
|
|
*/
|
|
set bumsti = 60
|
|
|
|
template Service "notification-tmpl" {
|
|
notifications["mail-michi"] = {
|
|
templates = [ "mail-notification" ],
|
|
users = [ "michi" ],
|
|
},
|
|
}
|
|
|
|
template Service "flapper" inherits "ping4" {
|
|
|
|
notifications["mail-michi"] = {
|
|
templates = [ "mail-notification" ],
|
|
users = [ "michi" ],
|
|
},
|
|
check_command = "flapme",
|
|
|
|
enable_flapping = 1,
|
|
flapping_threshold = 20,
|
|
check_interval = 15s,
|
|
custom = {
|
|
"foo1" = "bar1",
|
|
"foo5" = "bar5"
|
|
},
|
|
servicegroups = [ "sg-thruk" ],
|
|
}
|
|
|
|
object Host "dummy01" {
|
|
hostgroups = [ "hg-thruk" ],
|
|
services["flapme"] = {
|
|
templates = [ "flapper" ],
|
|
check_command = "flapme",
|
|
},
|
|
}
|
|
|
|
object Host "localhost" {
|
|
services["flapme"] = {
|
|
templates = [ "flapper" ],
|
|
notifications["mail-michi"] = {
|
|
templates = [ "mail-notification" ],
|
|
users = [ "michi" ],
|
|
groups = [ "all-michis" ],
|
|
notification_period = "24x7",
|
|
notification_state_filter = (StateFilterUnknown | StateFilterOK | StateFilterWarning | StateFilterCritical),
|
|
notification_type_filter = (NotificationRecovery | NotificationDowntimeStart | NotificationDowntimeEnd),
|
|
},
|
|
check_command = "flapme",
|
|
|
|
enable_flapping = 1,
|
|
flapping_threshold = 20,
|
|
check_interval = 15s,
|
|
|
|
custom += {
|
|
"foo1" = "bar1",
|
|
"foo2" = "bar2",
|
|
"notes" = "flapping test $SERVICEATTEMPT$ / $MAXSERVICEATTEMPT$",
|
|
"notes_url" = "https://www.icinga.org/$HOSTNAME$/$SERVICEDESC$/$TIMET$",
|
|
"action_url" = "https://dev.icinga.org/$HOSTADDRESS$/$SERVICESTATE$",
|
|
"icon_image" = "$iconimagedir$/icinga2.png",
|
|
"icon_image_alt" = "custom attr macro expand test"
|
|
},
|
|
servicegroups = [ "sg-thruk" ],
|
|
},
|
|
services["ping4"] = {
|
|
templates = [ "ping4", "notification-tmpl" ],
|
|
},
|
|
services["ping6"] = {
|
|
templates = [ "ping6", "notification-tmpl" ],
|
|
},
|
|
services["ssh"] = {
|
|
templates = [ "ssh", "notification-tmpl" ],
|
|
},
|
|
services["load"] = {
|
|
templates = [ "load", "notification-tmpl" ],
|
|
},
|
|
services["users"] = {
|
|
templates = [ "users", "notification-tmpl" ],
|
|
servicegroups = [ "sg-thruk" ],
|
|
servicedependencies = [
|
|
{ host = "dummy01", service = "flapme" },
|
|
],
|
|
},
|
|
|
|
macros = {
|
|
address = "127.0.0.1",
|
|
address6 = "::1",
|
|
},
|
|
|
|
hostdependencies = [ "dummy01" ],
|
|
custom += {
|
|
"fooh1" = "barh1",
|
|
"fooh2" = "barh2",
|
|
"notes" = "host test $SERVICEATTEMPT$ / $MAXSERVICEATTEMPT$", /* this should work with hostcheck set */
|
|
"notes_url" = "https://www.icinga.org/$HOSTNAME$/$SERVICEDESC$/$TIMET$",
|
|
"action_url" = "https://dev.icinga.org/$HOSTADDRESS$/$SERVICESTATE$",
|
|
"icon_image" = "$iconimagedir$/icinga2.png",
|
|
"icon_image_alt" = "custom attr macro expand test",
|
|
"2d_coords" = "42,1337"
|
|
},
|
|
|
|
//hostcheck = "ping4",
|
|
hostcheck = "flapme",
|
|
|
|
hostgroups = [ "hg-thruk" ],
|
|
|
|
check_interval = (bumsti * 5)
|
|
}
|
|
|
|
object HostGroup "hg-thruk" {
|
|
display_name = "hg thruk livestatus",
|
|
custom = {
|
|
action_url = "http://www.icinga.org/about/icinga2",
|
|
notes_url = "http://docs.icinga.org/latest/en",
|
|
notes = "This is the icinga2 livestatus test"
|
|
}
|
|
}
|
|
|
|
object ServiceGroup "sg-thruk" {
|
|
display_name = "sg thruk livestatus",
|
|
custom = {
|
|
action_url = "http://www.icinga.org/about/icinga2",
|
|
notes_url = "http://docs.icinga.org/latest/en",
|
|
notes = "This is the icinga2 livestatus test"
|
|
}
|
|
}
|
|
|
|
object CheckCommand "flapme" inherits "plugin-check-command" {
|
|
command = "/home/michi/coding/icinga/icinga2/contrib/flap.sh",
|
|
}
|
|
|
|
object EventCommand "eventme" inherits "plugin-event-command" {
|
|
command = "echo \"event fired\"",
|
|
}
|
|
|
|
object NotificationCommand "notifyme" inherits "plugin-notification-command" {
|
|
command = "echo \"hello\"",
|
|
}
|
|
|
|
object NotificationCommand "mail" inherits "plugin-notification-command" {
|
|
|
|
command = "echo `date +%s` >> /tmp/i2.notify"
|
|
}
|
|
|
|
object User "michi-clone" {
|
|
groups = [ "all-michis" ],
|
|
}
|
|
|
|
object User "michi" {
|
|
groups = [ "all-michis" ],
|
|
notification_state_filter = (StateFilterUnknown | StateFilterOK | StateFilterWarning | StateFilterCritical),
|
|
|
|
enable_notifications = 1,
|
|
notification_period = "24x7",
|
|
|
|
macros = {
|
|
"name" = "bumsti",
|
|
"pager" = "keks@kekse.de",
|
|
"email" = "michael.friedrich@icinga.org",
|
|
},
|
|
|
|
custom = {
|
|
"cv_key01" = "cv_val01",
|
|
"cv_key03" = "cv_val03",
|
|
"cv_key07" = "cv_val07",
|
|
}
|
|
}
|
|
|
|
object UserGroup "all-michis" {
|
|
display_name = "all my michis",
|
|
}
|
|
|
|
template Notification "mail-notification" {
|
|
|
|
notification_command = "mail",
|
|
}
|
|
|
|
object TimePeriod "8x5" inherits "legacy-timeperiod" {
|
|
display_name = "icinga 2 8x5",
|
|
ranges = {
|
|
"monday" = "09:00-17:00",
|
|
"tuesday" = "09:00-17:00",
|
|
"wednesday" = "09:00-17:00",
|
|
"thursday" = "09:00-17:00",
|
|
"friday" = "09:00-17:00",
|
|
}
|
|
}
|
|
|
|
object TimePeriod "24x7" inherits "legacy-timeperiod" {
|
|
display_name = "icinga 2 24x7",
|
|
ranges = {
|
|
"monday" = "00:00-24:00",
|
|
"tuesday" = "00:00-24:00",
|
|
"wednesday" = "00:00-24:00",
|
|
"thursday" = "00:00-24:00",
|
|
"friday" = "00:00-24:00",
|
|
"saturday" = "00:00-24:00",
|
|
"sunday" = "00:00-24:00",
|
|
}
|
|
}
|
|
|
|
object TimePeriod "none" inherits "legacy-timeperiod" {
|
|
display_name = "icinga 2 none",
|
|
ranges = {
|
|
}
|
|
}
|