diff --git a/doc/6.04-cluster.md b/doc/6.04-cluster.md index d77a6d947..52efe63b7 100644 --- a/doc/6.04-cluster.md +++ b/doc/6.04-cluster.md @@ -129,7 +129,50 @@ In order to load configuration files which were received from a remote Icinga 2 instance you will have to add the following include directive to your `icinga2.conf` configuration file: - include IcingaLocalStateDir + "/lib/icinga2/cluster/config/*/*" + include_recursive IcingaLocalStateDir + "/lib/icinga2/cluster/config" + +### Cluster Naming Convention + +The SSL certificate common name (CN) will be used by the [ClusterListener](pbjecttype-clusterlistener) +object to determine the local authority. This name must match the local [Endpoint](#objecttype-endpoint) +object name. + +Example: + + # icinga2-build-key icinga-node-1 + ... + Common Name (e.g. server FQDN or YOUR name) [icinga-node-1]: + + # vim cluster.conf + + object Endpoint "icinga-node-1" { + host = "icinga-node-1.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", + 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", + + bind_port = 8888, + + peers = [ "icinga-node-2" ] + } + +Specifying the local node name using the [IcingaNodeName](#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 IcingaNodeName = "icinga-node-1" + ### Initial Cluster Sync