Wéi installéiere ech Icinga2 op RHEL, Rocky an AlmaLinux


Icinga2 ass eng Feature-räich Open-Source Netzwierk Iwwerwachung an Alarm Applikatioun déi eng Gabel vum Nagios Iwwerwaachungsinstrument ass.

Et gouf gebaut fir d'Mängel vun Nagios unzegoen an nei Fonctiounen aféieren wéi eng verbessert a modern User-Interface, e REST API fir nei Extensiounen z'integréieren ouni d'Notzung fir Ännerunge vum Icinga Kär ze maachen, an zousätzlech Datebankverbindungen.

Icinga2 iwwerwaacht d'Disponibilitéit vu Hosten souwéi Servicer. E puer vun dëse Servicer enthalen SNMP, HTTP, HTTPS, an SSH. Et iwwerwaacht och Netzwierkapparater wéi Router a Schalter.

Icinga sammelt och Metriken a generéiert Logbicher fir Iech e komplett Bild vun Ärer Netzwierkinfrastruktur ze ginn. D'Logbicher a Metriken ginn dann op Dashboards visualiséiert fir alles an e bessere Kontext ze setzen.

An dësem Artikel weisen mir wéi d'Icinga2 Iwwerwaachungsapplikatioun op RHEL, Rocky Linux, an AlmaLinux installéiert gëtt.

Als Noutwendegkeete fir Icinga2 z'installéieren, musst Dir de LAMP Stack installéiert hunn. E bësse Vorsicht hei - Icinga2 erfuerdert PHP 7.3 a spéider Versioune fir d'Installatioun.

Mir hu schonn en Tutorial fir wéi Dir LAMP op RHEL 8 installéiere wëllt - Benotzt dësen Artikel fir den Apache Webserver a MariaDB Datebankserver z'installéieren nëmmen well d'Instruktioune fokusséiere fir PHP 7.2 z'installéieren déi net vun Icinga2 ënnerstëtzt gëtt.

Am éischte Schrëtt vun dësem Guide wäerte mir Iech duerch de Prozess vun der Installatioun vu PHP 7.4 an déi erfuerderlech Moduler goen.

Schrëtt 1: Installéiere PHP a PHP Moduler

Mat Apache a MariaDB installéiert, Loosst eis viru goen an PHP 7.4 installéieren. Wann Dir PHP 7.2 a spéider Versiounen installéiert hutt, läscht se andeems Dir laaft:

$ sudo dnf remove php

Als nächst setzt den aktuellen PHP Modul um System zréck.

$ sudo dnf module reset php

Duerno, Lëscht déi verfügbar PHP Versiounen wéi gewisen.

$ sudo dnf module list php

Dann aktivéiert PHP 7.4.

$ sudo dnf module enable php:7.4

Wann de PHP 7.4 Modul aktivéiert ass, installéiert PHP an déi erfuerderlech PHP Extensiounen.

$ sudo dnf install php-gd php-mbstring php-mysqlnd php-curl php-devel php-pear php-xml php-cli php-soap php-intl php-json php-ldap php-xmlrpc php-zip php-json php-common php-opcache php-gmp php-pgsql make -y

Icinga2 erfuerdert och d'php-image-Extensioun. Wéi och ëmmer, dëst kann net konventionell installéiert ginn wéi mir mat den anere PHP Moduler gemaach hunn.

Fir d'Extensioun z'installéieren, lafen déi folgend Kommandoen:

$ dnf install -y ImageMagick ImageMagick-devel
$ sudo pecl install imagick

Dann wiesselt op de Root Benotzer an fügen d'Extensiounen op d'PHP.INI Datei.

$ su -
$ echo "extension=imagick.so" > /etc/php.d/20-imagick.ini

Fir d'Ännerungen z'applizéieren, start den Apache Webserver nei.

$ sudo systemctl restart httpd

Schrëtt 2: Installéiert Icinga2 an RHEL 8

Fir Icinga2 z'installéieren, musse mir den Icinga Repository addéieren well Icinga2 net op den AppStream Repositories gehost gëtt.

Fir dat ze maachen, aktivéiert als éischt den EPEL Repository.

$ sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

Als nächst aktivéiert de GPG Ënnerschreiwe Schlëssel.

$ sudo rpm --import https://packages.icinga.com/icinga.key

Als nächst erstellt eng Repositorydatei am /etc/yum.repos.d Verzeichnis.

$ sudo vim  /etc/yum.repos.d/icinga2.repo

Paste de folgende Block vum Code

 
[icinga2]
name=Icinga 2 Repository for EPEL 8
baseurl=https://packages.icinga.com/epel/8/release
enabled=1

Späichert a gitt d'Repositorydatei aus. Dann update d'Cache Packagen,

$ sudo dnf makecache

Mat dem Repository derbäi, installéiert den Icinga2 Package an aner assoziéiert Icinga2 Packagen.

