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
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.
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.
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.
Configureer de ‘icinga2-ido-mysql’ met het dbconfig-commando, kies ‘Yes’ om verder te gaan.
Typ je wachtwoord voor de ‘icinga2-ido-mysql’.
Herhaal het wachtwoord voor de ‘icinga2-ido-mysql’.
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.
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.
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.
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.
Nu moet je de Icinga module voor je installatie kiezen, laat de ‘Monitoring’ module staan en klik op ‘Next’.
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’.
Nu moet je Authenticatie kiezen voor toegang tot het icingaweb2, kies ‘Database’ en klik op ‘Volgende’.
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’.
Kies nu voor de Backend Authentication de ‘icingaweb2’ en klik op ‘Next’.
Typ de admin en het wachtwoord voor icingaweb2 en klik weer op ‘Next’.
Laat bij de Application Configuration de standaardinstelling staan en klik op ‘Next’.
Bevestig alle configuratie en klik op ‘Next’.
En je krijgt de welkomstpagina van icingaweb2. Klik weer op ‘Next’ om de monitoring backend in te stellen.
Stel de naam van de backend in als ‘icinga2’ met het type ‘IDO’, en klik dan op ‘Next’.
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’.
Kies voor het ‘Command Transport’ het ‘Local Command File’ en laat het als standaard staan. Klik dan op ‘Next’.
En voor de Monitoring Security laat je het als standaard staan en klik op ‘Next’.
Bevestig alle instellingen en klik op de knop ‘Finish’.
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.
Typ de gebruiker die je bovenaan hebt ingesteld en klik op de ‘Login’ knop.
Typ de gebruiker die je bovenaan hebt ingesteld en klik op de ‘Login’ knop.
En tenslotte zijn de installatie en configuratie van icinga2 en icingaweb2 op Ubuntu 20.04 server met succes voltooid.