1. prereq

curl -s http://d01cid.ddns.net/sharel/bin/cid-upm | sh -s "nagios"
curl -s http://d01cid.ddns.net/sharel/bin/inst-httpd | sh
curl -s http://d01cid.ddns.net/sharel/bin/inst-mariadb-server | sh

2. installation

yum -y install centos-release-scl
vi /etc/yum.repos.d/icinga2.repo
#
[icinga2]
name=icinga2
baseurl=http://packages.icinga.com/epel/$releasever/release/
enabled=1
gpgcheck=0
yum -y install icingaweb2 icingacli icinga2 icinga2-ido-mysql icinga-idoutils-libdbi-mysql \
       nagios-plugins-all nagios-plugins-nrpe \
       php-cli php-pear php-xmlrpc php-xsl php-pdo php-soap php-gd php-ldap php-pgsql
cube /etc/opt/rh/rh-php71/php.ini ";date.timezone =" with "date.timezone = \"Europe/Berlin\""

3. mysql

mysql -u root -pPassw0rd -e "create database icinga2;"
mysql -u root -pPassw0rd \
  -e "GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga2.* TO 'dbmusr'@'localhost' IDENTIFIED BY 'Passw0rd';"
mysql -u root -pPassw0rd "icinga2" < /usr/share/icinga2-ido-mysql/schema/mysql.sql
cube /etc/icinga2/features-available/ido-mysql.conf '//user = "icinga"' with 'user = "dbmusr"'
cube /etc/icinga2/features-available/ido-mysql.conf '//password = "icinga"' with 'password = "Passw0rd"'
cube /etc/icinga2/features-available/ido-mysql.conf '//host = "localhost"' with 'host = "localhost"'
cube /etc/icinga2/features-available/ido-mysql.conf '//database = "icinga"' with 'database = "icinga2"'

4. configuration

icinga2 feature list
Disabled features: api command compatlog debuglog elasticsearch gelf graphite influxdb livestatus opentsdb perfdata statusdata syslog
Enabled features: checker ido-mysql mainlog notification
icinga2 feature enable command
icingacli setup config directory --group "icingaweb2"
icingacli setup token create
The newly generated setup token is: 77e23f684ee21a59 <<<<<<<<<<<<<<<<<<<<<<<<<<<
Tip put the token into your clipboard for later use.
systemctl enable rh-php71-php-fpm.service
systemctl start rh-php71-php-fpm.service
systemctl restart httpd.service
systemctl enable icinga2.service
systemctl start icinga2.service

./pic/icinga2_01.png

./pic/icinga2_02.png

./pic/icinga2_03.png

./pic/icinga2_04.png

./pic/icinga2_05.png

./pic/icinga2_06.png

./pic/icinga2_07.png

./pic/icinga2_08.png

./pic/icinga2_09.png

./pic/icinga2_10.png

./pic/icinga2_11.png

./pic/icinga2_12.png

./pic/icinga2_13.png

./pic/icinga2_14.png

./pic/icinga2_15.png

5. setup

icinga2 node wizard
Welcome to the Icinga 2 Setup Wizard!

We'll guide you through all required configuration details.



Please specify if this is a satellite setup ('n' installs a master setup) [Y/n]: n
Starting the Master setup routine...
Please specify the common name (CN) [srv121.d01.net]:
Checking for existing certificates for common name 'srv121.d01.net'...
Certificates not yet generated. Running 'api setup' now.
information/cli: Generating new CA.
information/base: Writing private key to '/var/lib/icinga2/ca/ca.key'.
information/base: Writing X509 certificate to '/var/lib/icinga2/ca/ca.crt'.
information/cli: Generating new CSR in '/etc/icinga2/pki/srv121.d01.net.csr'.
information/base: Writing private key to '/etc/icinga2/pki/srv121.d01.net.key'.
information/base: Writing certificate signing request to '/etc/icinga2/pki/srv121.d01.net.csr'.
information/cli: Signing CSR with CA and writing certificate to '/etc/icinga2/pki/srv121.d01.net.crt'.
information/pki: Writing certificate to file '/etc/icinga2/pki/srv121.d01.net.crt'.
information/cli: Copying CA certificate to '/etc/icinga2/pki/ca.crt'.
Generating master configuration for Icinga 2.
information/cli: Adding new ApiUser 'root' in '/etc/icinga2/conf.d/api-users.conf'.
information/cli: Enabling the 'api' feature.
Enabling feature api. Make sure to restart Icinga 2 for these changes to take effect.
information/cli: Dumping config items to file '/etc/icinga2/zones.conf'.
information/cli: Created backup file '/etc/icinga2/zones.conf.orig'.
Please specify the API bind host/port (optional):
Bind Host []:
Bind Port []:
information/cli: Created backup file '/etc/icinga2/features-available/api.conf.orig'.
information/cli: Updating constants.conf.
information/cli: Created backup file '/etc/icinga2/constants.conf.orig'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
Done.

