2014-02-05 15:53:22 +01:00
## <a id="object-types"></a> Object Types
2013-09-26 08:59:29 +02:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-host"></a> Host
2013-09-26 08:59:29 +02:00
2013-09-27 07:19:13 +02:00
A host.
2013-09-26 08:59:29 +02:00
Example:
2013-09-27 07:19:13 +02:00
object Host "localhost" {
2014-03-31 18:38:15 +02:00
display_name = "The best host there is"
2013-09-26 08:59:29 +02:00
2014-03-31 18:38:15 +02:00
groups = [ "all-hosts" ]
2013-09-26 08:59:29 +02:00
2014-04-04 19:04:13 +02:00
check_command = "hostalive"
2013-09-26 08:59:29 +02:00
}
Attributes:
2013-09-26 14:01:29 +02:00
Name |Description
2013-09-26 08:59:29 +02:00
----------------|----------------
2013-09-27 07:19:13 +02:00
display_name |**Optional.** A short description of the host.
groups |**Optional.** A list of host groups this host belongs to.
2014-04-04 18:41:54 +02:00
vars |**Optional.** A dictionary containing custom attributes that are specific to this host.
2014-04-05 14:53:12 +02:00
check\_command |**Required.** The name of the check command.
max\_check\_attempts|**Optional.** The number of times a host is re-checked before changing into a hard state. Defaults to 3.
check\_period |**Optional.** The name of a time period which determines when this host should be checked. Not set by default.
check\_interval |**Optional.** The check interval (in seconds). This interval is used for checks when the host is in a `HARD` state. Defaults to 5 minutes.
retry\_interval |**Optional.** The retry interval (in seconds). This interval is used for checks when the host is in a `SOFT` state. Defaults to 1 minute.
enable\_notifications|**Optional.** Whether notifications are enabled. Defaults to true.
enable\_active\_checks|**Optional.** Whether active checks are enabled. Defaults to true.
enable\_passive\_checks|**Optional.** Whether passive checks are enabled. Defaults to true.
enable\_event\_handler|**Optional.** Enables event handlers for this host. Defaults to true.
enable\_flap\_detection|**Optional.** Whether flap detection is enabled. Defaults to true.
enable\_perfdata|**Optional.** Whether performance data processing is enabled. Defaults to true.
event\_command |**Optional.** The name of an event command that should be executed every time the host's state changes.
flapping\_threshold|**Optional.** The flapping threshold in percent when a host is considered to be flapping.
volatile |**Optional.** The volatile setting enables always `HARD` state types if `NOT-OK` state changes occur.
authorities |**Optional.** A list of Endpoints on which this host check will be executed in a cluster scenario.
domains |**Optional.** A list of Domains for this host object in a cluster scenario.
2013-09-26 08:59:29 +02:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-hostgroup"></a> HostGroup
2013-09-26 08:59:29 +02:00
2013-09-27 07:19:13 +02:00
A group of hosts.
2013-09-26 08:59:29 +02:00
Example:
2013-09-27 07:19:13 +02:00
object HostGroup "my-hosts" {
2014-03-31 18:38:15 +02:00
display_name = "My hosts"
2013-09-26 08:59:29 +02:00
}
Attributes:
2013-09-26 14:01:29 +02:00
Name |Description
2013-09-26 08:59:29 +02:00
----------------|----------------
2013-09-27 07:19:13 +02:00
display_name |**Optional.** A short description of the host group.
2014-04-14 20:59:41 +02:00
groups |**Optional.** An array of nested group names.
2013-09-26 08:59:29 +02:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-service"></a> Service
2013-09-26 08:59:29 +02:00
Service objects describe network services and how they should be checked
by Icinga 2.
> **Best Practice**
>
2013-10-07 09:35:44 +02:00
> Rather than creating a `Service` object for a specific host it is usually easier
2014-03-29 01:13:28 +01:00
> to just create a `Service` template and use the `apply` keyword to assign the
> service to a number of hosts.
2013-09-26 08:59:29 +02:00
Example:
2014-04-05 14:53:12 +02:00
object Service "uptime" {
2014-04-05 09:15:40 +02:00
host_name = "localhost"
2013-09-26 08:59:29 +02:00
2014-03-31 18:38:15 +02:00
display_name = "localhost Uptime"
2013-09-26 08:59:29 +02:00
2014-03-31 18:38:15 +02:00
check_command = "check_snmp"
2013-09-26 08:59:29 +02:00
2014-04-04 18:41:54 +02:00
vars = {
2014-03-31 18:38:15 +02:00
community = "public"
2013-09-26 08:59:29 +02:00
oid = "DISMAN-EVENT-MIB::sysUpTimeInstance"
}
2014-03-31 18:38:15 +02:00
check_interval = 60s
retry_interval = 15s
2013-09-26 08:59:29 +02:00
2014-03-31 18:38:15 +02:00
groups = [ "all-services", "snmp" ]
2013-09-26 08:59:29 +02:00
}
Attributes:
2013-09-26 14:01:29 +02:00
Name |Description
2013-09-26 08:59:29 +02:00
----------------|----------------
2014-04-05 09:15:40 +02:00
host_name |**Required.** The host this service belongs to. There must be a `Host` object with that name.
name |**Required.** The service name. Must be unique on a per-host basis (Similar to the service_description attribute in Icinga 1.x).
2013-09-26 08:59:29 +02:00
groups |**Optional.** The service groups this service belongs to.
2014-04-05 14:53:12 +02:00
In addition to these attributes you can also use any of the attributes which are also valid for `Host` objects.
2013-09-26 08:59:29 +02:00
2014-04-06 21:15:25 +02:00
Service objects have composite names, i.e. their names are based on the host_name attribute and the name you specified. This means
you can define more than one object with the same (short) name as long as the `host_name` attribute has a different value.
2014-04-06 08:28:28 +02:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-servicegroup"></a> ServiceGroup
2013-09-26 08:59:29 +02:00
A group of services.
Example:
object ServiceGroup "snmp" {
2014-03-31 18:38:15 +02:00
display_name = "SNMP services"
2013-09-26 08:59:29 +02:00
}
Attributes:
2013-09-26 14:01:29 +02:00
Name |Description
2013-09-26 08:59:29 +02:00
----------------|----------------
display_name |**Optional.** A short description of the service group.
2014-04-14 20:59:41 +02:00
groups |**Optional.** An array of nested group names.
2013-09-26 08:59:29 +02:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-notification"></a> Notification
2013-09-26 08:59:29 +02:00
2013-10-01 15:33:34 +02:00
Notification objects are used to specify how users should be notified in case
of service state changes and other events.
> **Best Practice**
>
2013-10-07 09:35:44 +02:00
> Rather than creating a `Notification` object for a specific service it is usually easier
2014-03-29 01:13:28 +01:00
> to just create a `Notification` template and use the `apply` keyword to assign the
> notification to a number of services.
2013-09-26 08:59:29 +02:00
Example:
2013-10-01 15:33:34 +02:00
object Notification "localhost-ping-notification" {
2014-04-05 09:15:40 +02:00
host_name = "localhost"
service_name = "ping4"
2013-10-01 15:33:34 +02:00
2014-04-09 10:25:23 +02:00
command = "mail-notification"
2013-10-01 15:33:34 +02:00
users = [ "user1", "user2" ]
2014-04-07 13:59:41 +02:00
2014-04-09 10:25:23 +02:00
types = [ Problem, Recovery ]
2013-10-01 15:33:34 +02:00
}
2013-09-26 08:59:29 +02:00
Attributes:
2014-04-06 21:15:25 +02:00
Name | Description
--------------------------|----------------
host_name | **Required.** The name of the host this notification belongs to.
service_name | **Required.** The short name of the service this notification belongs to.
vars | **Optional.** A dictionary containing custom attributes that are specific to this notification object.
users | **Optional.** A list of user names who should be notified.
user_groups | **Optional.** A list of user group names who should be notified.
times | **Optional.** A dictionary containing `begin` and `end` attributes for the notification.
2014-04-09 10:25:23 +02:00
command | **Required.** The name of the notification command which should be executed when the notification is triggered.
interval | **Optional.** The notification interval (in seconds). This interval is used for active notifications. Defaults to 30 minutes.
period | **Optional.** The name of a time period which determines when this notification should be triggered. Not set by default.
types | **Optional.** A list of type filters when this notification should be triggered. By default everything is matched.
states | **Optional.** A list of type filters when this notification should be triggered. By default everything is matched.
2014-04-07 13:59:41 +02:00
Available notification state filters:
2014-04-06 21:15:25 +02:00
2014-04-07 13:59:41 +02:00
OK
Warning
Critical
Unknown
Up
Down
2013-10-18 20:05:08 +02:00
2014-04-07 13:59:41 +02:00
Available notification type filters:
2013-10-18 20:05:08 +02:00
2014-04-07 13:59:41 +02:00
DowntimeStart
DowntimeEnd
DowntimeRemoved
Custom
Acknowledgement
Problem
Recovery
FlappingStart
FlappingEnd
2013-09-26 08:59:29 +02:00
2014-02-27 11:05:55 +01:00
### <a id="objecttype-dependency"></a> Dependency
Dependency objects are used to specify dependencies between hosts and services.
> **Best Practice**
>
> Rather than creating a `Dependency` object for a specific service it is usually easier
2014-03-29 01:13:28 +01:00
> to just create a `Dependency` template and use the `apply` keyword to assign the
> dependency to a number of services.
2014-02-27 11:05:55 +01:00
Example:
object Dependency "webserver-internet" {
2014-04-05 09:15:40 +02:00
child_host_name = "webserver"
child_service_name = "ping4"
2014-02-27 11:05:55 +01:00
2014-04-05 09:15:40 +02:00
parent_host_name = "internet"
parent_service_name = "ping4"
2014-02-27 11:05:55 +01:00
2014-04-07 13:59:41 +02:00
state_filter = [ OK, Warning ]
2014-02-27 11:05:55 +01:00
disable_checks = true
}
Attributes:
Name |Description
----------------|----------------
2014-04-06 18:26:23 +02:00
parent_host_name |**Required.** The parent host.
parent_service_name |**Optional.** The parent service. When not specified the host's check service is used.
child_host_name |**Required.** The child host.
child_service_name |**Optional.** The child service. When not specified the host's check service is used.
2014-02-27 11:05:55 +01:00
disable_checks |**Optional.** Whether to disable checks when this dependency fails. Defaults to false.
disable_notifications|**Optional.** Whether to disable notifications when this dependency fails. Defaults to true.
period |**Optional.** Time period during which this dependency is enabled.
2014-04-07 13:59:41 +02:00
state_filter |**Optional.** A list of type filters when this dependency should be OK. Defaults to [ OK, Warning ] for services and [ Up ] for hosts.
2014-02-27 11:05:55 +01:00
Available state filters:
2014-04-07 13:59:41 +02:00
OK
Warning
Critical
Unknown
Up
Down
2014-02-27 11:05:55 +01:00
2014-04-06 21:15:25 +02:00
Dependency objects have composite names, i.e. their names are based on the `child_host_name` and `child_service_name` attributes and the
name you specified. This means you can define more than one object with the same (short) name as long as one of the `child_host_name` and
`child_service_name` attributes has a different value.
2014-04-06 08:28:28 +02:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-user"></a> User
2013-09-26 08:59:29 +02:00
2013-09-27 07:19:13 +02:00
A user.
2013-09-26 08:59:29 +02:00
Example:
2013-10-17 18:12:52 +02:00
object User "icingaadmin" {
2014-03-31 18:38:15 +02:00
display_name = "Icinga 2 Admin"
groups = [ "icingaadmins" ]
2013-10-17 18:12:52 +02:00
2014-04-09 10:25:23 +02:00
notificcation_period = "24x7"
2013-10-17 18:12:52 +02:00
2014-04-09 10:25:23 +02:00
states = [ OK, Warning, Critical, Unknown ]
types = [ Problem, Recovery ]
2014-03-31 18:38:15 +02:00
2014-04-04 18:41:54 +02:00
vars = {
2014-03-31 18:38:15 +02:00
name = "Icinga 2 Admin"
email = "icinga@localhost"
pager = "icingaadmin@localhost.localdomain"
}
2013-10-17 18:12:52 +02:00
custom = {
2014-03-31 18:38:15 +02:00
notes = "This is the Icinga 2 Admin account."
2013-10-17 18:12:52 +02:00
}
}
2014-04-07 13:59:41 +02:00
Available notification state filters:
OK
Warning
Critical
Unknown
Up
Down
Available notification type filters:
DowntimeStart
DowntimeEnd
DowntimeRemoved
Custom
Acknowledgement
Problem
Recovery
FlappingStart
FlappingEnd
2014-03-17 18:08:05 +01:00
2013-09-26 08:59:29 +02:00
Attributes:
2013-09-26 14:01:29 +02:00
Name |Description
2013-09-26 08:59:29 +02:00
----------------|----------------
2013-09-27 07:19:13 +02:00
display_name |**Optional.** A short description of the user.
2014-04-04 18:41:54 +02:00
vars |**Optional.** A dictionary containing custom attributes that are specific to this user.
2013-10-18 15:10:34 +02:00
groups |**Optional.** An array of group names.
enable_notifications|**Optional.** Whether notifications are enabled for this user.
2014-04-09 10:25:23 +02:00
period |**Optional.** The name of a time period which determines when this notification should be triggered. Not set by default.
types |**Optional.** A set of type filters when this notification should be triggered. By default everything is matched.
states |**Optional.** A set of state filters when this notification should be triggered. By default everything is matched.
2013-09-26 08:59:29 +02:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-usergroup"></a> UserGroup
2013-09-26 08:59:29 +02:00
2013-09-27 07:19:13 +02:00
A user group.
2013-09-26 08:59:29 +02:00
Example:
2013-10-17 18:12:52 +02:00
object UserGroup "icingaadmins" {
display_name = "Icinga 2 Admin Group"
2013-09-27 07:19:13 +02:00
}
2013-09-26 08:59:29 +02:00
Attributes:
2013-09-26 14:01:29 +02:00
Name |Description
2013-09-26 08:59:29 +02:00
----------------|----------------
2013-09-27 07:19:13 +02:00
display_name |**Optional.** A short description of the user group.
2014-04-14 20:59:41 +02:00
groups |**Optional.** An array of nested group names.
2013-09-26 08:59:29 +02:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-timeperiod"></a> TimePeriod
2013-09-26 08:59:29 +02:00
2013-09-27 07:19:13 +02:00
Time periods can be used to specify when services should be checked or to limit
when notifications should be sent out.
2013-09-26 08:59:29 +02:00
Example:
2014-03-27 12:30:24 +01:00
object TimePeriod "24x7" {
2014-03-31 18:38:15 +02:00
import "legacy-timeperiod"
display_name = "Icinga 2 24x7 TimePeriod"
2014-03-27 12:30:24 +01:00
2013-10-15 22:50:07 +02:00
ranges = {
2014-03-31 18:38:15 +02:00
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"
2013-10-15 22:50:07 +02:00
}
}
2013-09-26 08:59:29 +02:00
Attributes:
2013-09-26 14:01:29 +02:00
Name |Description
2013-09-26 08:59:29 +02:00
----------------|----------------
2013-09-27 07:19:13 +02:00
display_name |**Optional.** A short description of the time period.
2014-03-30 11:52:39 +02:00
methods |**Required.** The "update" script method takes care of updating the internal representation of the time period. In virtually all cases you should import the "legacy-timeperiod" template to take care of this setting.
2013-10-18 20:05:08 +02:00
ranges |**Required.** A dictionary containing information which days and durations apply to this timeperiod.
2013-09-26 08:59:29 +02:00
2013-10-15 22:50:07 +02:00
The `/etc/icinga2/conf.d/timeperiods.conf` file is usually used to define
timeperiods including this one.
2013-11-13 14:56:31 +01:00
### <a id="objecttype-scheduleddowntime"></a> ScheduledDowntime
ScheduledDowntime objects can be used to set up recurring downtimes for services.
> **Best Practice**
>
> Rather than creating a `ScheduledDowntime` object for a specific service it is usually easier
2014-03-29 01:13:28 +01:00
> to just create a `ScheduledDowntime` template and use the `apply` keyword to assign the
> scheduled downtime to a number of services.
2013-11-13 14:56:31 +01:00
Example:
object ScheduledDowntime "some-downtime" {
2014-04-05 09:15:40 +02:00
host_name = "localhost"
service_name = "ping4"
2013-11-13 14:56:31 +01:00
2014-03-31 18:38:15 +02:00
author = "icingaadmin"
comment = "Some comment"
2013-11-13 14:56:31 +01:00
2014-03-31 18:38:15 +02:00
fixed = false
duration = 30m
2013-11-13 14:56:31 +01:00
ranges = {
"sunday" = "02:00-03:00"
}
}
Attributes:
Name |Description
----------------|----------------
2014-04-05 09:15:40 +02:00
host_name |**Required.** The name of the host this notification belongs to.
service_name |**Required.** The short name of the service this notification belongs to.
2013-11-13 14:56:31 +01:00
author |**Required.** The author of the downtime.
comment |**Required.** A comment for the downtime.
fixed |**Optional.** Whether this is a fixed downtime. Defaults to true.
duration |**Optional.** How long the downtime lasts. Only has an effect for flexible (non-fixed) downtimes.
ranges |**Required.** A dictionary containing information which days and durations apply to this timeperiod.
2013-10-15 22:50:07 +02:00
2014-04-06 21:15:25 +02:00
ScheduledDowntime objects have composite names, i.e. their names are based
on the `host_name` and `service_name` attributes and the
name you specified. This means you can define more than one object
with the same (short) name as long as one of the `host_name` and
`service_name` attributes has a different value.
2014-04-06 08:28:28 +02:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-filelogger"></a> FileLogger
2013-09-26 08:59:29 +02:00
2013-09-27 07:19:13 +02:00
Specifies Icinga 2 logging to a file.
2013-09-26 08:59:29 +02:00
Example:
2013-09-27 07:19:13 +02:00
object FileLogger "my-debug-file" {
2014-03-31 18:38:15 +02:00
severity = "debug"
2013-09-27 07:19:13 +02:00
path = "/var/log/icinga2/icinga2-debug.log"
}
2013-09-26 08:59:29 +02:00
Attributes:
2013-09-26 14:01:29 +02:00
Name |Description
2013-09-26 08:59:29 +02:00
----------------|----------------
2013-09-27 07:19:13 +02:00
path |**Required.** The log path.
severity |**Optional.** The minimum severity for this log. Can be "debug", "information", "warning" or "critical". Defaults to "information".
2013-09-26 08:59:29 +02:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-sysloglogger"></a> SyslogLogger
2013-09-26 08:59:29 +02:00
2013-09-27 07:19:13 +02:00
Specifies Icinga 2 logging to syslog.
2013-09-26 08:59:29 +02:00
Example:
2013-09-27 07:19:13 +02:00
object SyslogLogger "my-crit-syslog" {
severity = "critical"
}
2013-09-26 08:59:29 +02:00
2013-09-27 07:19:13 +02:00
Attributes:
2013-09-26 08:59:29 +02:00
2013-09-27 07:19:13 +02:00
Name |Description
----------------|----------------
2014-04-12 11:53:04 +02:00
severity |**Optional.** The minimum severity for this log. Can be "debug", "information", "warning" or "critical". Defaults to "warning".
2013-09-26 08:59:29 +02:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-checkcommand"></a> CheckCommand
2013-09-26 08:59:29 +02:00
2014-04-04 18:41:54 +02:00
A check command definition. Additional default command custom attributes can be
2013-09-27 07:19:13 +02:00
defined here.
2013-09-26 08:59:29 +02:00
2013-09-27 07:19:13 +02:00
Example:
2013-09-26 08:59:29 +02:00
2014-03-27 12:30:24 +01:00
object CheckCommand "check_snmp" {
2014-03-31 18:38:15 +02:00
import "plugin-check-command"
2014-03-27 12:30:24 +01:00
2014-03-31 13:27:39 +02:00
command = [
PluginDir + "/check_snmp",
"-H", "$address$",
"-C", "$community$",
"-o", "$oid$"
2014-03-31 18:38:15 +02:00
]
2013-09-27 07:19:13 +02:00
2014-04-04 18:41:54 +02:00
vars = {
2014-03-31 18:38:15 +02:00
address = "127.0.0.1"
community = "public"
2013-09-26 08:59:29 +02:00
}
}
Attributes:
2013-09-26 14:01:29 +02:00
Name |Description
2013-09-26 08:59:29 +02:00
----------------|----------------
2014-03-30 11:52:39 +02:00
methods |**Required.** The "execute" script method takes care of executing the check. In virtually all cases you should import the "plugin-check-command" template to take care of this setting.
2013-10-01 15:33:34 +02:00
command |**Required.** The command. This can either be an array of individual command arguments. Alternatively a string can be specified in which case the shell interpreter (usually /bin/sh) takes care of parsing the command.
2014-04-06 10:45:50 +02:00
env |**Optional.** A dictionary of macros which should be exported as environment variables prior to executing the command.
2014-04-04 18:41:54 +02:00
vars |**Optional.** A dictionary containing custom attributes that are specific to this command.
2013-10-01 15:33:34 +02:00
timeout |**Optional.** The command timeout in seconds. Defaults to 5 minutes.
2013-09-26 08:59:29 +02:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-notificationcommand"></a> NotificationCommand
2013-09-26 08:59:29 +02:00
2013-09-27 07:19:13 +02:00
A notification command definition.
2013-09-26 08:59:29 +02:00
Example:
2014-03-27 12:30:24 +01:00
object NotificationCommand "mail-service-notification" {
2014-03-31 18:38:15 +02:00
import "plugin-notification-command"
2014-03-27 12:30:24 +01:00
2014-03-31 13:27:39 +02:00
command = [
2014-04-07 21:30:27 +02:00
SysconfDir + "/icinga2/scripts/mail-notification.sh"
2014-03-31 18:38:15 +02:00
]
2014-01-15 21:04:01 +01:00
2014-04-04 22:57:56 +02:00
env = {
"NOTIFICATIONTYPE" = "$notification.type$"
2014-04-11 12:40:20 +02:00
"SERVICEDESC" = "$service.name$"
"HOSTALIAS" = "$host.display_name$",
"HOSTADDRESS" = "$address$",
2014-04-04 22:57:56 +02:00
"SERVICESTATE" = "$service.state$",
2014-04-11 12:40:20 +02:00
"LONGDATETIME" = "$icinga.long_date_time$",
2014-04-04 22:57:56 +02:00
"SERVICEOUTPUT" = "$service.output$",
"NOTIFICATIONAUTHORNAME" = "$notification.author$",
"NOTIFICATIONCOMMENT" = "$notification.comment$",
2014-04-11 12:40:20 +02:00
"HOSTDISPLAYNAME" = "$host.display_name$",
"SERVICEDISPLAYNAME" = "$service.display_name$",
"USEREMAIL" = "$user.email$"
2014-04-04 22:57:56 +02:00
}
2013-09-26 08:59:29 +02:00
}
Attributes:
2013-09-26 14:01:29 +02:00
Name |Description
2013-09-26 08:59:29 +02:00
----------------|----------------
2014-03-30 11:52:39 +02:00
methods |**Required.** The "execute" script method takes care of executing the notification. In virtually all cases you should import the "plugin-notification-command" template to take care of this setting.
2013-10-01 15:33:34 +02:00
command |**Required.** The command. This can either be an array of individual command arguments. Alternatively a string can be specified in which case the shell interpreter (usually /bin/sh) takes care of parsing the command.
2014-04-06 10:45:50 +02:00
env |**Optional.** A dictionary of macros which should be exported as environment variables prior to executing the command.
2014-04-04 18:41:54 +02:00
vars |**Optional.** A dictionary containing custom attributes that are specific to this command.
2013-10-01 15:33:34 +02:00
timeout |**Optional.** The command timeout in seconds. Defaults to 5 minutes.
2013-09-26 08:59:29 +02:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-eventcommand"></a> EventCommand
2013-09-27 07:19:13 +02:00
An event command definition.
Example:
2014-03-27 12:30:24 +01:00
object EventCommand "restart-httpd-event" {
2014-03-31 18:38:15 +02:00
import "plugin-event-command"
2014-03-27 12:30:24 +01:00
2014-03-31 18:38:15 +02:00
command = "/opt/bin/restart-httpd.sh"
2013-09-27 07:19:13 +02:00
}
Attributes:
Name |Description
----------------|----------------
2014-03-30 11:52:39 +02:00
methods |**Required.** The "execute" script method takes care of executing the event handler. In virtually all cases you should import the "plugin-event-command" template to take care of this setting.
2013-10-01 15:33:34 +02:00
command |**Required.** The command. This can either be an array of individual command arguments. Alternatively a string can be specified in which case the shell interpreter (usually /bin/sh) takes care of parsing the command.
2014-04-06 10:45:50 +02:00
env |**Optional.** A dictionary of macros which should be exported as environment variables prior to executing the command.
2014-04-04 18:41:54 +02:00
vars |**Optional.** A dictionary containing custom attributes that are specific to this command.
2013-10-01 15:33:34 +02:00
timeout |**Optional.** The command timeout in seconds. Defaults to 5 minutes.
2013-09-27 07:19:13 +02:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-perfdatawriter"></a> PerfdataWriter
2013-09-26 08:59:29 +02:00
Writes check result performance data to a defined path using macro
pattern.
2013-10-14 20:12:42 +02:00
Example:
library "perfdata"
2013-09-26 08:59:29 +02:00
object PerfdataWriter "pnp" {
2014-04-01 20:30:44 +02:00
host_perfdata_path = "/var/spool/icinga2/perfdata/host-perfdata"
2013-09-26 08:59:29 +02:00
2014-04-01 20:30:44 +02:00
service_perfdata_path = "/var/spool/icinga2/perfdata/service-perfdata"
2014-04-09 10:25:23 +02:00
host_format_template = "DATATYPE::HOSTPERFDATA\tTIMET::$icinga.timet$\tHOSTNAME::$host.name$\tHOSTPERFDATA::$host.perfdata$\tHOSTCHECKCOMMAND::$host.check_command$\tHOSTSTATE::$host.state$\tHOSTSTATETYPE::$host.state_type$"
service_format_template = "DATATYPE::SERVICEPERFDATA\tTIMET::$icinga.timet$\tHOSTNAME::$host.name$\tSERVICEDESC::$service.name$\tSERVICEPERFDATA::$service.perfdata$\tSERVICECHECKCOMMAND::$service.check_command$\tHOSTSTATE::$host.state$\tHOSTSTATETYPE::$host.state_type$\tSERVICESTATE::$service.state$\tSERVICESTATETYPE::$service.state_type$"
2013-09-26 08:59:29 +02:00
2014-03-31 18:38:15 +02:00
rotation_interval = 15s
2013-09-26 08:59:29 +02:00
}
Attributes:
2014-04-01 20:30:44 +02:00
Name |Description
------------------------|----------------
2014-04-07 21:30:27 +02:00
host_perfdata\_path |**Optional.** Path to the host performance data file. Defaults to LocalStateDir + "/spool/icinga2/perfdata/host-perfdata".
service_perfdata\_path |**Optional.** Path to the service performance data file. Defaults to LocalStateDir + "/spool/icinga2/perfdata/service-perfdata".
host_temp\_path |**Optional.** Path to the temporary host file. Defaults to LocalStateDir + "/spool/icinga2/tmp/host-perfdata".
service_temp\_path |**Optional.** Path to the temporary service file. Defaults to LocalStateDir + "/spool/icinga2/tmp/service-perfdata".
2014-04-01 20:30:44 +02:00
host_format\_template |**Optional.** Host Format template for the performance data file. Defaults to a template that's suitable for use with PNP4Nagios.
service_format\_template|**Optional.** Service Format template for the performance data file. Defaults to a template that's suitable for use with PNP4Nagios.
rotation\_interval |**Optional.** Rotation interval for the files specified in `{host,service}\_perfdata\_path` . Defaults to 30 seconds.
2013-09-26 08:59:29 +02:00
2014-04-06 21:15:25 +02:00
When rotating the performance data file the current UNIX timestamp is appended to the path specified
in `host_perfdata\_path` and `service_perfdata\_path` to generate a unique filename.
2013-09-26 08:59:29 +02:00
2013-10-14 20:12:42 +02:00
### <a id="objecttype-graphitewriter"></a> GraphiteWriter
Writes check result metrics and performance data to a defined
Graphite Carbon host.
Example:
library "perfdata"
object GraphiteWriter "graphite" {
2014-03-31 18:38:15 +02:00
host = "127.0.0.1"
2013-10-14 20:12:42 +02:00
port = 2003
}
Attributes:
Name |Description
----------------|----------------
host |**Optional.** Graphite Carbon host address. Defaults to '127.0.0.1'.
port |**Optional.** Graphite Carbon port. Defaults to 2003.
2013-10-11 18:13:49 +02:00
### <a id="objecttype-idomysqlconnection"></a> IdoMySqlConnection
2013-09-26 08:59:29 +02:00
2013-10-30 15:32:33 +01:00
IDO database adapter for MySQL.
2013-09-26 08:59:29 +02:00
Example:
library "db_ido_mysql"
object IdoMysqlConnection "mysql-ido" {
2014-03-31 18:38:15 +02:00
host = "127.0.0.1"
port = 3306
user = "icinga"
password = "icinga"
database = "icinga"
table_prefix = "icinga_"
instance_name = "icinga2"
instance_description = "icinga2 dev instance"
2013-10-01 12:59:02 +02:00
2013-09-26 17:23:15 +02:00
cleanup = {
2014-03-31 18:38:15 +02:00
downtimehistory_age = 48h
logentries_age = 31d
}
2013-10-30 08:47:23 +01:00
2014-03-19 12:44:53 +01:00
categories = DbCatConfig | DbCatState
2013-09-26 08:59:29 +02:00
}
Attributes:
2013-09-26 14:01:29 +02:00
Name |Description
2013-09-26 08:59:29 +02:00
----------------|----------------
host |**Optional.** MySQL database host address. Defaults to "localhost".
port |**Optional.** MySQL database port. Defaults to 3306.
user |**Optional.** MySQL database user with read/write permission to the icinga database. Defaults to "icinga".
2013-09-26 14:01:29 +02:00
password |**Optional.** MySQL database user's password. Defaults to "icinga".
2013-09-26 08:59:29 +02:00
database |**Optional.** MySQL database name. Defaults to "icinga".
table\_prefix |**Optional.** MySQL database table prefix. Defaults to "icinga\_".
instance\_name |**Optional.** Unique identifier for the local Icinga 2 instance. Defaults to "default".
instance\_description|**Optional.** Description for the Icinga 2 instance.
2013-09-26 17:23:15 +02:00
cleanup |**Optional.** Dictionary with items for historical table cleanup.
2013-10-30 08:47:23 +01:00
categories |**Optional.** The types of information that should be written to the database.
2013-09-26 17:23:15 +02:00
2013-10-30 15:32:33 +01:00
Cleanup Items:
Name | Description
----------------|----------------
acknowledgements_age |**Optional.** Max age for acknowledgements table rows (entry_time). Defaults to 0 (never).
commenthistory_age |**Optional.** Max age for commenthistory table rows (entry_time). Defaults to 0 (never).
contactnotifications_age |**Optional.** Max age for contactnotifications table rows (start_time). Defaults to 0 (never).
contactnotificationmethods_age |**Optional.** Max age for contactnotificationmethods table rows (start_time). Defaults to 0 (never).
downtimehistory_age |**Optional.** Max age for downtimehistory table rows (entry_time). Defaults to 0 (never).
eventhandlers_age |**Optional.** Max age for eventhandlers table rows (start_time). Defaults to 0 (never).
externalcommands_age |**Optional.** Max age for externalcommands table rows (entry_time). Defaults to 0 (never).
flappinghistory_age |**Optional.** Max age for flappinghistory table rows (event_time). Defaults to 0 (never).
2014-04-04 19:04:13 +02:00
hostchecks_age |**Optional.** Max age for hostalives table rows (start_time). Defaults to 0 (never).
2013-10-30 15:32:33 +01:00
logentries_age |**Optional.** Max age for logentries table rows (logentry_time). Defaults to 0 (never).
notifications_age |**Optional.** Max age for notifications table rows (start_time). Defaults to 0 (never).
processevents_age |**Optional.** Max age for processevents table rows (event_time). Defaults to 0 (never).
statehistory_age |**Optional.** Max age for statehistory table rows (state_time). Defaults to 0 (never).
servicechecks_age |**Optional.** Max age for servicechecks table rows (start_time). Defaults to 0 (never).
systemcommands_age |**Optional.** Max age for systemcommands table rows (start_time). Defaults to 0 (never).
Data Categories:
Name | Description
---------------------|----------------
DbCatConfig | Configuration data
DbCatState | Current state data
DbCatAcknowledgement | Acknowledgements
DbCatComment | Comments
DbCatDowntime | Downtimes
DbCatEventHandler | Event handler data
DbCatExternalCommand | External commands
DbCatFlapping | Flap detection data
DbCatCheck | Check results
DbCatLog | Log messages
DbCatNotification | Notifications
DbCatProgramStatus | Program status data
DbCatRetention | Retention data
DbCatStateHistory | Historical state data
2013-11-20 16:41:48 +01:00
Multiple categories can be combined using the `|` operator. In addition to
the category flags listed above the `DbCatEverything` flag may be used as
a shortcut for listing all flags.
2013-10-30 15:32:33 +01:00
### <a id="objecttype-idomysqlconnection"></a> IdoPgSqlConnection
IDO database adapter for PostgreSQL.
Example:
library "db_ido_pgsql"
object IdoMysqlConnection "pgsql-ido" {
2014-03-31 18:38:15 +02:00
host = "127.0.0.1"
port = 5432
user = "icinga"
password = "icinga"
database = "icinga"
table_prefix = "icinga_"
instance_name = "icinga2"
instance_description = "icinga2 dev instance"
2013-10-30 15:32:33 +01:00
cleanup = {
2014-03-31 18:38:15 +02:00
downtimehistory_age = 48h
logentries_age = 31d
}
2013-10-30 15:32:33 +01:00
2014-03-19 12:44:53 +01:00
categories = DbCatConfig | DbCatState
2013-10-30 15:32:33 +01:00
}
Attributes:
Name |Description
----------------|----------------
host |**Optional.** PostgreSQL database host address. Defaults to "localhost".
port |**Optional.** PostgreSQL database port. Defaults to "5432".
user |**Optional.** PostgreSQL database user with read/write permission to the icinga database. Defaults to "icinga".
password |**Optional.** PostgreSQL database user's password. Defaults to "icinga".
database |**Optional.** PostgreSQL database name. Defaults to "icinga".
table\_prefix |**Optional.** PostgreSQL database table prefix. Defaults to "icinga\_".
instance\_name |**Optional.** Unique identifier for the local Icinga 2 instance. Defaults to "default".
instance\_description|**Optional.** Description for the Icinga 2 instance.
cleanup |**Optional.** Dictionary with items for historical table cleanup.
categories |**Optional.** The types of information that should be written to the database.
2013-09-26 17:23:15 +02:00
Cleanup Items:
2013-10-01 12:59:02 +02:00
Name | Description
2013-09-26 17:23:15 +02:00
----------------|----------------
2013-10-30 14:07:50 +01:00
acknowledgements_age |**Optional.** Max age for acknowledgements table rows (entry_time). Defaults to 0 (never).
2013-10-01 12:59:02 +02:00
commenthistory_age |**Optional.** Max age for commenthistory table rows (entry_time). Defaults to 0 (never).
contactnotifications_age |**Optional.** Max age for contactnotifications table rows (start_time). Defaults to 0 (never).
contactnotificationmethods_age |**Optional.** Max age for contactnotificationmethods table rows (start_time). Defaults to 0 (never).
downtimehistory_age |**Optional.** Max age for downtimehistory table rows (entry_time). Defaults to 0 (never).
eventhandlers_age |**Optional.** Max age for eventhandlers table rows (start_time). Defaults to 0 (never).
externalcommands_age |**Optional.** Max age for externalcommands table rows (entry_time). Defaults to 0 (never).
flappinghistory_age |**Optional.** Max age for flappinghistory table rows (event_time). Defaults to 0 (never).
2014-04-04 19:04:13 +02:00
hostchecks_age |**Optional.** Max age for hostalives table rows (start_time). Defaults to 0 (never).
2013-10-01 12:59:02 +02:00
logentries_age |**Optional.** Max age for logentries table rows (logentry_time). Defaults to 0 (never).
notifications_age |**Optional.** Max age for notifications table rows (start_time). Defaults to 0 (never).
processevents_age |**Optional.** Max age for processevents table rows (event_time). Defaults to 0 (never).
statehistory_age |**Optional.** Max age for statehistory table rows (state_time). Defaults to 0 (never).
servicechecks_age |**Optional.** Max age for servicechecks table rows (start_time). Defaults to 0 (never).
systemcommands_age |**Optional.** Max age for systemcommands table rows (start_time). Defaults to 0 (never).
2013-09-26 08:59:29 +02:00
2013-10-30 08:47:23 +01:00
Data Categories:
Name | Description
---------------------|----------------
DbCatConfig | Configuration data
DbCatState | Current state data
DbCatAcknowledgement | Acknowledgements
DbCatComment | Comments
DbCatDowntime | Downtimes
DbCatEventHandler | Event handler data
DbCatExternalCommand | External commands
DbCatFlapping | Flap detection data
DbCatCheck | Check results
DbCatLog | Log messages
DbCatNotification | Notifications
DbCatProgramStatus | Program status data
DbCatRetention | Retention data
DbCatStateHistory | Historical state data
2013-11-20 16:41:48 +01:00
Multiple categories can be combined using the `|` operator. In addition to
the category flags listed above the `DbCatEverything` flag may be used as
a shortcut for listing all flags.
2013-10-30 08:47:23 +01:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-livestatuslistener"></a> LiveStatusListener
2013-09-26 08:59:29 +02:00
2013-11-07 14:04:13 +01:00
Livestatus API interface available as TCP or UNIX socket. Historical table queries
require the `CompatLogger` feature enabled pointing to the log files using the
`compat_log_path` configuration attribute.
2013-09-26 08:59:29 +02:00
Example:
library "livestatus"
object LivestatusListener "livestatus-tcp" {
2014-03-31 18:38:15 +02:00
socket_type = "tcp"
bind_host = "127.0.0.1"
2013-09-26 08:59:29 +02:00
bind_port = "6558"
}
object LivestatusListener "livestatus-unix" {
2014-03-31 18:38:15 +02:00
socket_type = "unix"
2013-12-11 18:28:46 +01:00
socket_path = "/var/run/icinga2/cmd/livestatus"
2013-09-26 08:59:29 +02:00
}
Attributes:
2013-09-26 14:01:29 +02:00
Name |Description
2013-09-26 08:59:29 +02:00
----------------|----------------
2013-11-07 14:04:13 +01:00
socket\_type |**Optional.** Specifies the socket type. Can be either "tcp" or "unix". Defaults to "unix".
bind\_host |**Optional.** Only valid when socket\_type is "tcp". Host address to listen on for connections. Defaults to "127.0.0.1".
bind\_port |**Optional.** Only valid when `socket\_type` is "tcp". Port to listen on for connections. Defaults to 6558.
2014-04-07 21:30:27 +02:00
socket\_path |**Optional.** Only valid when `socket\_type` is "unix". Specifies the path to the UNIX socket file. Defaults to LocalStateDir + "/run/icinga2/cmd/livestatus".
compat\_log\_path |**Optional.** Required for historical table queries. Requires `CompatLogger` feature enabled. Defaults to LocalStateDir + "/log/icinga2/compat"
2013-09-26 08:59:29 +02:00
> **Note**
>
> UNIX sockets are not supported on Windows.
2013-10-11 18:13:49 +02:00
### <a id="objecttype-statusdatawriter"></a> StatusDataWriter
2013-09-26 08:59:29 +02:00
2013-09-27 07:19:13 +02:00
Periodically writes status data files which are used by the Classic UI and other third-party tools.
2013-09-26 08:59:29 +02:00
Example:
2013-09-27 07:19:13 +02:00
library "compat"
object StatusDataWriter "status" {
2014-03-31 18:38:15 +02:00
status\_path = "/var/cache/icinga2/status.dat"
objects\_path = "/var/cache/icinga2/objects.path"
2013-12-05 10:00:20 +01:00
update\_interval = 30s
2013-09-27 07:19:13 +02:00
}
2013-09-26 08:59:29 +02:00
Attributes:
2013-09-26 14:01:29 +02:00
Name |Description
2013-09-26 08:59:29 +02:00
----------------|----------------
2014-04-07 21:30:27 +02:00
status\_path |**Optional.** Path to the status.dat file. Defaults to LocalStateDir + "/cache/icinga2/status.dat".
objects\_path |**Optional.** Path to the objects.cache file. Defaults to LocalStateDir + "/cache/icinga2/objects.cache".
2013-12-05 10:00:20 +01:00
update\_interval|**Optional.** The interval in which the status files are updated. Defaults to 15 seconds.
2013-09-26 08:59:29 +02:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-externalcommandlistener"></a> ExternalCommandListener
2013-09-26 08:59:29 +02:00
2013-09-27 07:19:13 +02:00
Implements the Icinga 1.x command pipe which can be used to send commands to Icinga.
2013-09-26 08:59:29 +02:00
Example:
2013-09-27 07:19:13 +02:00
library "compat"
object ExternalCommandListener "external" {
2013-09-30 09:42:27 +02:00
command\_path = "/var/run/icinga2/cmd/icinga2.cmd"
2013-09-27 07:19:13 +02:00
}
2013-09-26 08:59:29 +02:00
Attributes:
2013-09-26 14:01:29 +02:00
Name |Description
2013-09-26 08:59:29 +02:00
----------------|----------------
2014-04-07 21:30:27 +02:00
command\_path |**Optional.** Path to the command pipe. Defaults to LocalStateDir + "/run/icinga2/cmd/icinga2.cmd".
2013-09-26 08:59:29 +02:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-compatlogger"></a> CompatLogger
2013-09-26 08:59:29 +02:00
2013-09-27 07:19:13 +02:00
Writes log files in a format that's compatible with Icinga 1.x.
2013-09-26 08:59:29 +02:00
Example:
2013-09-27 07:19:13 +02:00
library "compat"
object CompatLogger "my-log" {
2014-03-31 18:38:15 +02:00
log\_dir = "/var/log/icinga2/compat"
2013-09-27 07:19:13 +02:00
rotation\_method = "HOURLY"
}
2013-09-26 08:59:29 +02:00
Attributes:
2013-09-26 14:01:29 +02:00
Name |Description
2013-09-26 08:59:29 +02:00
----------------|----------------
2014-04-07 21:30:27 +02:00
log\_dir |**Optional.** Path to the compat log directory. Defaults to LocalStateDir + "/log/icinga2/compat".
2013-09-27 07:19:13 +02:00
rotation\_method|**Optional.** Specifies when to rotate log files. Can be one of "HOURLY", "DAILY", "WEEKLY" or "MONTHLY". Defaults to "HOURLY".
2013-09-26 08:59:29 +02:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-checkresultreader"></a> CheckResultReader
2013-09-26 08:59:29 +02:00
2013-10-01 12:59:02 +02:00
Reads Icinga 1.x check results from a directory. This functionality is provided
to help existing Icinga 1.x users and might be useful for certain cluster
scenarios.
2013-09-26 08:59:29 +02:00
Example:
2013-10-01 12:59:02 +02:00
library "compat"
object CheckResultReader "reader" {
spool_dir = "/data/check-results"
}
2013-09-26 08:59:29 +02:00
Attributes:
2013-09-26 14:01:29 +02:00
Name |Description
2013-09-26 08:59:29 +02:00
----------------|----------------
2014-04-07 21:30:27 +02:00
spool\_dir |**Optional.** The directory which contains the check result files. Defaults to LocalStateDir + "/lib/icinga2/spool/checkresults/".
2013-09-26 08:59:29 +02:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-checkcomponent"></a> CheckerComponent
2013-09-26 08:59:29 +02:00
2013-10-01 12:59:02 +02:00
The checker component is responsible for scheduling active checks. There are no configurable options.
2013-09-26 08:59:29 +02:00
Example:
library "checker"
object CheckerComponent "checker" { }
2013-10-11 18:13:49 +02:00
### <a id="objecttype-notificationcomponent"></a> NotificationComponent
2013-09-26 08:59:29 +02:00
2013-10-01 12:59:02 +02:00
The notification component is responsible for sending notifications. There are no configurable options.
2013-09-26 08:59:29 +02:00
Example:
library "notification"
object NotificationComponent "notification" { }
2014-02-17 18:51:16 +01:00
### <a id="objecttype-icingastatuswriter"></a> IcingaStatusWriter
The IcingaStatusWriter feature periodically dumps the current status
and performance data from Icinga 2 and all registered features into
a defined JSON file.
Example:
object IcingaStatusWriter "status" {
2014-04-07 21:30:27 +02:00
status_path = LocalStateDir + "/cache/icinga2/status.json"
2014-02-17 18:51:16 +01:00
update_interval = 15s
}
Attributes:
Name |Description
--------------------------|--------------------------
2014-04-07 21:30:27 +02:00
status\_path |**Optional.** Path to cluster status file. Defaults to LocalStateDir + "/cache/icinga2/status.json"
2014-02-17 18:51:16 +01:00
update\_interval |**Optional.** The interval in which the status files are updated. Defaults to 15 seconds.
2013-10-11 18:13:49 +02:00
### <a id="objecttype-clusterlistener"></a> ClusterListener
2013-09-26 08:59:29 +02:00
2013-10-18 20:05:08 +02:00
ClusterListener objects are used to specify remote cluster
node peers and the certificate files used for ssl
authorization.
2013-09-26 08:59:29 +02:00
Example:
2013-10-18 15:10:34 +02:00
library "cluster"
object ClusterListener "cluster" {
2014-03-31 18:38:15 +02:00
ca_path = "/etc/icinga2/ca/ca.crt"
cert_path = "/etc/icinga2/ca/icinga-node-1.crt"
key_path = "/etc/icinga2/ca/icinga-node-1.key"
2013-10-18 15:10:34 +02:00
2014-03-31 18:38:15 +02:00
bind_port = 8888
2013-10-18 15:10:34 +02:00
peers = [ "icinga-node-2" ]
}
2013-09-26 08:59:29 +02:00
Attributes:
2014-02-13 15:15:16 +01:00
Name |Description
--------------------------|--------------------------
cert\_path |**Required.** Path to the public key.
key\_path |**Required.** Path to the private key.
ca\_path |**Required.** Path to the CA certificate file.
crl\_path |**Optional.** Path to the CRL file.
bind\_host |**Optional.** The IP address the cluster listener should be bound to.
bind\_port |**Optional.** The port the cluster listener should be bound to.
peers |**Optional.** A list of
2013-09-26 08:59:29 +02:00
2013-10-11 18:13:49 +02:00
### <a id="objecttype-endpoint"></a> Endpoint
2013-09-26 08:59:29 +02:00
Endpoint objects are used to specify connection information for remote
Icinga 2 instances.
Example:
library "cluster"
object Endpoint "icinga-c2" {
2014-03-31 18:38:15 +02:00
host = "192.168.5.46"
port = 7777
2014-02-11 09:42:48 +01:00
2014-03-31 18:38:15 +02:00
config_files = [ "/etc/icinga2/cluster.d/*" ]
2014-02-11 09:42:48 +01:00
config_files_recursive = [
"/etc/icinga2/cluster2",
2014-03-31 18:38:15 +02:00
{ path = "/etc/icinga2/cluster3"; pattern = "*.myconf" }
2014-02-11 09:42:48 +01:00
]
2013-09-26 08:59:29 +02:00
}
Attributes:
2013-09-26 14:01:29 +02:00
Name |Description
2013-09-26 08:59:29 +02:00
----------------|----------------
2013-12-11 15:12:20 +01:00
host |**Required.** The hostname/IP address of the remote Icinga 2 instance.
port |**Required.** The service name/port of the remote Icinga 2 instance.
2013-10-18 20:05:08 +02:00
config\_files |**Optional.** A list of configuration files sent to remote peers (wildcards possible).
2014-02-11 09:42:48 +01:00
config_files_recursive |**Optional.** A list of configuration files sent to remote peers. Array elements can either be a string (in which case all files in that directory matching the pattern *.conf are included) or a dictionary with elements "path" and "pattern".
2013-09-27 07:19:13 +02:00
accept\_config |**Optional.** A list of endpoint names from which this endpoint accepts configuration files.
2013-10-11 18:13:49 +02:00
### <a id="objecttype-domain"></a> Domain
2013-09-27 07:19:13 +02:00
2014-03-07 15:21:57 +01:00
A [Service ](#objecttype-service ) object can be restricted using the `domains` attribute
array specifying endpoint privileges.
A Domain object specifices the ACLs applied for each [Endpoint ](#objecttype-endpoint ).
2013-09-27 07:19:13 +02:00
Example:
2014-03-07 15:21:57 +01:00
object Domain "dmz-1" {
acl = {
2014-03-31 18:38:15 +02:00
node1 = DomainPrivCheckResult
2014-03-19 12:44:53 +01:00
node2 = DomainPrivReadWrite
2014-03-07 15:21:57 +01:00
}
}
2013-09-27 07:19:13 +02:00
Attributes:
Name |Description
----------------|----------------
2014-03-07 15:21:57 +01:00
acl |**Required.** Dictionary with items for Domain ACLs.
Domain ACLs:
Name |Description
----------------------|----------------
DomainPrivRead | Endpoint reads local messages and relays them to remote nodes.
DomainPrivCheckResult | Endpoint accepts check result messages from remote nodes.
DomainPrivCommand | Endpoint accepts command messages from remote nodes.
2014-03-19 12:44:53 +01:00
DomainPrevReadOnly | Equivalent to DomainPrivRead.
DomainPrivReadWrite | Equivalent to DomainPrivRead | DomainPrivCheckResult | DomainPrivCommand.