Icinga 2 è uno strumento di monitoraggio gratuito e open source progettato per essere scalabile ed estensibile. Icinga 2 verifica la disponibilità delle risorse di rete, notifica agli utenti le interruzioni e genera dati sulle prestazioni per la reportistica. Possiamo monitorare ambienti grandi e complessi in più sedi utilizzando Icinga2.
Possiamo anche configurare Icinga2 con cluster ad alta disponibilità con una configurazione distribuita per ambienti grandi/complessi.
In questa guida impareremo come installare e configurare Icinga 2 e Icinga Web 2 su CentOS 8.
Installazione di Icinga2:
Innanzitutto, aggiorna e aggiorna CentOS Linux.
yum -y update && yum -y upgrade
In secondo luogo, Installa il repository Icinga.
yum install -y https://packages.icinga.com/epel/icinga-rpm-release-8-latest.noarch.rpm
Abilita repository EPEL e Ottieni repository EPEL.
dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
yum install -y epel-release
Otterremo alcuni strumenti di cui avremo bisogno in seguito per l'installazione e la configurazione di Icinga2 e Icinga Web 2.
yum install -y git curl make gcc wget nano vim net-tools tar unzip zip python-devel python-pip python-setuptools
Usa il comando seguente per installare inga2:
yum install -y icinga2
Avvia e abilita il servizio Icinga2.
systemctl enable icinga2
systemctl start icinga2
systemctl status icinga2
Installeremo i plugin necessari per Icinga2.
yum install -y nagios-plugins-all
Esegui il comando seguente per confermare che i file icinga siano corretti prima di voler modificare i file icinga.
icinga2 daemon -C
Se desideri utilizzare SELinux con Icinga2, devi installare i seguenti pacchetti e impostare le regole del firewall per le porte 80 e 443.
yum install -y icinga2-selinux
firewall-cmd --add-service=http && firewall-cmd --permanent --add-service=http
Dopo aver completato i passaggi precedenti, installeremo e configureremo MYSQL come database per Icinga2.
yum install -y mariadb-server mariadb
systemctl enable mariadb
systemctl start mariadb
Proteggi l'installazione di MySQL
mysql_secure_installation
Dopo aver inserito sopra il sistema di comando chiederà la password di root. premi Invio perché non ne avevi. Dopo che il sistema ti chiederà se desideri aggiungere la password di root, premi "y" e imposta la password di root. Si prega di premere "y" ogni volta che il sistema richiede una configurazione. Vedi sotto le immagini per riferimento:
Installa IDO Mysql usando il seguente comando:
yum install icinga2-ido-mysql
Accedi a mysql immettendo il seguente comando:
mysql -u root -p
Creare i seguenti database per Icinga2 e iinga web 2:
CREATE DATABASE icinga;
GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga';
CREATE DATABASE icingaweb;
GRANT ALL PRIVILEGES ON icingaweb.* TO 'icingaweb'@'localhost' IDENTIFIED BY 'icingaweb';
FLUSH PRIVILEGES;
QUIT;
Importa lo schema MYSQL di Icinga 2 e abilita anche IDO MySQL per Icinga2.
mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql
icinga2 feature enable ido-mysql
Riavvia il servizio Icinga in modo che la configurazione di cui sopra abbia effetto.
systemctl restart icinga2.service
Installazione di Icinga Web 2:
Innanzitutto, installa il server web.
yum install -y httpd
systemctl enable httpd
systemctl start httpd
Configura utente Icinga 2 Rest API:
icinga2 api setup
Modificheremo il file "/etc/icinga2/conf.d/api-users.conf" con nano editor.
/etc/icinga2/conf.d/api-users.conf
Aggiungi le seguenti righe:
object ApiUser "icingaweb2" {
password = "Wijsn8Z9eRs5E25d"
permissions = [ "status/query", "actions/*", "objects/modify/*", "objects/query/*" ]
}
Modifica il file "vim /etc/icinga2/features-enabled/ido-mysql.conf" usando nano editor.
nano /etc/icinga2/features-enabled/ido-mysql.conf
Aggiungi la seguente configurazione:
/**
* The IdoMysqlConnection type implements MySQL support
* for DB IDO.
*/
object IdoMysqlConnection "ido-mysql" {
user = "icinga"
password = "icinga"
host = "localhost"
database = "icinga"
}
Ora, riavvia il servizio Icinga2 per applicare la configurazione sopra.
systemctl restart icinga2
Installeremo il repository SCL, è necessario per Icinga Web 2.
dnf -y group install "Development Tools"
dnf -y install gcc-c++ gcc make
dnf install mysql-devel.x86_64
Installa Icinga Web 2 e Icinga CLI utilizzando il seguente comando:
yum install -y icingaweb2 icingacli
Se hai bisogno di SELinux per Icinga Web 2 installalo usando il seguente comando:
yum install -y icingaweb2-selinux
Installa PHP FPM e altri moduli PHP di cui potremmo aver bisogno per Icinga web 2.
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf module list php
dnf install php-json php-ldap
yum install -y php-mysqlnd php-fpm php-ldap php-pgsql php-xmlrpc php-intl php-gd php-pdo php-soap php-posix php-cli
Avvia e abilita il servizio.
systemctl start php-fpm.service
systemctl enable php-fpm.service
systemctl restart httpd
systemctl restart php-fpm.service
Ora creiamo il token per completare la configurazione di Icinga Web 2 tramite l'interfaccia web:
icingacli setup token create
Apri Icinga Web 2 utilizzando il seguente URL nel tuo browser web:
http://192.168.189.128/icingaweb2/setup
Sostituisci l'IP nell'URL sopra con l'IP del tuo sistema.
Configurazione Icinga Web 2:
Richiederà il token generato, incollalo e fai clic su Avanti
I moduli di monitoraggio sono abilitati per impostazione predefinita, puoi abilitare Doc e Translation facoltativamente e quindi fare clic su Avanti
Ora tutti i moduli PHP dovrebbero essere verdi, nel caso ne avessi alcuni in giallo, si consiglia di risolverlo prima di andare avanti, se tutti sono verdi, fai clic su Avanti.
Per impostazione predefinita utilizzeremo l'autenticazione del database.
Configura la risorsa del database, qui useremo le credenziali che abbiamo creato per il database icingaweb. È necessario impostare i parametri localhost, nome database, nome utente e password. Prima di fare clic su Avanti, puoi fare clic su Convalida configurazione per verificare che le credenziali funzionino correttamente.
Configuriamo il backend di autenticazione, questo è stato definito nel file api-users.conf, basta cliccare su Avanti.
Nella schermata di amministrazione si definiscono username e password per l'accesso all'interfaccia Web di Icinga.
Nella schermata di configurazione dell'applicazione devi solo fare clic su Avanti, puoi modificare regolarlo in base alle tue esigenze, ma per ora le impostazioni predefinite vanno bene.
hai una schermata di ripristino, qui devi solo fare clic su Avanti.
Ora puoi configurare il modulo di monitoraggio per Icinga Web 2, fai solo clic su Avanti.
Ora configuriamo la risorsa IDO di monitoraggio, qui utilizzeremo le credenziali che abbiamo creato per il database icinga. Qui è necessario impostare i parametri localhost, nome database, nome utente e password. Prima di fare clic su Avanti, puoi fare clic su Convalida configurazione per verificare che le credenziali funzionino correttamente.
Selezionare il trasporto dei comandi:
Ora seleziona il comando di trasporto. Ora, configura la risorsa IDO di monitoraggio, qui utilizzeremo le credenziali che abbiamo creato per il database icinga. Qui è necessario impostare i parametri localhost, nome database, nome utente e password. Prima di fare clic su Avanti, puoi fare clic su Convalida configurazione per verificare che le credenziali funzionino correttamente.
Nella schermata di sicurezza del monitoraggio devi solo fare clic su Avanti.
Ora hai una schermata di successo per Icinga Web 2, devi solo fare clic su Fine.
Ora dovresti avere una schermata di congratulazioni con un accesso a Icinga Web disponibile, fai solo clic su quel pulsante per accedere a Icinga Web 2.