Update documentation & what's new.

This commit is contained in:
Michael Friedrich 2014-04-29 14:33:37 +02:00
parent f989bbd678
commit 9228f7035e
3 changed files with 72 additions and 46 deletions

View File

@ -4,6 +4,34 @@ Please check doc/1-about.md.
## What's New ## 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 ### What's New in Version 0.0.9
* new [apply](#apply) rules for assigning objects based on attribute conditions * new [apply](#apply) rules for assigning objects based on attribute conditions

View File

@ -29,21 +29,24 @@ Please get in touch with the Icinga team at [https://www.icinga.org/ecosystem/].
## <a id="whats-new"></a> What's new ## <a id="whats-new"></a> 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 * Make Host and Service checkable. #5919
* inline object definitions removed in favor of [apply](#apply) rules * Support new lines in addition to commas to seperate object attributes. #5901
* [import](#template-imports) keyword instead of `inherits` keyword for all objects * Add group membership assign rules. #5910
* new [constants.conf](#constants-conf) providing `PluginDir` constant instead of `$plugindir$` macro * Support nested groups. #5858
* unknown attributes and duplicate objects generate a configuration error * Add apply target type. #5924
* improved configuration error output * Add relative object names. #5925
* create endpoint tables for legacy interfaces (status data, DB IDO, Livestatus) * Merge macros and custom into 'vars' dictionary. Changed runtime macros and environment variable export. #5855
* export host `check` attribute in legacy interfaces (status data, DB IDO, Livestatus) * Add support for modified attributes for custom attributes. #5956
* add documentation about [cluster scenarios](#cluster-scenarios) * Allow to assign var values to existin vars evaluted on runtime. #5959
* Livestatus: add `check_source` attribute to services table * Rename/shorten attribute names and filter variables. #5857
* Compat: Fix host service order for Classic UI * Remove the 'Icinga' prefix for global constants. #5960
* Remove comments when clearing acknowledgements * Global option to enable/disable host/service checks. #5975
* Recovery [Notifications](#objecttype-notification) require StateFilterOK * 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 #### Changes
@ -51,14 +54,8 @@ Please get in touch with the Icinga team at [https://www.icinga.org/ecosystem/].
> >
> Configuration updates required! > Configuration updates required!
* removed deprecated `var`/`set` identifier, use [const](#const) instead * Configuration Changes. For a detailed list of changes check out [#5909](https://dev.icinga.org/issues/5909)
* [constants.conf](#constants-conf) needs to be included in [icinga2.conf](#icinga2-conf) before [ITL](#itl) inclusion * DB IDO schema upgrade required.
* [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))
### Archive ### Archive

View File

@ -23,7 +23,7 @@ CA files:
In the next step you have to create a certificate and a key file for every node In the next step you have to create a certificate and a key file for every node
using the following command: 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 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 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 the name of the local [Endpoint](#objecttype-endpoint) object and the
SSL certificate common name. SSL certificate common name.
const NodeName = "icinga-node-1" const NodeName = "icinga2a"
Read further about additional [naming conventions](#cluster-naming-convention). Read further about additional [naming conventions](#cluster-naming-convention).
@ -74,12 +74,12 @@ A sample config part can look like this:
object ClusterListener "cluster" { object ClusterListener "cluster" {
ca_path = "/etc/icinga2/ca/ca.crt" ca_path = "/etc/icinga2/ca/ca.crt"
cert_path = "/etc/icinga2/ca/icinga-node-1.crt" cert_path = "/etc/icinga2/ca/icinga2a.crt"
key_path = "/etc/icinga2/ca/icinga-node-1.key" key_path = "/etc/icinga2/ca/icinga2a.key"
bind_port = 8888 bind_port = 8888
peers = [ "icinga-node-2" ] peers = [ "icinga2b" ]
} }
The certificate files must be readable by the user Icinga 2 is running as. Also, 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 host | hostname
port | port port | port
accept_config | defines all nodes allowed to send configs accept_config | all nodes allowed to send configuration
config_files | defines all files to be send to that node - MUST BE AN ABSOLUTE PATH 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: A sample config part can look like this:
@ -115,10 +116,10 @@ A sample config part can look like this:
* Configure config master endpoint * Configure config master endpoint
*/ */
object Endpoint "icinga-node-1" { object Endpoint "icinga2a" {
host = "icinga-node-1.localdomain" host = "icinga2a.localdomain"
port = 8888 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 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 * Configure config receiver endpoint
*/ */
object Endpoint "icinga-node-2" { object Endpoint "icinga2b" {
host = "icinga-node-2.localdomain" host = "icinga2b.localdomain"
port = 8888 port = 8888
accept_config = [ "icinga-node-1" ] accept_config = [ "icinga2a" ]
} }
By default these configuration files are saved in /var/lib/icinga2/cluster/config. By default these configuration files are saved in /var/lib/icinga2/cluster/config.
@ -152,39 +153,39 @@ object name.
Example: 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 # vim cluster.conf
object Endpoint "icinga-node-1" { object Endpoint "icinga2a" {
host = "icinga-node-1.localdomain" host = "icinga2a.localdomain"
port = 8888 port = 8888
} }
The [Endpoint](#objecttype-endpoint) name is further referenced as `peers` attribute on the The [Endpoint](#objecttype-endpoint) name is further referenced as `peers` attribute on the
[ClusterListener](pbjecttype-clusterlistener) object. [ClusterListener](pbjecttype-clusterlistener) object.
object Endpoint "icinga-node-2" { object Endpoint "icinga2b" {
host = "icinga-node-2.localdomain" host = "icinga2b.localdomain"
port = 8888 port = 8888
} }
object ClusterListener "cluster" { object ClusterListener "cluster" {
ca_path = "/etc/icinga2/ca/ca.crt" ca_path = "/etc/icinga2/ca/ca.crt"
cert_path = "/etc/icinga2/ca/icinga-node-1.crt" cert_path = "/etc/icinga2/ca/icinga2a.crt"
key_path = "/etc/icinga2/ca/icinga-node-1.key" key_path = "/etc/icinga2/ca/icinga2a.key"
bind_port = 8888 bind_port = 8888
peers = [ "icinga-node-2" ] peers = [ "icinga2b" ]
} }
Specifying the local node name using the [NodeName](#global-constants) variable requires 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. 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 ### <a id="initial-cluster-sync"></a> Initial Cluster Sync
@ -209,7 +210,7 @@ attribute. Required Endpoints must be defined as array.
apply Service "dmz-oracledb" { apply Service "dmz-oracledb" {
import "generic-service" import "generic-service"
authorities = [ "icinga-node-1" ] authorities = [ "icinga2a" ]
assign where "oracle" in host.groups assign where "oracle" in host.groups
} }