Now restart your Icinga 2 daemon to finish the installation!
systemctl restart icinga2.service

6. client

yum install icinga2
icinga2 icinga2-bin icinga2-common icinga2-libs
icinga2 node wizard
Welcome to the Icinga 2 Setup Wizard!

We'll guide you through all required configuration details.



Please specify if this is a satellite setup ('n' installs a master setup) [Y/n]:
Starting the Node setup routine...
Please specify the common name (CN) [srv122.d01.net]:
Please specify the master endpoint(s) this node should connect to:
Master Common Name (CN from your master setup): srv121.d01.net
Do you want to establish a connection to the master from this node? [Y/n]:
Please fill out the master connection information:
Master endpoint host (Your master's IP address or FQDN): srv121.d01.net
Master endpoint port [5665]:
Add more master endpoints? [y/N]:
Please specify the master connection for CSR auto-signing (defaults to master endpoint host):
Host [srv121.d01.net]:
Port [5665]:
information/base: Writing private key to '/etc/icinga2/pki/srv122.d01.net.key'.
information/base: Writing X509 certificate to '/etc/icinga2/pki/srv122.d01.net.crt'.
information/cli: Fetching public certificate from master (srv121.d01.net, 5665):

Certificate information:

 Subject:     CN = srv121.d01.net
 Issuer:      CN = Icinga CA
 Valid From:  Oct 16 15:44:02 2017 GMT
 Valid Until: Oct 12 15:44:02 2032 GMT
 Fingerprint: E4 AC F0 5F 97 9A E3 7C 73 ED DB A3 6F DB 8E B4 6E 00 39 9C

Is this information correct? [y/N]: y
information/cli: Received trusted master certificate.

Please specify the request ticket generated on your Icinga 2 master.
 (Hint: # icinga2 pki ticket --cn 'srv122.d01.net'): 8ec35306c7f6002e548a7cf8019573054539f447
information/cli: Requesting certificate with ticket '8ec35306c7f6002e548a7cf8019573054539f447'.

information/cli: Created backup file '/etc/icinga2/pki/srv122.d01.net.crt.orig'.
information/cli: Writing signed certificate to file '/etc/icinga2/pki/srv122.d01.net.crt'.
information/cli: Writing CA certificate to file '/etc/icinga2/pki/ca.crt'.
Please specify the API bind host/port (optional):
Bind Host []:
Bind Port []:
Accept config from master? [y/N]: y
Accept commands from master? [y/N]: y
information/cli: Disabling the Notification feature.
Disabling feature notification. Make sure to restart Icinga 2 for these changes to take effect.
information/cli: Enabling the Apilistener feature.
Enabling feature api. Make sure to restart Icinga 2 for these changes to take effect.
information/cli: Created backup file '/etc/icinga2/features-available/api.conf.orig'.
information/cli: Generating local zones.conf.
information/cli: Dumping config items to file '/etc/icinga2/zones.conf'.
information/cli: Created backup file '/etc/icinga2/zones.conf.orig'.
information/cli: Updating constants.conf.
information/cli: Created backup file '/etc/icinga2/constants.conf.orig'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
Done.

Now restart your Icinga 2 daemon to finish the installation!

on the server

icinga2 pki ticket --cn 'srv122.d01.net'
8ec35306c7f6002e548a7cf8019573054539f447
icinga2 node update-config

7. debug

tail -f /var/log/icinga2/icinga2.log

8. references