$ sudo dnf install icinga2 icinga2-ido-mysql icinga2-selinux  vim-icinga2 -y

Als nächst installéiert Nagios Plugins déi benotzt gi fir souwuel kierperlech wéi virtuell Hosten ze iwwerwaachen.

$ sudo dnf install nagios-plugins-all -y

Als nächst aktivéiert den Icinga2 ido-mysql Modul an aner Funktiounen.

$ sudo icinga2 feature enable ido-mysql syslog command

Da start Icinga nei fir d'Ännerungen ze applizéieren.

$ sudo systemctl restart icinga2

Schrëtt 3: Erstellt eng Datebank fir Icinga-IDO MySQL Modul

D'icinga2-IDO (Icinga Data Output) mysql Feature ass eng Backend Feature déi all Konfiguratiouns- a Statusinformatioun an eng Datebank sammelt an exportéiert. Aus dësem Grond musse mir eng Datebank fir d'Icinga2-ido-mysql Feature erstellen.

Also loggt Iech op de MySQL Datebankserver un:

$ sudo mysql -u root -p

Erstellt eng Datebank souwéi e Datebank Benotzer fir Icinga2. Gitt dann all Privilegien op der Datebank Benotzer un d'Icinga2 Datebank.

> CREATE DATABASE icinga2;
> GRANT ALL PRIVILEGES ON icinga2.* TO 'icinga2_user'@'localhost' IDENTIFIED BY '[email ';

Fëllt d'Ännerungen un a gitt den Datebankserver aus.

> FLUSH PRIVILEGES;
> EXIT;

Als nächst importéiert d'Datebankschema wéi follegt. Dir wäert fir e Passwuert gefrot ginn, op deem Dir d'Datebankpasswuert gitt.

$ sudo mysql -u root -p icinga2 < /usr/share/icinga2-ido-mysql/schema/mysql.sql

Fuert weider, ännert d'ido-mysql Konfiguratiounsdatei.

$ sudo vim /etc/icinga2/features-available/ido-mysql.conf

Decommentéiert d'Datebankblock a spezifizéiert d'Datebankdetailer.

Retten an Sortie.

Als nächst, start an aktivéiert Icinga2.

$ sudo systemctl start icinga2
$ sudo systemctl enable icinga2

Da kontrolléiert de Status vun Icinga2 wéi gewisen.

$ sudo systemctl status icinga2

Vun der Ausgab hei drënner ass et kloer datt Icinga op a leeft wéi erwaart.

Schrëtt 4: Installéiert IcingaWeb2 op RHEL 8

IcingaWeb2 ass en Open-Source webbaséierten Iwwerwaachungsinstrument dat och e Kommandozeileninterface integréiert. Et ënnerstëtzt all Backend Icinga Funktiounen wéi Icinga-ido-mysql, Icinga Kär, Icinga2, an aner Moduler.

Fir IcingaWeb2 z'installéieren, installéiert PowerTools mat dem folgenden Kommando.

$ sudo dnf install 'dnf-command(config-manager)'
$ sudo dnf config-manager --set-enabled powertools

Wann d'Installatioun fäerdeg ass, installéiert IcingaWeb2 an den CLI wéi gewisen.

$ sudo dnf install icingaweb2 icingacli

Schrëtt 5: Erstellt eng Datebank fir IcingaWeb2

Just wéi mir en Datebankschema fir d'Icinga2-IDO-mysql Feature erstallt hunn, musse mir och en zweet Schema fir Icinga Web2 erstellen.

Also, nach eng Kéier, loggt Iech op den Datebankserver un.

$ sudo mysql -u root -p

Erstellt eng Datebank an Datebank Benotzer fir IcingaWeb2, gitt dann all Permissiounen un den Datebank Benotzer op der Icinga Web2 Datebank.

