installeer je Icinga 2 Monitoring Software op Ubuntu 20.04 LTS

Icinga is een gratis en open-source bewakingsprogramma voor je datacentrum. Het is een programma voor computersysteem- en netwerkbewaking dat de beschikbaarheid van je netwerk en computerbronnen controleert, systeemuitval meldt, prestatiegegevens van je bronnen genereert, en een hoge beschikbaarheid en gedistribueerde bewakingsopstelling biedt met de ingebouwde clustermogelijkheid.

Icinga werd gemaakt als een afsplitsing van het Nagios bewakingsprogramma in 2009. En nu is het van de grond af herschreven in C++, en uitgegroeid tot een van de meest populaire bewakingshulpmiddelen op het internet. Het woord ‘Icinga’ is een Zoeloe woord dat ‘het zoekt’ betekent, of ‘het snuffelt’, of ‘het onderzoekt’.

In deze handleiding laten we je zien hoe je het Icinga 2 bewakingsprogramma installeert en configureert met een Ubuntu 20.04 LTS server. We installeren Icinga 2 uit de officiƫle repository en configureren dan icingaweb2, de lichtgewicht, en uitbreidbare webinterface voor een icinga2 bewakingsprogramma.

Vereisten

Voor deze gids installeren we de icinga2 en icingaweb2 met behulp van de Ubuntu 20.04 Server met 2 GB RAM geheugen. Als je grote installaties doet, kun je meer dan dat gebruiken.

Wat zullen we doen?

  • Installeer Icinga2 en Nagios Monitoring Plugins
  • Installeer en configureer MySQL Database
  • Installeer en Configureer Icinga MySQL Module
  • Installeer Apache2 en PHP pakketten
  • Installeren en configureren van Icingaweb2
  • Icinga2 Stack na installatie

Stap 1 – Installeer Icinga2 en Nagios Monitoring Plugins

