`CheckCommand` object.
object NotificationCommand "mail-service-notification" inherits "plugin-notification-command" {
- command = [ (IcingaSysconfDir + "/icinga2/scripts/mail-notification.sh") ],
+ command = [ IcingaSysconfDir + "/icinga2/scripts/mail-notification.sh" ],
export_macros = [
"NOTIFICATIONTYPE",
...
{
- check_interval = (MyCheckInterval / 2.5)
+ check_interval = MyCheckInterval / 2.5
}
More details in the chapter [Constant Expressions](#constant-expressions).
object User "icingaadmin" {
display_name = "Icinga 2 Admin",
enable_notifications = 1,
- notification_state_filter = (StateFilterOK |
- StateFilterWarning |
- StateFilterCritical),
- notification_type_filter = (NotificationFilterProblem |
- NotificationFilterRecovery),
+ notification_state_filter = StateFilterOK |
+ StateFilterWarning |
+ StateFilterCritical,
+ notification_type_filter = NotificationFilterProblem |
+ NotificationFilterRecovery,
macros = {
"email" = "icinga@localhost",
"pager" = "+49123456789"
The example below may or may not fit your needs.
object NotificationCommand "mail-service-notification" inherits "plugin-notification-command" {
- command = [ (IcingaSysconfDir + "/icinga2/scripts/mail-notification.sh") ],
+ command = [ IcingaSysconfDir + "/icinga2/scripts/mail-notification.sh" ],
export_macros = [
"NOTIFICATIONTYPE",
notification_command = "mail-service-notification",
- notification_state_filter = (StateFilterWarning |
- StateFilterCritical |
- StateFilterUnknown),
- notification_type_filter = (NotificationFilterProblem |
- NotificationFilterAcknowledgement |
- NotificationFilterRecovery |
- NotificationFilterCustom |
- NotificationFilterFlappingStart |
- NotificationFilterFlappingEnd |
- NotificationFilterDowntimeStart |
- NotificationFilterDowntimeEnd |
- NotificationFilterDowntimeRemoved),
+ notification_state_filter = StateFilterWarning |
+ StateFilterCritical |
+ StateFilterUnknown,
+ notification_type_filter = NotificationFilterProblem |
+ NotificationFilterAcknowledgement |
+ NotificationFilterRecovery |
+ NotificationFilterCustom |
+ NotificationFilterFlappingStart |
+ NotificationFilterFlappingEnd |
+ NotificationFilterDowntimeStart |
+ NotificationFilterDowntimeEnd |
+ NotificationFilterDowntimeRemoved,
notification_period = "24x7"
}
template Notification "generic-notification" {
- notification_state_filter = (StateFilterWarning |
- StateFilterCritical |
- StateFilterUnknown),
- notification_type_filter = (NotificationFilterProblem |
- NotificationFilterAcknowledgement |
- NotificationFilterRecovery |
- NotificationFilterCustom |
- NotificationFilterFlappingStart |
- NotificationFilterFlappingEnd |
- NotificationFilterDowntimeStart |
- NotificationFilterDowntimeEnd |
- NotificationFilterDowntimeRemoved),
+ notification_state_filter = StateFilterWarning |
+ StateFilterCritical |
+ StateFilterUnknown,
+ notification_type_filter = NotificationFilterProblem |
+ NotificationFilterAcknowledgement |
+ NotificationFilterRecovery |
+ NotificationFilterCustom |
+ NotificationFilterFlappingStart |
+ NotificationFilterFlappingEnd |
+ NotificationFilterDowntimeStart |
+ NotificationFilterDowntimeEnd |
+ NotificationFilterDowntimeRemoved,
}
> **Note**
overridden by grouping expressions using parentheses:
{
- check_interval (30 + 60) / 2
+ check_interval = (30 + 60) / 2
}
Global constants may be used in constant expressions.
parent_host = "internet",
parent_service = "ping4",
- state_filter = (StateFilterOK),
+ state_filter = StateFilterOK,
disable_checks = true
}
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.
- state_filter |**Optional.** A set of type filters when this dependency should be OK. Defaults to (StateFilterOK | StateFilterWarning).
+ state_filter |**Optional.** A set of type filters when this dependency should be OK. Defaults to StateFilterOK | StateFilterWarning.
Available state filters:
enable_notifications = 1,
notification_period = "24x7",
- notification_state_filter = (StateFilterOK |
- StateFilterWarning |
- StateFilterCritical |
- StateFilterUnknown),
- notification_type_filter = (NotificationFilterProblem |
- NotificationFilterRecovery),
+ notification_state_filter = StateFilterOK |
+ StateFilterWarning |
+ StateFilterCritical |
+ StateFilterUnknown,
+ notification_type_filter = NotificationFilterProblem |
+ NotificationFilterRecovery,
macros = {
"name" = "Icinga 2 Admin",
"email" = "icinga@localhost",
Example:
object NotificationCommand "mail-service-notification" inherits "plugin-notification-command" {
- command = [ (IcingaSysconfDir + "/icinga2/scripts/mail-notification.sh") ],
+ command = [ IcingaSysconfDir + "/icinga2/scripts/mail-notification.sh" ],
export_macros = [
"NOTIFICATIONTYPE",
logentries_age = 31d,
},
- categories = (DbCatConfig | DbCatState)
+ categories = DbCatConfig | DbCatState
}
Attributes:
logentries_age = 31d,
},
- categories = (DbCatConfig | DbCatState)
+ categories = DbCatConfig | DbCatState
}
Attributes:
Example:
object IcingaStatusWriter "status" {
- status_path = (IcingaLocalStateDir + "/cache/icinga2/status.json"),
+ status_path = IcingaLocalStateDir + "/cache/icinga2/status.json",
update_interval = 15s
}
object Domain "dmz-1" {
acl = {
- node1 = (DomainPrivCheckResult),
- node2 = (DomainPrivReadWrite)
+ node1 = DomainPrivCheckResult,
+ node2 = DomainPrivReadWrite
}
}
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.
- DomainPrevReadOnly | Endpoint reads local messages and relays them to remote nodes.
- DomainPrivReadWrite | Combination of (DomainPrivRead | DomainPrivCheckResult | DomainPrivCommand)
+ DomainPrevReadOnly | Equivalent to DomainPrivRead.
+ DomainPrivReadWrite | Equivalent to DomainPrivRead | DomainPrivCheckResult | DomainPrivCommand.
instance you will have to add the following include directive to your
`icinga2.conf` configuration file:
- include (IcingaLocalStateDir + "/lib/icinga2/cluster/config/*/*")
+ include IcingaLocalStateDir + "/lib/icinga2/cluster/config/*/*"
### <a id="initial-cluster-sync"></a> Initial Cluster Sync
object Domain "dmz-db" {
acl = {
- icinga-node-dmz-1 = (DomainPrivReadOnly),
- icinga-node-dmz-2 = (DomainPrivReadWrite)
+ icinga-node-dmz-1 = DomainPrivReadOnly,
+ icinga-node-dmz-2 = DomainPrivReadWrite
}
}
\ No newline at end of file
notification_options w,u,c,r,f,s
- notification_state_filter = (StateFilterWarning | StateFilterUnknown | StateFilterCritical),
- notification_type_filter = (NotificationProblem | NotificationRecovery | NotificationFlappingStart | NotificationFlappingEnd | NotificationDowntimeStart | NotificationDowntimeEnd | NotificationDowntimeRemoved)
+ notification_state_filter = StateFilterWarning | StateFilterUnknown | StateFilterCritical,
+ notification_type_filter = NotificationProblem | NotificationRecovery | NotificationFlappingStart | NotificationFlappingEnd | NotificationDowntimeStart | NotificationDowntimeEnd | NotificationDowntimeRemoved
> **Note**
>
enable_notifications = true,
notification_period = "24x7",
- notification_state_filter = (StateFilterWarning |
+ notification_state_filter = StateFilterWarning |
StateFilterCritical |
- StateFilterUnknown),
- notification_type_filter = (NotificationFilterProblem |
+ StateFilterUnknown,
+ notification_type_filter = NotificationFilterProblem |
NotificationFilterAcknowledgement |
NotificationFilterRecovery |
NotificationFilterCustom |
NotificationFilterFlappingEnd |
NotificationFilterDowntimeStart |
NotificationFilterDowntimeEnd |
- NotificationFilterDowntimeRemoved)
+ NotificationFilterDowntimeRemoved
}
template Notification "mail-notification" {
notification_command = "mail-service-notification",
- notification_state_filter = (StateFilterOK |
+ notification_state_filter = StateFilterOK |
StateFilterWarning |
StateFilterCritical |
- StateFilterUnknown),
- notification_type_filter = (NotificationFilterProblem |
+ StateFilterUnknown,
+ notification_type_filter = NotificationFilterProblem |
NotificationFilterAcknowledgement |
NotificationFilterRecovery |
NotificationFilterCustom |
NotificationFilterFlappingEnd |
NotificationFilterDowntimeStart |
NotificationFilterDowntimeEnd |
- NotificationFilterDowntimeRemoved),
+ NotificationFilterDowntimeRemoved,
notification_period = "24x7"
}
object NotificationCommand "mail-service-notification" inherits "plugin-notification-command" {
- command = [ (IcingaSysconfDir + "/icinga2/scripts/mail-notification.sh") ],
+ command = [ IcingaSysconfDir + "/icinga2/scripts/mail-notification.sh" ],
export_macros = [
"NOTIFICATIONTYPE",
object FileLogger "debug-file" {
severity = "debug",
- path = (IcingaLocalStateDir + "/log/icinga2/debug.log")
+ path = IcingaLocalStateDir + "/log/icinga2/debug.log"
}
object FileLogger "main-log" {
severity = "information",
- path = (IcingaLocalStateDir + "/log/icinga2/icinga2.log")
+ path = IcingaLocalStateDir + "/log/icinga2/icinga2.log"
}
continue;
}
- if (result.IsEmpty())
- continue;
+ std::ostringstream msgbuf2;
+ msgbuf2 << "Applying service template '" << rule.GetTemplate() << "' to host '" << host->GetName() << "' for rule " << rule.GetDebugInfo();
+ Log(LogDebug, "icinga", msgbuf2.str());
std::ostringstream namebuf;
namebuf << host->GetName() << "!apply!" << rule.GetTemplate();