> CREATE DATABASE icingaweb2;
> GRANT ALL ON icingaweb2.* TO [email  IDENTIFIED BY '[email ';

Späichert d'Ännerungen a gitt eraus.

> FLUSH PRIVILEGES;
> QUIT

Wann Icinga2 installéiert gouf, gouf eng nei Konfiguratiounsdatei fir Icinga2 erstallt. Dir kënnt et kucken wéi gewisen.

$ cat /etc/httpd/conf.d/icingaweb2.conf

Dir musst den Apache Webserver nei starten fir d'Ännerungen ze starten.

$ sudo systemctl restart httpd

Zousätzlech musst Dir och de SELinux Modus op 'permissive' setzen wéi follegt.

$ sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

Schrëtt 6: Komplett Icinga2 Setup vum Browser

De Schrëtt an der Installatioun vun Icinga2 ass d'Schafe vun engem Setup Token, deen en eenzegaartege Code ass, dee fir d'Authentifikatioun um éischte Schrëtt benotzt gëtt wann Dir Icinga2 op engem Browser opstellt.

Fir e geheime Token ze generéieren, lafen de Kommando:

$ sudo icingacli setup token create

Kopéiert an haalt de Setup Token sécher. Wann Dir den Token verléiert, kënnt Dir et recuperéieren andeems Dir de Kommando ausféiert:

$ sudo icingacli setup token show

Zu dësem Zäitpunkt an dësem Guide sinn all d'Konfiguratioune kontrolléiert. Wat bleift ass d'Installatioun vun engem Webbrowser ofzeschléissen. Fir dëst ze maachen, kuckt d'URL ugewisen

http://server-ip/icingaweb2/setup

Paste de Setup Token op der Begréissungssäit, déi Dir virdru generéiert hutt.

Wann Dir den Token gepecht hutt, klickt op 'Nächst' fir weiderzemaachen. Dëst féiert Iech op d'Säit 'Modulen'. Dëst gëtt en Iwwerbléck iwwer all Moduler déi Dir aktivéiere kënnt. Par défaut ass de Modul 'Iwwerwaachung' aktivéiert.

Aktivéiert Är gewënschte Moduler a scrollt erof a klickt op 'Next' fir weiderzemaachen.

An dëser Rubrik, sécherstellen, datt all PHP Viraussetzunge zefridde goufen, déi PHP Moduler, Bibliothéiken, an Verzeechnes enthält. Wann alles gutt ausgesäit, scroll down a klickt op 'Next'.

Op der 'Authentifikatioun' Säit, loosst alles sou wéi et ass a klickt op 'Nächst'.

An der Rubrik 'Datebase Ressource', fëllt d'Datebankdetailer fir IcingaWeb2 aus wéi am Schrëtt 5 spezifizéiert.

Fir ze bestätegen datt d'Datebankdetailer richteg sinn, scrollt de ganze Wee erof a klickt op 'Configuratioun validéieren'.

Wann alles gutt geet, sollt Dir eng Notifikatioun kréien datt d'Konfiguratioun erfollegräich validéiert gouf.

Fir op de nächste Schrëtt ze goen, scroll down a klickt op 'Next'. Fir 'Authentifikatioun Backend' klickt einfach op 'Next' fir d'Defaults ze akzeptéieren.

Am nächste Schrëtt, erstellt en Admin Benotzer dee benotzt gëtt fir Zougang an d'Icinga2 Webinterface ze loggen.

Fir d'Sektioun 'Uwendung Iwwerwachung', akzeptéiert d'Defaults a klickt op 'Nächst'.

Iwwerpréift all d'Ännerungen déi Dir bis elo am Wee gemaach hutt. Wann alles gutt ausgesäit, klickt op 'Nächst' a wann Dir Iech ännert, klickt op 'zréck' a maacht déi erfuerderlech Ännerungen.

Déi nächst Sektioun ass d'Konfiguratioun vum Iwwerwaachungsmodul fir IcingaWeb2. Dëst ass de Kärmodul fir Icinga Web 2 deen Status- a Berichterbléck mat robuste Filterfäegkeeten ubitt fir entscheedend Eventer ze verfolgen.

Klickt op 'Nächst' fir weiderzemaachen.

Am nächste Schrëtt, fëllt de Formulaire mat den Datenbankdetailer fir d'Icinga2-ido-mysql Feature aus wéi am Schrëtt 3 spezifizéiert.

Fir d'Konfiguratioun ze validéieren, scroll down a klickt op 'Configuratioun validéieren'.

Dir kritt d'Notifikatioun datt d'Konfiguratioun erfollegräich validéiert gouf.

Fir op den nächste Schrëtt weiderzemaachen, scroll down a klickt op 'Next'. Fir 'Command Transport', benotzt 'Local Command File' als Transporttyp a klickt op 'Next'.

An der Rubrik 'Iwwerwaachungssécherheet' klickt op 'Nächst'.

Nach eng Kéier, iwwerpréift all d'Konfiguratiounen fir den Icinga2 Iwwerwaachungsmodul. Wann alles gutt ausgesäit, klickt op 'Finish' soss gitt zréck a maacht déi néideg Ännerungen.

Wann alles gutt mat der Icinga Web 2-Setup gaang ass, sollt Dir eng Notifikatioun kréien datt Icinga Web 2 erfollegräich ageriicht gouf. Fir Iech op d'Webinterface anzeloggen, klickt op de Link 'Login op Icinga Web 2'.

Dëst spréngt d'Icinga Web 2 Interface op. Gitt d'Admin Kont Detailer a klickt op 'Login'.

Dëst féiert Iech op den Icinga2 Iwwerwaachungsdashboard wéi gewisen.

An dat ass et. Vun do aus kënnt Dir verschidde Hosten a Servicer an Ärer Netzwierkinfrastruktur iwwerwaachen. An dësem Guide hu mir Iech duerch d'Installatioun vum Icinga Web 2 op RHEL 8, Rocky Linux, an AlmaLinux gefouert.