diff --git a/ChangeLog b/ChangeLog index 0a568c6cb..787636deb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,34 @@ Please check doc/1-about.md. ## 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 diff --git a/doc/1-about.md b/doc/1-about.md index 8e968889f..d5b75bb51 100644 --- a/doc/1-about.md +++ b/doc/1-about.md @@ -29,21 +29,24 @@ Please get in touch with the Icinga team at [https://www.icinga.org/ecosystem/]. ## What's new -### What's New in Version 0.0.9 +### What's New in Version 0.0.10 -* 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 +* 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 @@ -51,14 +54,8 @@ Please get in touch with the Icinga team at [https://www.icinga.org/ecosystem/]. > > 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 diff --git a/doc/6.04-cluster.md b/doc/6.04-cluster.md index c8f7344c3..03f46d566 100644 --- a/doc/6.04-cluster.md +++ b/doc/6.04-cluster.md @@ -23,7 +23,7 @@ CA files: 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 @@ -44,7 +44,7 @@ This setting must be unique on each cluster node, and must also match 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). @@ -74,12 +74,12 @@ A sample config part can look like this: 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, @@ -105,8 +105,9 @@ to send configuration files. -------------------------|------------------------------------ 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: @@ -115,10 +116,10 @@ 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 @@ -130,10 +131,10 @@ A sample config part for a config receiver endpoint can look like this: * 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. @@ -152,39 +153,39 @@ object name. 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" ### Initial Cluster Sync @@ -209,7 +210,7 @@ attribute. Required Endpoints must be defined as array. apply Service "dmz-oracledb" { import "generic-service" - authorities = [ "icinga-node-1" ] + authorities = [ "icinga2a" ] assign where "oracle" in host.groups }