mirror of https://github.com/Icinga/icinga2.git
parent
f0f0b47057
commit
81de396294
|
@ -205,6 +205,7 @@ ensure to collect the required information:
|
||||||
Global zones | **Optional.** Allows to specify more global zones in addition to `global-templates` and `director-global`. Defaults to `n`.
|
Global zones | **Optional.** Allows to specify more global zones in addition to `global-templates` and `director-global`. Defaults to `n`.
|
||||||
API bind host | **Optional.** Allows to specify the address the ApiListener is bound to. For advanced usage only.
|
API bind host | **Optional.** Allows to specify the address the ApiListener is bound to. For advanced usage only.
|
||||||
API bind port | **Optional.** Allows to specify the port the ApiListener is bound to. For advanced usage only (requires changing the default port 5665 everywhere).
|
API bind port | **Optional.** Allows to specify the port the ApiListener is bound to. For advanced usage only (requires changing the default port 5665 everywhere).
|
||||||
|
Disable conf.d | **Optional.** Allows to disable the `include_recursive "conf.d"` directive except for the `api-users.conf` file in the `icinga2.conf` file. Defaults to `y`. Configuration on the master is discussed below.
|
||||||
|
|
||||||
The setup wizard will ensure that the following steps are taken:
|
The setup wizard will ensure that the following steps are taken:
|
||||||
|
|
||||||
|
@ -213,6 +214,7 @@ The setup wizard will ensure that the following steps are taken:
|
||||||
* Create a certificate for this node signed by the CA key.
|
* Create a certificate for this node signed by the CA key.
|
||||||
* Update the [zones.conf](04-configuring-icinga-2.md#zones-conf) file with the new zone hierarchy.
|
* Update the [zones.conf](04-configuring-icinga-2.md#zones-conf) file with the new zone hierarchy.
|
||||||
* Update the [ApiListener](06-distributed-monitoring.md#distributed-monitoring-apilistener) and [constants](04-configuring-icinga-2.md#constants-conf) configuration.
|
* Update the [ApiListener](06-distributed-monitoring.md#distributed-monitoring-apilistener) and [constants](04-configuring-icinga-2.md#constants-conf) configuration.
|
||||||
|
* Update the [icinga2.conf](04-configuring-icinga-2.md#icinga2-conf) to disable the `conf.d` inclusion, and add the `api-users.conf` file inclusion.
|
||||||
|
|
||||||
Here is an example of a master setup for the `icinga2-master1.localdomain` node on CentOS 7:
|
Here is an example of a master setup for the `icinga2-master1.localdomain` node on CentOS 7:
|
||||||
|
|
||||||
|
@ -243,6 +245,10 @@ Please specify the API bind host/port (optional):
|
||||||
Bind Host []:
|
Bind Host []:
|
||||||
Bind Port []:
|
Bind Port []:
|
||||||
|
|
||||||
|
Do you want to disable the inclusion of the conf.d directory [Y/n]:
|
||||||
|
Disabling the inclusion of the conf.d directory...
|
||||||
|
Checking if the api-users.conf file exists...
|
||||||
|
|
||||||
Done.
|
Done.
|
||||||
|
|
||||||
Now restart your Icinga 2 daemon to finish the installation!
|
Now restart your Icinga 2 daemon to finish the installation!
|
||||||
|
@ -337,7 +343,7 @@ object with at least the `actions/generate-ticket` permission.
|
||||||
Retrieve the ticket on the master node `icinga2-master1.localdomain` with `curl`, for example:
|
Retrieve the ticket on the master node `icinga2-master1.localdomain` with `curl`, for example:
|
||||||
|
|
||||||
[root@icinga2-master1.localdomain /]# curl -k -s -u client-pki-ticket:bea11beb7b810ea9ce6ea -H 'Accept: application/json' \
|
[root@icinga2-master1.localdomain /]# curl -k -s -u client-pki-ticket:bea11beb7b810ea9ce6ea -H 'Accept: application/json' \
|
||||||
-X POST 'https://icinga2-master1.localdomain:5665/v1/actions/generate-ticket' -d '{ "cn": "icinga2-client1.localdomain" }'
|
-X POST 'https://localhost:5665/v1/actions/generate-ticket' -d '{ "cn": "icinga2-client1.localdomain" }'
|
||||||
|
|
||||||
Store that ticket number for the satellite/client setup below.
|
Store that ticket number for the satellite/client setup below.
|
||||||
|
|
||||||
|
@ -554,6 +560,16 @@ Default global zones: global-templates director-global
|
||||||
Do you want to specify additional global zones? [y/N]: N
|
Do you want to specify additional global zones? [y/N]: N
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Last but not least the wizard asks you whether you want to disable the inclusion of the local configuration
|
||||||
|
directory in `conf.d`, or not. Defaults to disabled, as clients either are checked via command endpoint, or
|
||||||
|
they receive configuration synced from the parent zone.
|
||||||
|
|
||||||
|
```
|
||||||
|
Do you want to disable the inclusion of the conf.d directory [Y/n]: Y
|
||||||
|
Disabling the inclusion of the conf.d directory...
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
The wizard proceeds and you are good to go.
|
The wizard proceeds and you are good to go.
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -595,6 +611,7 @@ Here is an overview of all parameters in detail:
|
||||||
Local zone name | **Optional.** Allows to specify the name for the local zone. This comes in handy when this instance is a satellite, not a client. Defaults to the FQDN.
|
Local zone name | **Optional.** Allows to specify the name for the local zone. This comes in handy when this instance is a satellite, not a client. Defaults to the FQDN.
|
||||||
Parent zone name | **Optional.** Allows to specify the name for the parent zone. This is important if the client has a satellite instance as parent, not the master. Defaults to `master`.
|
Parent zone name | **Optional.** Allows to specify the name for the parent zone. This is important if the client has a satellite instance as parent, not the master. Defaults to `master`.
|
||||||
Global zones | **Optional.** Allows to specify more global zones in addition to `global-templates` and `director-global`. Defaults to `n`.
|
Global zones | **Optional.** Allows to specify more global zones in addition to `global-templates` and `director-global`. Defaults to `n`.
|
||||||
|
Disable conf.d | **Optional.** Allows to disable the inclusion of the `conf.d` directory which holds local example configuration. Clients should retrieve their configuration from the parent node, or act as command endpoint execution bridge. Defaults to `y`.
|
||||||
|
|
||||||
The setup wizard will ensure that the following steps are taken:
|
The setup wizard will ensure that the following steps are taken:
|
||||||
|
|
||||||
|
@ -605,7 +622,7 @@ The setup wizard will ensure that the following steps are taken:
|
||||||
* Store the signed client certificate and ca.crt in `/var/lib/icinga2/certs`.
|
* Store the signed client certificate and ca.crt in `/var/lib/icinga2/certs`.
|
||||||
* Update the `zones.conf` file with the new zone hierarchy.
|
* Update the `zones.conf` file with the new zone hierarchy.
|
||||||
* Update `/etc/icinga2/features-enabled/api.conf` (`accept_config`, `accept_commands`) and `constants.conf`.
|
* Update `/etc/icinga2/features-enabled/api.conf` (`accept_config`, `accept_commands`) and `constants.conf`.
|
||||||
|
* Update `/etc/icinga2/icinga2.conf` and comment out `include_recursive "conf.d"`.
|
||||||
|
|
||||||
You can verify that the certificate files are stored in the `/var/lib/icinga2/certs` directory.
|
You can verify that the certificate files are stored in the `/var/lib/icinga2/certs` directory.
|
||||||
|
|
||||||
|
@ -782,11 +799,15 @@ Add a [global zone](06-distributed-monitoring.md#distributed-monitoring-global-z
|
||||||
for syncing check commands later. Navigate to `C:\ProgramData\icinga2\etc\icinga2` and open
|
for syncing check commands later. Navigate to `C:\ProgramData\icinga2\etc\icinga2` and open
|
||||||
the `zones.conf` file in your preferred editor. Add the following lines if not existing already:
|
the `zones.conf` file in your preferred editor. Add the following lines if not existing already:
|
||||||
|
|
||||||
object Zone "global-templates" {
|
```
|
||||||
global = true
|
object Zone "global-templates" {
|
||||||
}
|
global = true
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Note: Packages >= 2.8 provide this configuration by default.
|
> **Note:**
|
||||||
|
>
|
||||||
|
> Packages >= 2.8 provide this configuration by default.
|
||||||
|
|
||||||
You don't need any local configuration on the client except for
|
You don't need any local configuration on the client except for
|
||||||
CheckCommand definitions which can be synced using the global zone
|
CheckCommand definitions which can be synced using the global zone
|
||||||
|
@ -796,14 +817,23 @@ Navigate to `C:\ProgramData\icinga2\etc\icinga2` and open
|
||||||
the `icinga2.conf` file in your preferred editor. Remove or comment (`//`)
|
the `icinga2.conf` file in your preferred editor. Remove or comment (`//`)
|
||||||
the following line:
|
the following line:
|
||||||
|
|
||||||
// Commented out, not required on a client with top down mode
|
```
|
||||||
//include_recursive "conf.d"
|
// Commented out, not required on a client with top down mode
|
||||||
|
//include_recursive "conf.d"
|
||||||
|
```
|
||||||
|
|
||||||
|
> **Note**
|
||||||
|
>
|
||||||
|
> Packages >= 2.9 provide an option in the setup wizard to disable this.
|
||||||
|
> Defaults to disabled.
|
||||||
|
|
||||||
Validate the configuration on Windows open an administrator terminal
|
Validate the configuration on Windows open an administrator terminal
|
||||||
and run the following command:
|
and run the following command:
|
||||||
|
|
||||||
C:\WINDOWS\system32>cd "C:\Program Files\ICINGA2\sbin"
|
```
|
||||||
C:\Program Files\ICINGA2\sbin>icinga2.exe daemon -C
|
C:\WINDOWS\system32>cd "C:\Program Files\ICINGA2\sbin"
|
||||||
|
C:\Program Files\ICINGA2\sbin>icinga2.exe daemon -C
|
||||||
|
```
|
||||||
|
|
||||||
**Note**: You have to run this command in a shell with `administrator` privileges.
|
**Note**: You have to run this command in a shell with `administrator` privileges.
|
||||||
|
|
||||||
|
@ -921,23 +951,34 @@ The `master` zone is a parent of the `icinga2-client1.localdomain` zone:
|
||||||
In addition, add a [global zone](06-distributed-monitoring.md#distributed-monitoring-global-zone-config-sync)
|
In addition, add a [global zone](06-distributed-monitoring.md#distributed-monitoring-global-zone-config-sync)
|
||||||
for syncing check commands later:
|
for syncing check commands later:
|
||||||
|
|
||||||
[root@icinga2-client1.localdomain /]# vim /etc/icinga2/zones.conf
|
```
|
||||||
|
[root@icinga2-client1.localdomain /]# vim /etc/icinga2/zones.conf
|
||||||
|
|
||||||
object Zone "global-templates" {
|
object Zone "global-templates" {
|
||||||
global = true
|
global = true
|
||||||
}
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Note: Packages >= 2.8 provide this configuration by default.
|
> **Note:**
|
||||||
|
>
|
||||||
|
> Packages >= 2.8 provide this configuration by default.
|
||||||
|
|
||||||
You don't need any local configuration on the client except for
|
You don't need any local configuration on the client except for
|
||||||
CheckCommand definitions which can be synced using the global zone
|
CheckCommand definitions which can be synced using the global zone
|
||||||
above. Therefore disable the inclusion of the `conf.d` directory
|
above. Therefore disable the inclusion of the `conf.d` directory
|
||||||
in `/etc/icinga2/icinga2.conf`.
|
in `/etc/icinga2/icinga2.conf`.
|
||||||
|
|
||||||
[root@icinga2-client1.localdomain /]# vim /etc/icinga2/icinga2.conf
|
```
|
||||||
|
[root@icinga2-client1.localdomain /]# vim /etc/icinga2/icinga2.conf
|
||||||
|
|
||||||
// Commented out, not required on a client as command endpoint
|
// Commented out, not required on a client as command endpoint
|
||||||
//include_recursive "conf.d"
|
//include_recursive "conf.d"
|
||||||
|
```
|
||||||
|
|
||||||
|
> **Note**
|
||||||
|
>
|
||||||
|
> Packages >= 2.9 provide an option in the setup wizard to disable this.
|
||||||
|
> Defaults to disabled.
|
||||||
|
|
||||||
Edit the `api` feature on the client `icinga2-client1.localdomain` in
|
Edit the `api` feature on the client `icinga2-client1.localdomain` in
|
||||||
the `/etc/icinga2/features-enabled/api.conf` file and make sure to set
|
the `/etc/icinga2/features-enabled/api.conf` file and make sure to set
|
||||||
|
@ -2560,16 +2601,25 @@ be passed (defaults to the FQDN).
|
||||||
Common name (CN) | **Optional.** Specified with the `--cn` parameter. By convention this should be the host's FQDN. Defaults to the FQDN.
|
Common name (CN) | **Optional.** Specified with the `--cn` parameter. By convention this should be the host's FQDN. Defaults to the FQDN.
|
||||||
Zone name | **Optional.** Specified with the `--zone` parameter. Defaults to `master`.
|
Zone name | **Optional.** Specified with the `--zone` parameter. Defaults to `master`.
|
||||||
Listen on | **Optional.** Specified with the `--listen` parameter. Syntax is `host,port`.
|
Listen on | **Optional.** Specified with the `--listen` parameter. Syntax is `host,port`.
|
||||||
|
Disable conf.d | **Optional.** Specified with the `disable-confd` parameter. If provided, this disables the `include_recursive "conf.d"` directive and adds the `api-users.conf` file inclusion to `icinga2.conf`. Available since v2.9+. Not set by default for compatibility reasons with Puppet, Ansible, Chef, etc.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
[root@icinga2-master1.localdomain /]# icinga2 node setup --master
|
```
|
||||||
|
[root@icinga2-master1.localdomain /]# icinga2 node setup --master
|
||||||
|
```
|
||||||
|
|
||||||
In case you want to bind the `ApiListener` object to a specific
|
In case you want to bind the `ApiListener` object to a specific
|
||||||
host/port you can specify it like this:
|
host/port you can specify it like this:
|
||||||
|
|
||||||
--listen 192.68.56.101,5665
|
--listen 192.68.56.101,5665
|
||||||
|
|
||||||
|
In case you don't need anything in `conf.d`, use the following command line:
|
||||||
|
|
||||||
|
```
|
||||||
|
[root@icinga2-master1.localdomain /]# icinga2 node setup --master --disable-confd
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
#### Node Setup with Satellites/Clients <a id="distributed-monitoring-automation-cli-node-setup-satellite-client"></a>
|
#### Node Setup with Satellites/Clients <a id="distributed-monitoring-automation-cli-node-setup-satellite-client"></a>
|
||||||
|
|
||||||
|
@ -2634,6 +2684,7 @@ Pass the following details to the `node setup` CLI command:
|
||||||
Accept config | **Optional.** Whether this node accepts configuration sync from the master node (required for [config sync mode](06-distributed-monitoring.md#distributed-monitoring-top-down-config-sync)).
|
Accept config | **Optional.** Whether this node accepts configuration sync from the master node (required for [config sync mode](06-distributed-monitoring.md#distributed-monitoring-top-down-config-sync)).
|
||||||
Accept commands | **Optional.** Whether this node accepts command execution messages from the master node (required for [command endpoint mode](06-distributed-monitoring.md#distributed-monitoring-top-down-command-endpoint)).
|
Accept commands | **Optional.** Whether this node accepts command execution messages from the master node (required for [command endpoint mode](06-distributed-monitoring.md#distributed-monitoring-top-down-command-endpoint)).
|
||||||
Global zones | **Optional.** Allows to specify more global zones in addition to `global-templates` and `director-global`.
|
Global zones | **Optional.** Allows to specify more global zones in addition to `global-templates` and `director-global`.
|
||||||
|
Disable conf.d | **Optional.** Specified with the `disable-confd` parameter. If provided, this disables the `include_recursive "conf.d"` directive in `icinga2.conf`. Available since v2.9+. Not set by default for compatibility reasons with Puppet, Ansible, Chef, etc.
|
||||||
|
|
||||||
> **Note**
|
> **Note**
|
||||||
>
|
>
|
||||||
|
@ -2641,14 +2692,17 @@ Pass the following details to the `node setup` CLI command:
|
||||||
|
|
||||||
Example for Icinga 2 v2.9:
|
Example for Icinga 2 v2.9:
|
||||||
|
|
||||||
[root@icinga2-client1.localdomain /]# icinga2 node setup --ticket ead2d570e18c78abf285d6b85524970a0f69c22d \
|
```
|
||||||
--cn icinga2-client1.localdomain \
|
[root@icinga2-client1.localdomain /]# icinga2 node setup --ticket ead2d570e18c78abf285d6b85524970a0f69c22d \
|
||||||
--endpoint icinga2-master1.localdomain \
|
--cn icinga2-client1.localdomain \
|
||||||
--zone icinga2-client1.localdomain \
|
--endpoint icinga2-master1.localdomain \
|
||||||
--parent_zone master \
|
--zone icinga2-client1.localdomain \
|
||||||
--parent_host icinga2-master1.localdomain \
|
--parent_zone master \
|
||||||
--trustedcert /var/lib/icinga2/certs/trusted-parent.crt \
|
--parent_host icinga2-master1.localdomain \
|
||||||
--accept-commands --accept-config
|
--trustedcert /var/lib/icinga2/certs/trusted-parent.crt \
|
||||||
|
--accept-commands --accept-config \
|
||||||
|
--disable-confd
|
||||||
|
```
|
||||||
|
|
||||||
In case the client should connect to the master node, you'll
|
In case the client should connect to the master node, you'll
|
||||||
need to modify the `--endpoint` parameter using the format `cn,host,port`:
|
need to modify the `--endpoint` parameter using the format `cn,host,port`:
|
||||||
|
|
Loading…
Reference in New Issue