Merge pull request #10135 from Icinga/centos

doc/: don't mention CentOS
This commit is contained in:
Yonas Habteab 2024-09-18 10:22:09 +02:00 committed by GitHub
commit 3ffec77ae5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 36 additions and 141 deletions

View File

@ -72,21 +72,6 @@ apt update
``` ```
<!-- {% endif %} --> <!-- {% endif %} -->
<!-- {% if centos %} -->
### CentOS Repository <a id="centos-repository"></a>
```bash
wget https://packages.icinga.com/centos/ICINGA-release.repo -O /etc/yum.repos.d/ICINGA-release.repo
```
The packages for CentOS depend on other packages which are distributed
as part of the [EPEL repository](https://fedoraproject.org/wiki/EPEL):
```bash
yum install epel-release
```
<!-- {% endif %} -->
<!-- {% if rhel %} --> <!-- {% if rhel %} -->
### RHEL Repository <a id="rhel-repository"></a> ### RHEL Repository <a id="rhel-repository"></a>
@ -212,7 +197,7 @@ You can install Icinga 2 by using your distribution's package manager
to install the `icinga2` package. The following commands must be executed to install the `icinga2` package. The following commands must be executed
with `root` permissions unless noted otherwise. with `root` permissions unless noted otherwise.
<!-- {% if centos or rhel or fedora or amazon_linux %} --> <!-- {% if rhel or fedora or amazon_linux %} -->
!!! tip !!! tip
If you have [SELinux](22-selinux.md) enabled, the package `icinga2-selinux` is also required. If you have [SELinux](22-selinux.md) enabled, the package `icinga2-selinux` is also required.
@ -227,21 +212,6 @@ apt install icinga2
``` ```
<!-- {% endif %} --> <!-- {% endif %} -->
<!-- {% if centos %} -->
<!-- {% if not icingaDocs %} -->
#### CentOS
<!-- {% endif %} -->
!!! info
Note that installing Icinga 2 is only supported on CentOS 7 as CentOS 8 is EOL.
```bash
yum install icinga2
systemctl enable icinga2
systemctl start icinga2
```
<!-- {% endif %} -->
<!-- {% if rhel %} --> <!-- {% if rhel %} -->
#### RHEL 8 or Later #### RHEL 8 or Later
@ -339,17 +309,6 @@ apt install monitoring-plugins
``` ```
<!-- {% endif %} --> <!-- {% endif %} -->
<!-- {% if centos %} -->
<!-- {% if not icingaDocs %} -->
#### CentOS
<!-- {% endif %} -->
The packages for CentOS depend on other packages which are distributed as part of the EPEL repository.
```bash
yum install nagios-plugins-all
```
<!-- {% endif %} -->
<!-- {% if rhel %} --> <!-- {% if rhel %} -->
<!-- {% if not icingaDocs %} --> <!-- {% if not icingaDocs %} -->
#### RHEL #### RHEL
@ -437,7 +396,7 @@ Restart Icinga 2 for these changes to take effect.
systemctl restart icinga2 systemctl restart icinga2
``` ```
<!-- {% if amazon_linux or centos or debian or rhel or sles or ubuntu %} --> <!-- {% if amazon_linux or debian or rhel or sles or ubuntu %} -->
## Set up Icinga DB <a id="set-up-icinga-db"></a> ## Set up Icinga DB <a id="set-up-icinga-db"></a>
Icinga DB is a set of components for publishing, synchronizing and Icinga DB is a set of components for publishing, synchronizing and
@ -489,20 +448,6 @@ yum install icingadb-redis
``` ```
<!-- {% endif %} --> <!-- {% endif %} -->
<!-- {% if centos %} -->
<!-- {% if not icingaDocs %} -->
##### CentOS
<!-- {% endif %} -->
!!! info
Note that installing Icinga DB Redis is only supported on CentOS 7 as CentOS 8 is EOL.
```bash
yum install icingadb-redis
```
<!-- {% endif %} -->
<!-- {% if debian or ubuntu %} --> <!-- {% if debian or ubuntu %} -->
<!-- {% if not icingaDocs %} --> <!-- {% if not icingaDocs %} -->
##### Debian / Ubuntu / Raspberry Pi OS ##### Debian / Ubuntu / Raspberry Pi OS
@ -616,9 +561,6 @@ you have completed the instructions here and can proceed to
<!-- {% if amazon_linux %} --> <!-- {% if amazon_linux %} -->
[install the Icinga DB daemon on Amazon Linux](https://icinga.com/docs/icinga-db/latest/doc/02-Installation/01-Amazon-Linux/#installing-icinga-db-package), [install the Icinga DB daemon on Amazon Linux](https://icinga.com/docs/icinga-db/latest/doc/02-Installation/01-Amazon-Linux/#installing-icinga-db-package),
<!-- {% endif %} --> <!-- {% endif %} -->
<!-- {% if centos %} -->
[install the Icinga DB daemon on CentOS](https://icinga.com/docs/icinga-db/latest/doc/02-Installation/02-CentOS/#installing-icinga-db-package),
<!-- {% endif %} -->
<!-- {% if debian %} --> <!-- {% if debian %} -->
[install the Icinga DB daemon on Debian](https://icinga.com/docs/icinga-db/latest/doc/02-Installation/03-Debian/#installing-icinga-db-package), [install the Icinga DB daemon on Debian](https://icinga.com/docs/icinga-db/latest/doc/02-Installation/03-Debian/#installing-icinga-db-package),
<!-- {% endif %} --> <!-- {% endif %} -->

View File

@ -1,3 +0,0 @@
# Install Icinga 2 on CentOS
<!-- {% set centos = True %} -->
<!-- {% include "02-installation.md" %} -->

View File

@ -2729,7 +2729,7 @@ Requirements:
* Icinga 2 as client on the remote node * Icinga 2 as client on the remote node
* icinga user with sudo permissions to the httpd daemon * icinga user with sudo permissions to the httpd daemon
Example on CentOS 7: Example on RHEL:
``` ```
# visudo # visudo

View File

@ -51,7 +51,7 @@ described. Try running the plugin after setup and [ensure it works](05-service-m
Prior to using the check plugin with Icinga 2 you should ensure that it is working properly Prior to using the check plugin with Icinga 2 you should ensure that it is working properly
by trying to run it on the console using whichever user Icinga 2 is running as: by trying to run it on the console using whichever user Icinga 2 is running as:
RHEL/CentOS/Fedora RHEL/Fedora
```bash ```bash
sudo -u icinga /usr/lib64/nagios/plugins/check_mysql_health --help sudo -u icinga /usr/lib64/nagios/plugins/check_mysql_health --help
@ -111,7 +111,7 @@ Can't locate Net/SNMP.pm in @INC (you may need to install the Net::SNMP module)
Prior to installing the Perl module via CPAN, look for a distribution Prior to installing the Perl module via CPAN, look for a distribution
specific package, e.g. `libnet-snmp-perl` on Debian/Ubuntu or `perl-Net-SNMP` specific package, e.g. `libnet-snmp-perl` on Debian/Ubuntu or `perl-Net-SNMP`
on RHEL/CentOS. on RHEL.
#### Optional: Custom Path <a id="service-monitoring-plugins-custom-path"></a> #### Optional: Custom Path <a id="service-monitoring-plugins-custom-path"></a>

View File

@ -264,7 +264,7 @@ The setup wizard will ensure that the following steps are taken:
* Update the [ApiListener](06-distributed-monitoring.md#distributed-monitoring-apilistener) and [constants](04-configuration.md#constants-conf) configuration. * Update the [ApiListener](06-distributed-monitoring.md#distributed-monitoring-apilistener) and [constants](04-configuration.md#constants-conf) configuration.
* Update the [icinga2.conf](04-configuration.md#icinga2-conf) to disable the `conf.d` inclusion, and add the `api-users.conf` file inclusion. * Update the [icinga2.conf](04-configuration.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:
``` ```
[root@icinga2-master1.localdomain /]# icinga2 node wizard [root@icinga2-master1.localdomain /]# icinga2 node wizard
@ -1031,9 +1031,7 @@ in `/etc/icinga2/icinga2.conf`.
> Defaults to disabled. > Defaults to disabled.
Now it is time to validate the configuration and to restart the Icinga 2 daemon Now it is time to validate the configuration and to restart the Icinga 2 daemon
on both nodes. on both nodes:
Example on CentOS 7:
``` ```
[root@icinga2-agent1.localdomain /]# icinga2 daemon -C [root@icinga2-agent1.localdomain /]# icinga2 daemon -C
@ -1112,7 +1110,8 @@ Save the changes and validate the configuration on the master node:
``` ```
[root@icinga2-master1.localdomain /]# icinga2 daemon -C [root@icinga2-master1.localdomain /]# icinga2 daemon -C
``` ```
Restart the Icinga 2 daemon (example for CentOS 7):
Restart the Icinga 2 daemon:
``` ```
[root@icinga2-master1.localdomain /]# systemctl restart icinga2 [root@icinga2-master1.localdomain /]# systemctl restart icinga2
@ -1221,9 +1220,7 @@ object ApiListener "api" {
``` ```
Now it is time to validate the configuration and to restart the Icinga 2 daemon Now it is time to validate the configuration and to restart the Icinga 2 daemon
on both nodes. on both nodes:
Example on CentOS 7:
``` ```
[root@icinga2-satellite1.localdomain /]# icinga2 daemon -C [root@icinga2-satellite1.localdomain /]# icinga2 daemon -C
@ -1285,7 +1282,7 @@ Save the changes and validate the configuration on the master node:
[root@icinga2-master1.localdomain /]# icinga2 daemon -C [root@icinga2-master1.localdomain /]# icinga2 daemon -C
``` ```
Restart the Icinga 2 daemon (example for CentOS 7): Restart the Icinga 2 daemon:
``` ```
[root@icinga2-master1.localdomain /]# systemctl restart icinga2 [root@icinga2-master1.localdomain /]# systemctl restart icinga2

View File

@ -73,7 +73,7 @@ RPM and Debian packages install the bash completion files into
You need to install the `bash-completion` package if not already installed. You need to install the `bash-completion` package if not already installed.
RHEL/CentOS/Fedora: RHEL/Fedora:
```bash ```bash
yum install bash-completion yum install bash-completion

View File

@ -815,16 +815,6 @@ apt-get install icinga2-ido-mysql
default. You can skip the automated setup and install/upgrade the default. You can skip the automated setup and install/upgrade the
database manually if you prefer. database manually if you prefer.
###### CentOS 7
!!! info
Note that installing `icinga2-ido-mysql` is only supported on CentOS 7 as CentOS 8 is EOL.
```bash
yum install icinga2-ido-mysql
```
###### RHEL 8 ###### RHEL 8
```bash ```bash
@ -914,16 +904,6 @@ apt-get install icinga2-ido-pgsql
You can skip the automated setup and install/upgrade the database manually You can skip the automated setup and install/upgrade the database manually
if you prefer that. if you prefer that.
###### CentOS 7
!!! info
Note that installing `icinga2-ido-pgsql` is only supported on CentOS 7 as CentOS 8 is EOL.
```bash
yum install icinga2-ido-pgsql
```
###### RHEL 8 ###### RHEL 8
```bash ```bash

View File

@ -48,7 +48,7 @@ or `icinga2-ido-mysql`.
Distribution | Command Distribution | Command
-------------------|------------------------------------------ -------------------|------------------------------------------
Debian/Ubuntu | `apt-get install icinga2-dbg` Debian/Ubuntu | `apt-get install icinga2-dbg`
RHEL/CentOS | `yum install icinga2-debuginfo` RHEL | `yum install icinga2-debuginfo`
Fedora | `dnf install icinga2-debuginfo icinga2-bin-debuginfo icinga2-ido-mysql-debuginfo` Fedora | `dnf install icinga2-debuginfo icinga2-bin-debuginfo icinga2-ido-mysql-debuginfo`
SLES/openSUSE | `zypper install icinga2-bin-debuginfo icinga2-ido-mysql-debuginfo` SLES/openSUSE | `zypper install icinga2-bin-debuginfo icinga2-ido-mysql-debuginfo`
@ -65,7 +65,7 @@ Install GDB in your development environment.
Distribution | Command Distribution | Command
-------------------|------------------------------------------ -------------------|------------------------------------------
Debian/Ubuntu | `apt-get install gdb` Debian/Ubuntu | `apt-get install gdb`
RHEL/CentOS | `yum install gdb` RHEL | `yum install gdb`
Fedora | `dnf install gdb` Fedora | `dnf install gdb`
SLES/openSUSE | `zypper install gdb` SLES/openSUSE | `zypper install gdb`
@ -537,7 +537,7 @@ packages.
If you encounter a problem, please [open a new issue](https://github.com/Icinga/icinga2/issues/new/choose) If you encounter a problem, please [open a new issue](https://github.com/Icinga/icinga2/issues/new/choose)
on GitHub and mention that you're testing the snapshot packages. on GitHub and mention that you're testing the snapshot packages.
#### RHEL/CentOS <a id="development-tests-snapshot-packages-rhel"></a> #### RHEL <a id="development-tests-snapshot-packages-rhel"></a>
2.11+ requires the EPEL repository for Boost 1.66+. 2.11+ requires the EPEL repository for Boost 1.66+.
@ -1332,9 +1332,6 @@ autocmd BufWinLeave * call clearmatches()
### Linux Dev Environment <a id="development-linux-dev-env"></a> ### Linux Dev Environment <a id="development-linux-dev-env"></a>
Based on CentOS 7, we have an early draft available inside the Icinga Vagrant boxes:
[centos7-dev](https://github.com/Icinga/icinga-vagrant/tree/master/centos7-dev).
If you're compiling Icinga 2 natively without any virtualization layer in between, If you're compiling Icinga 2 natively without any virtualization layer in between,
this usually is faster. This is also the reason why developers on macOS prefer native builds this usually is faster. This is also the reason why developers on macOS prefer native builds
over Linux or Windows VMs. Don't forget to test the actual code on Linux later! Socket specific over Linux or Windows VMs. Don't forget to test the actual code on Linux later! Socket specific
@ -1357,21 +1354,20 @@ mkdir -p release debug
Proceed with the specific distribution examples below. Keep in mind that these instructions Proceed with the specific distribution examples below. Keep in mind that these instructions
are best effort and sometimes out-of-date. Git Master may contain updates. are best effort and sometimes out-of-date. Git Master may contain updates.
* [CentOS 7](21-development.md#development-linux-dev-env-centos) * [Fedora 40](21-development.md#development-linux-dev-env-fedora)
* [Debian 10 Buster](21-development.md#development-linux-dev-env-debian) * [Debian 10 Buster](21-development.md#development-linux-dev-env-debian)
* [Ubuntu 18 Bionic](21-development.md#development-linux-dev-env-ubuntu) * [Ubuntu 18 Bionic](21-development.md#development-linux-dev-env-ubuntu)
#### Fedora 40 <a id="development-linux-dev-env-fedora"></a>
#### CentOS 7 <a id="development-linux-dev-env-centos"></a>
```bash ```bash
yum -y install gdb vim git bash-completion htop centos-release-scl yum -y install gdb vim git bash-completion htop
yum -y install rpmdevtools ccache \ yum -y install rpmdevtools ccache \
cmake make devtoolset-11-gcc-c++ flex bison \ cmake make gcc-c++ flex bison \
openssl-devel boost169-devel systemd-devel \ openssl-devel boost-devel systemd-devel \
mysql-devel postgresql-devel libedit-devel \ mysql-devel postgresql-devel libedit-devel \
devtoolset-11-libstdc++-devel libstdc++-devel
groupadd icinga groupadd icinga
groupadd icingacmd groupadd icingacmd
@ -1389,35 +1385,30 @@ slower but allows for better debugging insights.
For benchmarks, change `CMAKE_BUILD_TYPE` to `RelWithDebInfo` and For benchmarks, change `CMAKE_BUILD_TYPE` to `RelWithDebInfo` and
build inside the `release` directory. build inside the `release` directory.
First, off export some generics for Boost. First, override the default prefix path.
```bash ```bash
export I2_BOOST="-DBoost_NO_BOOST_CMAKE=TRUE -DBoost_NO_SYSTEM_PATHS=TRUE -DBOOST_LIBRARYDIR=/usr/lib64/boost169 -DBOOST_INCLUDEDIR=/usr/include/boost169 -DBoost_ADDITIONAL_VERSIONS='1.69;1.69.0'" export I2_GENERIC="-DCMAKE_INSTALL_PREFIX=/usr/local/icinga2"
``` ```
Second, add the prefix path to it. Second, define the two build types with their specific CMake variables.
```bash
export I2_GENERIC="$I2_BOOST -DCMAKE_INSTALL_PREFIX=/usr/local/icinga2"
```
Third, define the two build types with their specific CMake variables.
```bash ```bash
export I2_DEBUG="-DCMAKE_BUILD_TYPE=Debug -DICINGA2_UNITY_BUILD=OFF $I2_GENERIC" export I2_DEBUG="-DCMAKE_BUILD_TYPE=Debug -DICINGA2_UNITY_BUILD=OFF $I2_GENERIC"
export I2_RELEASE="-DCMAKE_BUILD_TYPE=RelWithDebInfo -DICINGA2_WITH_TESTS=ON -DICINGA2_UNITY_BUILD=ON $I2_GENERIC" export I2_RELEASE="-DCMAKE_BUILD_TYPE=RelWithDebInfo -DICINGA2_WITH_TESTS=ON -DICINGA2_UNITY_BUILD=ON $I2_GENERIC"
``` ```
Fourth, depending on your likings, you may add a bash alias for building, Third, depending on your likings, you may use a bash alias for building,
or invoke the commands inside: or invoke the commands inside:
```bash ```bash
alias i2_debug="cd /root/icinga2; mkdir -p debug; cd debug; scl enable devtoolset-11 -- cmake $I2_DEBUG ..; make -j2; sudo make -j2 install; cd .." alias i2_debug="cd /root/icinga2; mkdir -p debug; cd debug; cmake $I2_DEBUG ..; make -j2; sudo make -j2 install; cd .."
alias i2_release="cd /root/icinga2; mkdir -p release; cd release; scl enable devtoolset-11 -- cmake $I2_RELEASE ..; make -j2; sudo make -j2 install; cd .." alias i2_release="cd /root/icinga2; mkdir -p release; cd release; cmake $I2_RELEASE ..; make -j2; sudo make -j2 install; cd .."
``` ```
This is taken from the [centos7-dev](https://github.com/Icinga/icinga-vagrant/tree/master/centos7-dev) Vagrant box. ```bash
i2_debug
```
The source installation doesn't set proper permissions, this is The source installation doesn't set proper permissions, this is
handled in the package builds which are officially supported. handled in the package builds which are officially supported.
@ -1429,7 +1420,7 @@ chown -R icinga:icinga /usr/local/icinga2/{etc,var}/
/usr/local/icinga2/sbin/icinga2 api setup /usr/local/icinga2/sbin/icinga2 api setup
vim /usr/local/icinga2/etc/icinga2/conf.d/api-users.conf vim /usr/local/icinga2/etc/icinga2/conf.d/api-users.conf
/usr/local/icinga2/lib/icinga2/sbin/icinga2 daemon /usr/local/icinga2/lib64/icinga2/sbin/icinga2 daemon
``` ```
#### Debian 10 <a id="development-linux-dev-env-debian"></a> #### Debian 10 <a id="development-linux-dev-env-debian"></a>
@ -2203,7 +2194,7 @@ Icinga application using a dist tarball (including notes for distributions):
* Debian/Ubuntu: libpq-dev * Debian/Ubuntu: libpq-dev
* postgresql-dev on Alpine * postgresql-dev on Alpine
* libedit (CLI console) * libedit (CLI console)
* RHEL/Fedora: libedit-devel on CentOS (RHEL requires rhel-7-server-optional-rpms) * RHEL/Fedora: libedit-devel (RHEL requires rhel-7-server-optional-rpms)
* Debian/Ubuntu/Alpine: libedit-dev * Debian/Ubuntu/Alpine: libedit-dev
* Termcap (only required if libedit doesn't already link against termcap/ncurses) * Termcap (only required if libedit doesn't already link against termcap/ncurses)
* RHEL/Fedora: libtermcap-devel * RHEL/Fedora: libtermcap-devel
@ -2351,7 +2342,7 @@ can be used to disable the usage of `git describe`.
### Building RPMs <a id="development-package-builds-rpms"></a> ### Building RPMs <a id="development-package-builds-rpms"></a>
#### Build Environment on RHEL, CentOS, Fedora, Amazon Linux #### Build Environment on RHEL, Fedora, Amazon Linux
Setup your build environment: Setup your build environment:
@ -2407,7 +2398,7 @@ spectool -g ../SPECS/icinga2.spec
cd $HOME/rpmbuild cd $HOME/rpmbuild
``` ```
Install the build dependencies. Example for CentOS 7: Install the build dependencies:
```bash ```bash
yum -y install libedit-devel ncurses-devel gcc-c++ libstdc++-devel openssl-devel \ yum -y install libedit-devel ncurses-devel gcc-c++ libstdc++-devel openssl-devel \
@ -2436,21 +2427,9 @@ rpmbuild -ba SPECS/icinga2.spec
The following packages are required to build the SELinux policy module: The following packages are required to build the SELinux policy module:
* checkpolicy * checkpolicy
* selinux-policy (selinux-policy on CentOS 6, selinux-policy-devel on CentOS 7) * selinux-policy-devel
* selinux-policy-doc * selinux-policy-doc
##### RHEL/CentOS 7
The RedHat Developer Toolset is required for building Icinga 2 beforehand.
This contains a C++ compiler which supports C++17 features.
```bash
yum install centos-release-scl
```
Dependencies to devtools-11 are used in the RPM SPEC, so the correct tools
should be used for building.
##### Amazon Linux ##### Amazon Linux
If you prefer to build packages offline, a suitable Vagrant box is located If you prefer to build packages offline, a suitable Vagrant box is located

View File

@ -205,7 +205,7 @@ corenet_tcp_connect_lmtp_port(icinga2_t)
# Allow icinga2 to connect to redis using unix domain sockets # Allow icinga2 to connect to redis using unix domain sockets
stream_connect_pattern(icinga2_t, redis_var_run_t, redis_var_run_t, redis_t) stream_connect_pattern(icinga2_t, redis_var_run_t, redis_var_run_t, redis_t)
# Just like `redis_tcp_connect(icinga2_t)`, though this interface does not exist on centos7 # Just like `redis_tcp_connect(icinga2_t)`, though this interface does not exist on Amazon Linux 2
corenet_tcp_recvfrom_labeled(icinga2_t, redis_t) corenet_tcp_recvfrom_labeled(icinga2_t, redis_t)
corenet_tcp_sendrecv_redis_port(icinga2_t) corenet_tcp_sendrecv_redis_port(icinga2_t)
corenet_tcp_connect_redis_port(icinga2_t) corenet_tcp_connect_redis_port(icinga2_t)