## What's New
+### What's New in Version 0.0.10
+
+* Make Host and Service checkable. #5919
+* Support new lines in addition to commas to seperate object attributes. #5901
+* Add group membership assign rules. #5910
+* Support nested groups. #5858
+* Add apply target type. #5924
+* Add relative object names. #5925
+* Merge macros and custom into 'vars' dictionary. Changed runtime macros and environment variable export. #5855
+* Add support for modified attributes for custom attributes. #5956
+* Allow to assign var values to existin vars evaluted on runtime. #5959
+* Rename/shorten attribute names and filter variables. #5857
+* Remove the 'Icinga' prefix for global constants. #5960
+* Global option to enable/disable host/service checks. #5975
+* Add legacy attributes to host, service and group objects: `address{,6}'`, `notes`, `notes_url`, `action_url`, `icon_image`, `icon_image_alt`. #5856
+* Support "#" hash comments. #5994
+* Cluster: Spanning Tree like communication. #5467
+* Properly implement the Process class for Windows. #3684
+
+#### Changes
+
+> **Note**
+>
+> Configuration updates required!
+
+* Configuration Changes. For a detailed list of changes check out [#5909](https://dev.icinga.org/issues/5909)
+* DB IDO schema upgrade required.
+
### What's New in Version 0.0.9
* new [apply](#apply) rules for assigning objects based on attribute conditions
## <a id="whats-new"></a> What's new
-### What's New in Version 0.0.9
-
-* new [apply](#apply) rules for assigning objects based on attribute conditions
-* inline object definitions removed in favor of [apply](#apply) rules
-* [import](#template-imports) keyword instead of `inherits` keyword for all objects
-* new [constants.conf](#constants-conf) providing `PluginDir` constant instead of `$plugindir$` macro
-* unknown attributes and duplicate objects generate a configuration error
-* improved configuration error output
-* create endpoint tables for legacy interfaces (status data, DB IDO, Livestatus)
-* export host `check` attribute in legacy interfaces (status data, DB IDO, Livestatus)
-* add documentation about [cluster scenarios](#cluster-scenarios)
-* Livestatus: add `check_source` attribute to services table
-* Compat: Fix host service order for Classic UI
-* Remove comments when clearing acknowledgements
-* Recovery [Notifications](#objecttype-notification) require StateFilterOK
+### What's New in Version 0.0.10
+
+* Make Host and Service checkable. #5919
+* Support new lines in addition to commas to seperate object attributes. #5901
+* Add group membership assign rules. #5910
+* Support nested groups. #5858
+* Add apply target type. #5924
+* Add relative object names. #5925
+* Merge macros and custom into 'vars' dictionary. Changed runtime macros and environment variable export. #5855
+* Add support for modified attributes for custom attributes. #5956
+* Allow to assign var values to existin vars evaluted on runtime. #5959
+* Rename/shorten attribute names and filter variables. #5857
+* Remove the 'Icinga' prefix for global constants. #5960
+* Global option to enable/disable host/service checks. #5975
+* Add legacy attributes to host, service and group objects: `address{,6}'`, `notes`, `notes_url`, `action_url`, `icon_image`, `icon_image_alt`. #5856
+* Support "#" hash comments. #5994
+* Cluster: Spanning Tree like communication. #5467
+* Properly implement the Process class for Windows. #3684
#### Changes
>
> Configuration updates required!
-* removed deprecated `var`/`set` identifier, use [const](#const) instead
-* [constants.conf](#constants-conf) needs to be included in [icinga2.conf](#icinga2-conf) before [ITL](#itl) inclusion
-* [import](#template-imports) instead of `inherits` (examples in [localhost.conf](#localhost-conf))
-* [apply](#apply) rules instead of inline definitions for [Service](#objecttype-service),
-[Dependency](#objecttype-dependency), [Notification](#objecttype-notitifcation),
-[ScheduledDowntime](#objecttype-scheduleddowntime) objects (examples in [localhost.conf](#localhost-conf)).
-* unknown attributes and duplicate objects generate a configuration error
-* DB IDO: schema update for 0.0.9 ([MySQL](#upgrading-mysql-db), [PostgreSQL](#upgrading-postgresql-db))
+* Configuration Changes. For a detailed list of changes check out [#5909](https://dev.icinga.org/issues/5909)
+* DB IDO schema upgrade required.
### Archive
In the next step you have to create a certificate and a key file for every node
using the following command:
- icinga2-build-key icinga-node-1
+ icinga2-build-key icinga2a
Please create a certificate and a key file for every node in the Icinga 2
Cluster and save the CA key in case you want to set up certificates for
the name of the local [Endpoint](#objecttype-endpoint) object and the
SSL certificate common name.
- const NodeName = "icinga-node-1"
+ const NodeName = "icinga2a"
Read further about additional [naming conventions](#cluster-naming-convention).
object ClusterListener "cluster" {
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"
+ cert_path = "/etc/icinga2/ca/icinga2a.crt"
+ key_path = "/etc/icinga2/ca/icinga2a.key"
bind_port = 8888
- peers = [ "icinga-node-2" ]
+ peers = [ "icinga2b" ]
}
The certificate files must be readable by the user Icinga 2 is running as. Also,
-------------------------|------------------------------------
host | hostname
port | port
- accept_config | defines all nodes allowed to send configs
- config_files | defines all files to be send to that node - MUST BE AN ABSOLUTE PATH
+ accept_config | all nodes allowed to send configuration
+ config_files | all files sent to that node - MUST BE AN ABSOLUTE PATH
+ config_files_recursive | all files in a directory recursively sent to that node
------------------------- ------------------------------------
A sample config part can look like this:
* Configure config master endpoint
*/
- object Endpoint "icinga-node-1" {
- host = "icinga-node-1.localdomain"
+ object Endpoint "icinga2a" {
+ host = "icinga2a.localdomain"
port = 8888
- config_files = ["/etc/icinga2/conf.d/*.conf"]
+ config_files_recursive = ["/etc/icinga2/conf.d"]
}
If you update the configuration files on the configured file sender, it will
* Configure config receiver endpoint
*/
- object Endpoint "icinga-node-2" {
- host = "icinga-node-2.localdomain"
+ object Endpoint "icinga2b" {
+ host = "icinga2b.localdomain"
port = 8888
- accept_config = [ "icinga-node-1" ]
+ accept_config = [ "icinga2a" ]
}
By default these configuration files are saved in /var/lib/icinga2/cluster/config.
Example:
- # icinga2-build-key icinga-node-1
+ # icinga2-build-key icinga2a
...
- Common Name (e.g. server FQDN or YOUR name) [icinga-node-1]:
+ Common Name (e.g. server FQDN or YOUR name) [icinga2a]:
# vim cluster.conf
- object Endpoint "icinga-node-1" {
- host = "icinga-node-1.localdomain"
+ object Endpoint "icinga2a" {
+ host = "icinga2a.localdomain"
port = 8888
}
The [Endpoint](#objecttype-endpoint) name is further referenced as `peers` attribute on the
[ClusterListener](pbjecttype-clusterlistener) object.
- object Endpoint "icinga-node-2" {
- host = "icinga-node-2.localdomain"
+ object Endpoint "icinga2b" {
+ host = "icinga2b.localdomain"
port = 8888
}
object ClusterListener "cluster" {
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"
+ cert_path = "/etc/icinga2/ca/icinga2a.crt"
+ key_path = "/etc/icinga2/ca/icinga2a.key"
bind_port = 8888
- peers = [ "icinga-node-2" ]
+ peers = [ "icinga2b" ]
}
Specifying the local node name using the [NodeName](#global-constants) variable requires
the same name as used for the endpoint name and common name above. If not set, the FQDN is used.
- const NodeName = "icinga-node-1"
+ const NodeName = "icinga2a"
### <a id="initial-cluster-sync"></a> Initial Cluster Sync
apply Service "dmz-oracledb" {
import "generic-service"
- authorities = [ "icinga-node-1" ]
+ authorities = [ "icinga2a" ]
assign where "oracle" in host.groups
}