--- /dev/null
+/**
+ * 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 = {
+ }
+}