Docs: Update installation for RHEL/CentOS 8 and SLES 15

This commit is contained in:
Michael Friedrich 2019-11-20 15:59:36 +01:00
parent 1a503b554b
commit 35caef4e6c
2 changed files with 199 additions and 133 deletions

View File

@ -118,6 +118,12 @@ apt-get update
#### RHEL/CentOS/Fedora Repositories <a id="package-repositories-rhel-centos-fedora"></a> #### RHEL/CentOS/Fedora Repositories <a id="package-repositories-rhel-centos-fedora"></a>
RHEL/CentOS 8:
```
dnf install https://packages.icinga.com/epel/icinga-rpm-release-8-latest.noarch.rpm
```
RHEL/CentOS 7: RHEL/CentOS 7:
``` ```
@ -130,10 +136,10 @@ RHEL/CentOS 6 x64:
yum install https://packages.icinga.com/epel/icinga-rpm-release-6-latest.noarch.rpm yum install https://packages.icinga.com/epel/icinga-rpm-release-6-latest.noarch.rpm
``` ```
Fedora 29: Fedora 31:
``` ```
dnf install https://packages.icinga.com/fedora/icinga-rpm-release-29-latest.noarch.rpm dnf install https://packages.icinga.com/fedora/icinga-rpm-release-31-latest.noarch.rpm
``` ```
##### RHEL/CentOS EPEL Repository <a id="package-repositories-rhel-epel"></a> ##### RHEL/CentOS EPEL Repository <a id="package-repositories-rhel-epel"></a>
@ -141,14 +147,34 @@ dnf install https://packages.icinga.com/fedora/icinga-rpm-release-29-latest.noar
The packages for RHEL/CentOS depend on other packages which are distributed The packages for RHEL/CentOS depend on other packages which are distributed
as part of the [EPEL repository](https://fedoraproject.org/wiki/EPEL). as part of the [EPEL repository](https://fedoraproject.org/wiki/EPEL).
CentOS 8 additionally needs the PowerTools repository for EPEL:
```
dnf install 'dnf-command(config-manager)'
dnf config-manager --set-enabled PowerTools
dnf install epel-release
```
CentOS 7/6: CentOS 7/6:
``` ```
yum install epel-release yum install epel-release
``` ```
If you are using RHEL 6 or 7 you need to additionally enable the `optional` repository before installing If you are using RHEL you need to additionally enable the `optional` and `codeready-builder`
the [EPEL rpm package](https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F). repository before installing the [EPEL rpm package](https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F).
RHEL 8:
```
ARCH=$( /bin/arch )
subscription-manager repos --enable rhel-8-server-optional-rpms
subscription-manager repos --enable "codeready-builder-for-rhel-8-${ARCH}-rpms"
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
```
RHEL 7: RHEL 7:
@ -189,8 +215,6 @@ zypper ref
#### Alpine Linux Repositories <a id="package-repositories-alpine"></a> #### Alpine Linux Repositories <a id="package-repositories-alpine"></a>
Alpine Linux:
``` ```
echo "http://dl-cdn.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories echo "http://dl-cdn.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories
echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
@ -214,7 +238,15 @@ Debian/Ubuntu:
apt-get install icinga2 apt-get install icinga2
``` ```
RHEL/CentOS 7 and Fedora: RHEL/CentOS 8 and Fedora:
```
dnf install icinga2
systemctl enable icinga2
systemctl start icinga2
```
RHEL/CentOS 7:
``` ```
yum install icinga2 yum install icinga2
@ -248,65 +280,6 @@ Alpine Linux:
apk add icinga2 apk add icinga2
``` ```
### Enabled Features during Installation <a id="installation-enabled-features"></a>
The default installation will enable three features required for a basic
Icinga 2 installation:
* `checker` for executing checks
* `notification` for sending notifications
* `mainlog` for writing the `icinga2.log` file
You can verify that by calling `icinga2 feature list`
[CLI command](11-cli-commands.md#cli-command-feature) to see which features are
enabled and disabled.
```
# icinga2 feature list
Disabled features: api command compatlog debuglog gelf graphite icingastatus ido-mysql ido-pgsql influxdb livestatus opentsdb perfdata statusdata syslog
Enabled features: checker mainlog notification
```
### Installation Paths <a id="installation-paths"></a>
By default Icinga 2 uses the following files and directories:
Path | Description
----------------------------------------------|------------------------------------
/etc/icinga2 | Contains Icinga 2 configuration files.
/usr/lib/systemd/system/icinga2.service | The Icinga 2 systemd service file on systems using systemd.
/etc/systemd/system/icinga2.service.d/limits.conf | On distributions with systemd >227, additional service limits are required.
/etc/init.d/icinga2 | The Icinga 2 init script on systems using SysVinit or OpenRC.
/usr/sbin/icinga2 | Shell wrapper for the Icinga 2 binary.
/usr/lib\*/icinga2 | Libraries and the Icinga 2 binary (use `find /usr -type f -name icinga2` to locate the binary path).
/usr/share/doc/icinga2 | Documentation files that come with Icinga 2.
/usr/share/icinga2/include | The Icinga Template Library and plugin command configuration.
/var/lib/icinga2 | Icinga 2 state file, cluster log, master CA, node certificates and configuration files (cluster, api).
/var/run/icinga2 | PID file.
/var/run/icinga2/cmd | Command pipe and Livestatus socket.
/var/cache/icinga2 | status.dat/objects.cache, icinga2.debug files.
/var/spool/icinga2 | Used for performance data spool files.
/var/log/icinga2 | Log file location and compat/ directory for the CompatLogger feature.
FreeBSD uses slightly different paths:
By default Icinga 2 uses the following files and directories:
Path | Description
------------------------------------|------------------------------------
/usr/local/etc/icinga2 | Contains Icinga 2 configuration files.
/usr/local/etc/rc.d/icinga2 | The Icinga 2 init script.
/usr/local/sbin/icinga2 | Shell wrapper for the Icinga 2 binary.
/usr/local/lib/icinga2 | Libraries and the Icinga 2 binary.
/usr/local/share/doc/icinga2 | Documentation files that come with Icinga 2.
/usr/local/share/icinga2/include | The Icinga Template Library and plugin command configuration.
/var/lib/icinga2 | Icinga 2 state file, cluster log, master CA, node certificates and configuration files (cluster, api).
/var/run/icinga2 | PID file.
/var/run/icinga2/cmd | Command pipe and Livestatus socket.
/var/cache/icinga2 | status.dat/objects.cache, icinga2.debug files.
/var/spool/icinga2 | Used for performance data spool files.
/var/log/icinga2 | Log file location and compat/ directory for the CompatLogger feature.
## Setting up Check Plugins <a id="setting-up-check-plugins"></a> ## Setting up Check Plugins <a id="setting-up-check-plugins"></a>
Without plugins Icinga 2 does not know how to check external services. The Without plugins Icinga 2 does not know how to check external services. The
@ -322,62 +295,15 @@ popular operating systems/distributions:
OS/Distribution | Package Name | Repository | Installation Path OS/Distribution | Package Name | Repository | Installation Path
-----------------------|--------------------|---------------------------|---------------------------- -----------------------|--------------------|---------------------------|----------------------------
RHEL/CentOS | nagios-plugins-all | [EPEL](https://fedoraproject.org/wiki/EPEL) | /usr/lib/nagios/plugins or /usr/lib64/nagios/plugins RHEL/CentOS | nagios-plugins-all | [EPEL](02-installation.md#package-repositories-rhel-epel) | /usr/lib64/nagios/plugins
SLES/OpenSUSE | monitoring-plugins | [server:monitoring](https://build.opensuse.org/project/repositories/server:monitoring) | /usr/lib/nagios/plugins SLES/OpenSUSE | monitoring-plugins | [server:monitoring](https://build.opensuse.org/project/repositories/server:monitoring) | /usr/lib/nagios/plugins
Debian/Ubuntu | monitoring-plugins | - | /usr/lib/nagios/plugins Debian/Ubuntu | monitoring-plugins | - | /usr/lib/nagios/plugins
FreeBSD | monitoring-plugins | - | /usr/local/libexec/nagios FreeBSD | monitoring-plugins | - | /usr/local/libexec/nagios
Alpine Linux | monitoring-plugins | - | /usr/lib/monitoring-plugins Alpine Linux | monitoring-plugins | - | /usr/lib/monitoring-plugins
macOS | monitoring-plugins | [MacPorts](https://www.macports.org), [Homebrew](https://brew.sh) | /opt/local/libexec or /usr/local/sbin
The recommended way of installing these standard plugins is to use your The recommended way of installing these standard plugins is to use your
distribution's package manager. distribution's package manager.
Debian/Ubuntu:
```
apt-get install monitoring-plugins
```
RHEL/CentOS:
```
yum install nagios-plugins-all
```
The packages for RHEL/CentOS depend on other packages which are distributed
as part of the [EPEL repository](02-installation.md#package-repositories-rhel-epel).
Fedora:
```
dnf install nagios-plugins-all
```
SLES/openSUSE:
```
zypper install monitoring-plugins
```
The packages for SLES/OpenSUSE depend on other packages which are distributed
as part of the [server:monitoring repository](https://build.opensuse.org/project/repositories/server:monitoring).
Please make sure to enable this repository beforehand.
FreeBSD:
```
pkg install monitoring-plugins
```
Alpine Linux:
```
apk add monitoring-plugins
```
Note: For Alpine you don't need to explicitly add the `monitoring-plugins` package since it is a dependency of
`icinga2` and is pulled automatically.
Depending on which directory your plugins are installed into you may need to Depending on which directory your plugins are installed into you may need to
update the global `PluginDir` constant in your [Icinga 2 configuration](04-configuration.md#constants-conf). update the global `PluginDir` constant in your [Icinga 2 configuration](04-configuration.md#constants-conf).
This constant is used by the check command definitions contained in the Icinga Template Library This constant is used by the check command definitions contained in the Icinga Template Library
@ -388,18 +314,73 @@ to determine where to find the plugin binaries.
> Please refer to the [service monitoring](05-service-monitoring.md#service-monitoring-plugins) chapter for details about how to integrate > Please refer to the [service monitoring](05-service-monitoring.md#service-monitoring-plugins) chapter for details about how to integrate
> additional check plugins into your Icinga 2 setup. > additional check plugins into your Icinga 2 setup.
### Debian/Ubuntu <a id="setting-up-check-plugins-debian-ubuntu"></a>
```
apt-get install monitoring-plugins
```
### RHEL/CentOS/Fedora <a id="setting-up-check-plugins-rhel-centos-fedora"></a>
The packages for RHEL/CentOS depend on other packages which are distributed
as part of the [EPEL repository](02-installation.md#package-repositories-rhel-epel).
RHEL/CentOS 8:
```
dnf install nagios-plugins-all
```
RHEL/CentOS 7/6:
```
yum install nagios-plugins-all
```
Fedora:
```
dnf install nagios-plugins-all
```
### SLES/openSUSE <a id="setting-up-check-plugins-sles-opensuse"></a>
The packages for SLES/OpenSUSE depend on other packages which are distributed
as part of the [server:monitoring repository](https://build.opensuse.org/project/repositories/server:monitoring).
Please make sure to enable this repository beforehand.
```
zypper install monitoring-plugins
```
### FreeBSD <a id="setting-up-check-plugins-freebsd"></a>
```
pkg install monitoring-plugins
```
### Alpine Linux <a id="setting-up-check-plugins-alpine"></a>
```
apk add monitoring-plugins
```
Note: For Alpine you don't need to explicitly add the `monitoring-plugins` package since it is a dependency of
`icinga2` and is pulled automatically.
## Running Icinga 2 <a id="running-icinga2"></a> ## Running Icinga 2 <a id="running-icinga2"></a>
### Systemd Service <a id="systemd-service"></a> ### Systemd Service <a id="systemd-service"></a>
Some distributions (e.g. Fedora, openSUSE and RHEL/CentOS 7) use systemd. The The majority of supported distributions use systemd. The
Icinga 2 packages automatically install the necessary systemd unit files. Icinga 2 packages automatically install the necessary systemd unit files.
The Icinga 2 systemd service can be (re-)started, reloaded, stopped and also The Icinga 2 systemd service can be (re-)started, reloaded, stopped and also
queried for its current status. queried for its current status.
``` ```
# systemctl status icinga2 systemctl status icinga2
icinga2.service - Icinga host/service/network monitoring system icinga2.service - Icinga host/service/network monitoring system
Loaded: loaded (/usr/lib/systemd/system/icinga2.service; disabled) Loaded: loaded (/usr/lib/systemd/system/icinga2.service; disabled)
Active: active (running) since Mi 2014-07-23 13:39:38 CEST; 15s ago Active: active (running) since Mi 2014-07-23 13:39:38 CEST; 15s ago
@ -433,15 +414,19 @@ The `systemctl` command supports the following actions:
Examples: Examples:
``` ```
# systemctl enable icinga2 systemctl enable icinga2
# systemctl restart icinga2 systemctl restart icinga2
Job for icinga2.service failed. See 'systemctl status icinga2.service' and 'journalctl -xn' for details. Job for icinga2.service failed. See 'systemctl status icinga2.service' and 'journalctl -xn' for details.
``` ```
If you're stuck with configuration errors, you can manually invoke the If you're stuck with configuration errors, you can manually invoke the
[configuration validation](11-cli-commands.md#config-validation). [configuration validation](11-cli-commands.md#config-validation).
```
icinga2 daemon -C
```
> **Tip** > **Tip**
> >
> If you are running into fork errors with systemd enabled distributions, > If you are running into fork errors with systemd enabled distributions,
@ -452,7 +437,8 @@ If you're stuck with configuration errors, you can manually invoke the
Icinga 2's init script is installed in `/etc/init.d/icinga2` (`/usr/local/etc/rc.d/icinga2` on FreeBSD) by default: Icinga 2's init script is installed in `/etc/init.d/icinga2` (`/usr/local/etc/rc.d/icinga2` on FreeBSD) by default:
``` ```
# /etc/init.d/icinga2 /etc/init.d/icinga2
Usage: /etc/init.d/icinga2 {start|stop|restart|reload|checkconfig|status} Usage: /etc/init.d/icinga2 {start|stop|restart|reload|checkconfig|status}
``` ```
@ -477,9 +463,9 @@ using the init script. Using Debian packages the user and group are set to
On FreeBSD you need to enable icinga2 in your rc.conf On FreeBSD you need to enable icinga2 in your rc.conf
``` ```
# sysrc icinga2_enable=yes sysrc icinga2_enable=yes
# service icinga2 restart service icinga2 restart
``` ```
### SELinux <a id="running-icinga2-selinux"></a> ### SELinux <a id="running-icinga2-selinux"></a>
@ -492,18 +478,18 @@ Icinga 2 provides its own SELinux policy. `icinga2-selinux` is a policy package
for Red Hat Enterprise Linux 7 and derivatives. The package runs the targeted policy for Red Hat Enterprise Linux 7 and derivatives. The package runs the targeted policy
which confines Icinga 2 including enabled features and running commands. which confines Icinga 2 including enabled features and running commands.
RHEL/CentOS 8 and Fedora:
```
dnf install icinga2-selinux
```
RHEL/CentOS 7: RHEL/CentOS 7:
``` ```
yum install icinga2-selinux yum install icinga2-selinux
``` ```
Fedora:
```
dnf install icinga2-selinux
```
Read more about SELinux in [this chapter](22-selinux.md#selinux). Read more about SELinux in [this chapter](22-selinux.md#selinux).
## Configuration Syntax Highlighting <a id="configuration-syntax-highlighting"></a> ## Configuration Syntax Highlighting <a id="configuration-syntax-highlighting"></a>
@ -526,7 +512,13 @@ vim-addon-manager -w install icinga2
Info: installing removed addon 'icinga2' to /var/lib/vim/addons Info: installing removed addon 'icinga2' to /var/lib/vim/addons
``` ```
RHEL/CentOS/Fedora: RHEL/CentOS 8 and Fedora:
```
dnf install vim-icinga2
```
RHEL/CentOS 7/6:
``` ```
yum install vim-icinga2 yum install vim-icinga2
@ -543,6 +535,7 @@ Alpine Linux:
``` ```
apk add icinga2-vim apk add icinga2-vim
``` ```
Ensure that syntax highlighting is enabled e.g. by editing the user's `vimrc` Ensure that syntax highlighting is enabled e.g. by editing the user's `vimrc`
configuration file: configuration file:
@ -568,7 +561,13 @@ Debian/Ubuntu:
**Note:** The syntax files are installed with the `icinga2-common` package already. **Note:** The syntax files are installed with the `icinga2-common` package already.
RHEL/CentOS/Fedora: RHEL/CentOS 8 and Fedora:
```
dnf install nano-icinga2
```
RHEL/CentOS 7/6:
``` ```
yum install nano-icinga2 yum install nano-icinga2
@ -626,7 +625,7 @@ apt-get install mysql-server mysql-client
mysql_secure_installation mysql_secure_installation
``` ```
RHEL/CentOS 7 and Fedora: RHEL/CentOS and Fedora:
``` ```
yum install mariadb-server mariadb yum install mariadb-server mariadb
@ -764,7 +763,7 @@ Debian/Ubuntu:
apt-get install postgresql apt-get install postgresql
``` ```
RHEL/CentOS 7: RHEL/CentOS:
``` ```
yum install postgresql-server postgresql yum install postgresql-server postgresql
@ -926,13 +925,18 @@ The preferred way of installing Icinga Web 2 is to use Apache as webserver
in combination with PHP-FPM. If you prefer Nginx, please refer to the Icinga Web 2 in combination with PHP-FPM. If you prefer Nginx, please refer to the Icinga Web 2
documentation. documentation.
> **Note**
>
> These instructions follow HTTP. In order to secure your webserver, please
> use HTTPS and TLS certificates e.g. from [Let's Encrypt](https://letsencrypt.org/).
Debian/Ubuntu: Debian/Ubuntu:
``` ```
apt-get install apache2 apt-get install apache2
``` ```
RHEL/CentOS 7, Fedora: RHEL/CentOS/Fedora:
``` ```
yum install httpd yum install httpd
@ -1045,6 +1049,68 @@ A number of additional features are available in the form of addons. A list of
popular addons is available in the popular addons is available in the
[Addons and Plugins](13-addons.md#addons) chapter. [Addons and Plugins](13-addons.md#addons) chapter.
## Installation Overview <a id="installation-overview"></a>
### Enabled Features during Installation <a id="installation-overview-enabled-features"></a>
The default installation will enable three features required for a basic
Icinga 2 installation:
* `checker` for executing checks
* `notification` for sending notifications
* `mainlog` for writing the `icinga2.log` file
You can verify that by calling `icinga2 feature list`
[CLI command](11-cli-commands.md#cli-command-feature) to see which features are
enabled and disabled.
```
# icinga2 feature list
Disabled features: api command compatlog debuglog gelf graphite icingastatus ido-mysql ido-pgsql influxdb livestatus opentsdb perfdata statusdata syslog
Enabled features: checker mainlog notification
```
### Installation Paths <a id="installation-overview-paths"></a>
By default Icinga 2 uses the following files and directories:
Path | Description
----------------------------------------------|------------------------------------
/etc/icinga2 | Contains Icinga 2 configuration files.
/usr/lib/systemd/system/icinga2.service | The Icinga 2 systemd service file on systems using systemd.
/etc/systemd/system/icinga2.service.d/limits.conf | On distributions with systemd >227, additional service limits are required.
/etc/init.d/icinga2 | The Icinga 2 init script on systems using SysVinit or OpenRC.
/usr/sbin/icinga2 | Shell wrapper for the Icinga 2 binary.
/usr/lib\*/icinga2 | Libraries and the Icinga 2 binary (use `find /usr -type f -name icinga2` to locate the binary path).
/usr/share/doc/icinga2 | Documentation files that come with Icinga 2.
/usr/share/icinga2/include | The Icinga Template Library and plugin command configuration.
/var/lib/icinga2 | Icinga 2 state file, cluster log, master CA, node certificates and configuration files (cluster, api).
/var/run/icinga2 | PID file.
/var/run/icinga2/cmd | Command pipe and Livestatus socket.
/var/cache/icinga2 | status.dat/objects.cache, icinga2.debug files.
/var/spool/icinga2 | Used for performance data spool files.
/var/log/icinga2 | Log file location and compat/ directory for the CompatLogger feature.
FreeBSD uses slightly different paths:
By default Icinga 2 uses the following files and directories:
Path | Description
------------------------------------|------------------------------------
/usr/local/etc/icinga2 | Contains Icinga 2 configuration files.
/usr/local/etc/rc.d/icinga2 | The Icinga 2 init script.
/usr/local/sbin/icinga2 | Shell wrapper for the Icinga 2 binary.
/usr/local/lib/icinga2 | Libraries and the Icinga 2 binary.
/usr/local/share/doc/icinga2 | Documentation files that come with Icinga 2.
/usr/local/share/icinga2/include | The Icinga Template Library and plugin command configuration.
/var/lib/icinga2 | Icinga 2 state file, cluster log, master CA, node certificates and configuration files (cluster, api).
/var/run/icinga2 | PID file.
/var/run/icinga2/cmd | Command pipe and Livestatus socket.
/var/cache/icinga2 | status.dat/objects.cache, icinga2.debug files.
/var/spool/icinga2 | Used for performance data spool files.
/var/log/icinga2 | Log file location and compat/ directory for the CompatLogger feature.
## Backup <a id="install-backup"></a> ## Backup <a id="install-backup"></a>
Ensure to include the following in your backups: Ensure to include the following in your backups:

View File

@ -829,7 +829,7 @@ what attributes are available with links to each object type.
---------------|------------------------------------------ ---------------|------------------------------------------
\$host...$ | Attributes available on a [Host object](09-object-types.md#objecttype-host) \$host...$ | Attributes available on a [Host object](09-object-types.md#objecttype-host)
\$service...$ | Attributes available on a [Service object](09-object-types.md#objecttype-service) \$service...$ | Attributes available on a [Service object](09-object-types.md#objecttype-service)
\$icinga...$ | Attributes available on the [IcingaApplication object](09-object-types.md#icingaapplication) \$icinga...$ | Attributes available on the [IcingaApplication object](09-object-types.md#objecttype-icingaapplication)
> **Note** > **Note**
> >