Eerst` voegen we de icinga2 repository voor de Ubuntu 20.04 toe en installeren de icinga2 pakketten en de nagios Monitoring plugins.

Voeg de GPG sleutel van de Icinga2 aan je systeem toe.

curl https://packages.icinga.com/icinga.key | apt-key add -

Ga nu naar de ‘/etc/apt/sources.list.d’ directory en maak een nieuw repository bestand ‘icinga-focal.list’.

cd /etc/apt/sources.list.d/
vim icinga-focal.list

Plak er de volgende repository configuratie in.

deb http://packages.icinga.com/ubuntu icinga-focal main
deb-src http://packages.icinga.com/ubuntu icinga-focal main

Bewaar en sluit.

Werk vervolgens alle beschikbare repositories bij en installeer de Icinga2 en Nagios Monitoring Plugins met het onderstaande apt commando.

sudo apt update
sudo apt install icinga2 monitoring-plugins

Installeer icinga2 pakketten en Nagios Monitoring Plugins

Als de hele installatie voltooid is, start je de Icinga2 service en voeg je hem toe aan het systeem opstarten.

systemctl start icinga2
systemctl enable icinga2

Verifieer daarna de icinga2 dienst met het onderstaande commando.

systemctl status icinga2

Hieronder staat het resultaat dat je krijgt.

Start de Icinga2 dienst

Het resultaat is dat de icinga2 dienst up and running is op de Ubuntu 20.04 FocalFossa.

Stap 2 – Installeer en configureer de MySQL databaseserver

In deze stap installeren we de nieuwste MySQL server op onze Ubuntu 20.04 en stellen we het wachtwoord in voor de standaard MySQL root gebruiker.

Installeer de MySQL server met het onderstaande apt commando.

sudo apt install mysql-server mysql-client

Start daarna de MySQL dienst en voeg hem toe aan het systeem opstarten.

systemctl start mysql
systemctl enable mysql

En de MySQL dienst is up and running.

Vervolgens zullen we het wachtwoord voor de MySQL root gebruiker configureren met het command-line gereedschap ‘mysql_secure_installation’, dat bij de MySQL pakketten geleverd wordt.

Voer het ‘mysql_secure_installation’ commando hieronder uit.

mysql_secure_installation

Nu wordt je gevraagd een nieuw wachtwoord voor de root gebruiker te configureren, typ je sterke wachtwoord, en typ ‘Y’ voor andere configuraties.

Press y|Y for Yes, any other key for No: 
Please set the password for root here.

New password:
Re-enter new password:

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

Daarmee is de installatie van de MySQL server en de instelling van het standaard root wachtwoord ervan voltooid.

Instellen MySQL root wachtwoord

Stap 3 – Installeer en configureer Icinga2 MySQL module

Na de installatie van de MySQL Server installeren we de icinga2 module voor de MySQL ondersteuning, genaamd ‘icinga2-ido-mysql’.

Installeer de ‘icinga2-ido-mysql’ met het onderstaande apt commando.

sudo apt install icinga2-ido-mysql

Nu wordt je gevraagd de icinga2 ido-mysql functie in te schakelen, kies ‘Yes’ om verder te gaan.

Installeer Icinga2 IDO MySQL

Configureer de ‘icinga2-ido-mysql’ met het dbconfig-commando, kies ‘Yes’ om verder te gaan.

Icinga2 IDO MySQL onfig dbcommon-config

Typ je wachtwoord voor de ‘icinga2-ido-mysql’.

Setup Wachtwoord Icinga IDO MySQL

Herhaal het wachtwoord voor de ‘icinga2-ido-mysql’.

Setup Icinga2 IDO MySQL wachtwoord

Als resultaat is de installatie van het ‘icinga2-ido-mysql’ pakket voltooid, en is de nieuwe MySQL gebruiker ‘icinga2’ aangemaakt.

Om Icinga met de nieuwe MySQL versie te laten werken, zullen we nu de MySQL gebruiker ‘icinga2’ configureren met de MySQL native wachtwoord authenticatie.

Log in op de MySQL shell met het onderstaande commando.

mysql -u root -p

Verander nu de authenticatie van gebruiker ‘[email protected]’ met de inheemse MySQL authenticatie plugin met behulp van de volgende query.

ALTER USER [email protected] IDENTIFIED WITH mysql_native_password BY '[email protected]#$';
flush privileges;

Type ‘exit’ om uit te loggen uit de MySQL shell, en de MySQL gebruiker ‘icinga2’ gebruikt nu de native authenticatie plugin.

Schakel vervolgens de ‘ido-mysql’ eigenschap in en controleer alle ingeschakelde plugins met het volgende commando.

icinga2 feature enable ido-mysql
icinga2 feature list

En je krijgt de eigenschap ‘ido-mysql’ is ingeschakeld, om de nieuwe configuratie toe te passen, start je de icinga2 dienst opnieuw.

systemctl restart icinga2

En de installatie en configuratie van ‘icinga2-ido-mysql’ zijn voltooid.

Schakel Icinga2 IDO MySQL in

Stap 4 – Installeer Apache2 en PHP pakketten

In deze stap installeren we de Apache en PHP pakketten voor de icingaweb2. En we zullen PHP 7.3 gebruiken die in de PPA repository beschikbaar is, want op dit moment wordt de icingaweb2 nog niet ondersteund met de nieuwe versie PHP 7.4.

Installeer eerst het ‘python3-software-properties’ pakket en voeg de PHP PPA repository toe met het volgende commando.

sudo apt install python3-software-properties
sudo add-apt-repository ppa:ondrej/php

Installeer vervolgens Apache en PHP pakketten met het onderstaande apt commando.

sudo apt install apache2 php7.3 php7.3-common php7.3-gd php7.3-ldap php7.3-intl php7.3-curl libapache2-mod-php7.3 php7.3-mysql php7.3-pgsql php7.3-xml

Als alle installaties voltooid zijn, bewerk je de ‘php.ini’ configuratie met vim editor.

vim /etc/php/7.3/apache2/php.ini

Haal het commentaar weg bij de optie ‘date.timezone’ en typ je eigen tijdzone.

date.timezone = Asia/Singapore

Haal het commentaar weg bij de ‘cgi.fix_pathinfo’ configuratie en verander de waarde in ‘0’.

cgi.fix_pathinfo=0 

Sla op en sluit.

Herstart vervolgens de Apache2 dienst en voeg hem toe aan het systeem opstarten.

systemctl restart apache2
systemctl enable apache2

De Apache2 dienst is up and running, controleer hem met het volgende commando.

systemctl status apache2

Hieronder staat het resultaat dat je krijgt.

Installeer en configureer Apache en PHP pakketten

Het resultaat is dat de installatie van Apache en PHP pakketten voor icingaweb2 voltooid is.

Stap 5 – Installeer Icingaweb2

Na de installatie van Apache en PHP pakketten gaan we het icingaweb2 pakket installeren en een nieuwe MySQL database voor icingaweb2 maken.

Installeer de icingaweb2 en icingacli pakketten met het apt commando.

sudo apt install icingaweb2 icingacli

Als de hele installatie voltooid is, genereer je het icingaweb2 token voor de installatie met het onderstaande commando.

icingacli setup token create

Hieronder staat het resultaat dat je zult krijgen.

The newly generated setup token is: 9b871ead0a60c94f

Kopieer nu de token code naar je briefje, het zal gebruikt worden voor de icingaweb2 installatie.

Log vervolgens in op de MySQL shell met het onderstaande mysql commando.

mysql -u root -p

Maak nu een nieuwe database en gebruiker aan met de volgende query’s.

create database icingaweb2;
create user [email protected] identified with mysql_native_password by "icingaweb2pass";
grant all privileges on icingaweb2.* to [email protected] with grant option;
flush privileges;

Typ ‘exit’ om uit te loggen uit de MySQL shell.

Installeer Icingaweb2 en maak een nieuwe database aan

Het resultaat is dat de installatie van icingaweb2 voltooid is, en dat de nieuwe database voor icingaweb2 gemaakt is

Stap 6 – Icinga 2 en Icinga Web 2 na de installatie

Open je web browser en typ het server IP adres in zoals hieronder. Vervang het IP door het IP van je server.

http://10.5.5.20/icingaweb2/setup

Plak de setup token code in het vakje en klik op de ‘Next’ knop.

Icingaweb installatie opzet

Nu moet je de Icinga module voor je installatie kiezen, laat de ‘Monitoring’ module staan en klik op ‘Next’.

Kies de installatie

Daarna controleert de Icinga de omgeving voor zijn installatie. Zorg dat alle benodigde modules op groen staan, behalve de ‘PostgreSQL modules’, en klik dan op ‘Next’.

Controleren van module-eisen

Nu moet je Authenticatie kiezen voor toegang tot het icingaweb2, kies ‘Database’ en klik op ‘Volgende’.

Authenticatie Type Icingaweb2

Typ alle database gegevens voor de ‘icingaweb2’ in en klik op ‘Validate Configuration’ om te testen. Als het gelukt is, klik je op de knop ‘Next’.

Database Configuratie voor Icingaweb2

Kies nu voor de Backend Authentication de ‘icingaweb2’ en klik op ‘Next’.

Backend Authenticatie icingaweb2

Typ de admin en het wachtwoord voor icingaweb2 en klik weer op ‘Next’.

Maak een Admin gebruiker voor Icinga

Laat bij de Application Configuration de standaardinstelling staan en klik op ‘Next’.

Icinga Applicatie Configuratie

Bevestig alle configuratie en klik op ‘Next’.

Herziening icingaweb2 Configuratie

En je krijgt de welkomstpagina van icingaweb2. Klik weer op ‘Next’ om de monitoring backend in te stellen.

Monitroing Backend icinga2

Stel de naam van de backend in als ‘icinga2’ met het type ‘IDO’, en klik dan op ‘Next’.

Monitoring Backend Icingae2 IDO

Nu moet je MySQL IDO backend resource configureren voor de icinga2 toepassing. Typ details database voor icinga2 en klik op ‘Validate Configuration’. Als dat gelukt is, klik je op de knop ‘Next’.

Icinga2 Database Configuratie

Kies voor het ‘Command Transport’ het ‘Local Command File’ en laat het als standaard staan. Klik dan op ‘Next’.

Opzet commando transport

En voor de Monitoring Security laat je het als standaard staan en klik op ‘Next’.

Bewaking van de veiligheid

Bevestig alle instellingen en klik op de knop ‘Finish’.

Herzie icinga Configuratie

Nu de installaties van Icinga 2 en Icinga web 2 voltooid zijn, klik je op de ‘Login to Icinga Web 2’ knop en je wordt doorgestuurd naar de login pagina.

De Icinga installatie is voltooid

Typ de gebruiker die je bovenaan hebt ingesteld en klik op de ‘Login’ knop.

Icinga login pagina

Typ de gebruiker die je bovenaan hebt ingesteld en klik op de ‘Login’ knop.

Icinga Dashboard

En tenslotte zijn de installatie en configuratie van icinga2 en icingaweb2 op Ubuntu 20.04 server met succes voltooid.

Referentie