Skip to content

Commit

Permalink
Update documentation & what's new.
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael Friedrich committed Apr 29, 2014
1 parent f989bbd commit 9228f70
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 47 deletions.
28 changes: 28 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
43 changes: 20 additions & 23 deletions doc/1-about.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,36 +29,33 @@ Please get in touch with the Icinga team at [https://www.icinga.org/ecosystem/].

## <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

> **Note**
>
> 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

Expand Down
49 changes: 25 additions & 24 deletions doc/6.04-cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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).

Expand Down Expand Up @@ -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,
Expand All @@ -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:
Expand All @@ -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
Expand All @@ -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.
Expand All @@ -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"


### <a id="initial-cluster-sync"></a> Initial Cluster Sync
Expand All @@ -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
}
Expand Down

0 comments on commit 9228f70

Please sign in to comment.