Ricerca nel sito web

Come installare lo strumento di monitoraggio Icinga2 su Ubuntu 20.04/22.04


Icinga2 è un potente strumento di monitoraggio gratuito e open source che tiene d'occhio le risorse della tua rete e invia avvisi o notifiche in caso di guasti o interruzioni. Raccoglie inoltre parametri dalle risorse di rete che possono aiutarti a generare dati sulle prestazioni e creare report.

Icinga2 è scalabile e può monitorare reti da piccole a grandi e complesse in varie località. In questa guida imparerai come installare lo strumento di monitoraggio Icinga2 su Ubuntu 20.04 e Ubuntu 22.04.

Passaggio 1: installa Apache, MariaDB e PHP

Iniziamo installando Apache, MariaDB e PHP con moduli PHP aggiuntivi richiesti durante la configurazione finale di Icinga2 su un browser web.

sudo apt install apache2 mariadb-server mariadb-client mariadb-common php php-gd php-mbstring php-mysqlnd php-curl php-xml php-cli php-soap php-intl php-xmlrpc php-zip  php-common php-opcache php-gmp php-imagick php-pgsql -y

Una volta installato, assicurati che tutti i servizi siano in esecuzione. In tal caso, esegui i seguenti comandi.

sudo systemctl start {apache2,mariadb}
sudo systemctl enable {apache2,mariadb}
sudo systemctl status {apache2,mariadb}

Successivamente, devi utilizzare lo script mysql_secure_installation per impostare la password per l'account root del database, rimuovere gli utenti anonimi, impedire l'accesso root da remoto e rimuovere il database di test.

sudo mysql_secure_installation

Con i moduli PHP installati, è necessario modificare il file php.ini che è il file di configurazione predefinito per le applicazioni in esecuzione su PHP.

Utilizzando il tuo editor preferito, apri il file. Qui. stiamo usando un nano editor della riga di comando.


sudo nano /etc/php/8.1/apache2/php.ini   [On Ubuntu 22.04]
sudo nano /etc/php/7.4/apache2/php.ini   [On Ubuntu 20.04]

Apportare le seguenti modifiche ai seguenti parametri.

memory_limit = 256M 
post_max_size = 64M
upload_max_filesize = 100M	
max_execution_time = 300
default_charset = "UTF-8"
date.timezone = "Asia/Kolkata"
cgi.fix_pathinfo=0

Per il parametro date.timezone, assicurati di impostarlo in modo che rifletta il tuo fuso orario corrente. Ecco un elenco dei fusi orari supportati da PHP.

Per applicare le modifiche apportate è sufficiente riavviare il webserver Apache.

sudo systemctl restart apache2

Passaggio 2: installa Icinga2 su Ubuntu

Una volta eliminata la configurazione PHP, procederemo con l'installazione di Icinga2. Tuttavia, il repository Icinga2 non è fornito dai repository Ubuntu 20.04. Pertanto, dobbiamo aggiungere manualmente il repository al tuo sistema.

Pertanto, inizia aggiungendo la chiave GPG utilizzando il comando curl.

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

Successivamente, crea un file di repository per Icinga2.

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

Aggiungi le seguenti voci.

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

Salvare ed uscire dal file.

Per iniziare a utilizzare il repository, aggiornare gli elenchi dei pacchetti come segue.

sudo apt update

Successivamente, installa Icinga2 e i plugin di monitoraggio.

sudo apt install icinga2 monitoring-plugins

Una volta completata l'installazione, abilita e avvia il servizio Icinga2.

sudo systemctl enable icinga2
sudo systemctl start icinga2

Per confermare che il servizio Icinga2 è in esecuzione, eseguire:

sudo systemctl status icinga2

L'output indica che il demone Icinga2 è in esecuzione e che siamo a posto.

Passaggio 3: installare il modulo IDO Icinga2

L'Icinga2 Data Output (IDO) esporta tutte le informazioni di configurazione e stato in un database. Il database IDO viene quindi utilizzato da Icinga Web 2 come backend di dati.

Per installare il modulo, eseguire il comando

sudo apt install icinga2-ido-mysql -y

Lungo il percorso, verrà visualizzato un pop-up sul terminale. Per abilitare la funzione ido-mysql di Icinga2, seleziona "" e premi INVIO.

Il pacchetto icinga2-ido-mysql richiede un database installato e configurato. Questo può essere gestito con dbconfig-common, ma creeremo noi stessi il database. Quindi seleziona "No" e rifiuta questa opzione.

Successivamente, accedi al tuo server database MariaDB.

sudo mysql -u root -p

Quindi, crea un database e un utente del database per il pacchetto icinga2-ido-mysql e concedi all'utente tutti i privilegi sul database.

> CREATE DATABASE icinga_ido_db;
> GRANT ALL ON icinga_ido_db.* TO 'icinga_ido_user'@'localhost' IDENTIFIED BY 'Password321';
> FLUSH PRIVILEGES;
> EXIT;

Con il database installato, procedi e importa lo schema Icinga2 IDO utilizzando il comando. Ti verrà richiesto di fornire la password root del server database.

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

Passaggio 4: abilitare il modulo IDO Icinga2

Per abilitare la comunicazione del database icinga2-ido-mysql con Icinga Web 2, dobbiamo fare un ulteriore passo avanti e apportare modifiche al file di configurazione predefinito.

Apri il file di configurazione icinga2-ido-mysql.

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

Modifica le seguenti voci e impostale in modo che corrispondano ai dettagli del database icinga2-ido-mysql come specificato nel passaggio 3.

Salva le modifiche ed esci.

Quindi abilita la funzione icinga2-ido-mysql.

sudo icinga2 feature enable ido-mysql

Affinché le modifiche abbiano effetto, riavvia Icinga2.

sudo systemctl restart icinga2 

Passaggio 5: installare e configurare IcingaWeb2

L'ultimo componente da installare e configurare è IcingaWeb 2, che è un framework PHP veloce, potente ed estensibile che funge da front-end per Icinga2.

Quindi installa IcingaWeb2 e Icinga CLI, esegui il comando.

sudo apt install icingaweb2 icingacli -y

Dobbiamo creare un secondo schema di database che verrà designato per Icinga Web 2.

Ancora una volta, accedi al server del tuo database.

sudo mysql -u root -p

Quindi crea il database e l'utente del database per Icingaweb2 e concedi tutte le autorizzazioni all'utente del database sul database.

> CREATE DATABASE icingaweb2;
> GRANT ALL ON icingaweb2.* TO 'icingaweb2user'@'localhost' IDENTIFIED BY 'P@ssword';
> FLUSH PRIVILEGES;
> EXIT;

Successivamente, crea un token di installazione utilizzando il comando seguente. Il token di configurazione verrà utilizzato durante l'autenticazione durante la configurazione di Icinga2 sul browser.

sudo icingacli setup token create

Nel caso in cui perdi o dimentichi il token, puoi visualizzarlo eseguendo il comando:

sudo icingacli setup token show

Passaggio 6: completare l'installazione di IcingaWeb2 in Ubuntu

Con tutte le configurazioni a posto, completeremo ora la configurazione di Icinga2 su un browser web. Quindi, avvia il browser e vai all'URL mostrato.

http://server-ip/icingaweb2/setup

Questo ti porta alla pagina di benvenuto come mostrato. Ricordi il token di configurazione che hai creato? Copialo e incollalo nel campo di testo e fai clic su "Avanti".

Nella pagina "Moduli", il modulo "Monitoraggio" è abilitato per impostazione predefinita. Tuttavia, sei libero di abilitare i tuoi moduli preferiti.

Quindi scorri verso il basso e fai clic su "Avanti".

Nel passaggio successivo, assicurati che tutti i moduli e le librerie PHP siano installati e che i permessi della directory siano corretti.

Quindi scorri verso il basso e fai clic su "Avanti".

Nella pagina "Autenticazione", seleziona "Database" come tipo di autenticazione e fai clic su "Avanti".

Nella sezione "Risorsa database", inserisci i dettagli del database per IcingaWeb2 come specificato nel Passaggio 5.

Quindi scorri verso il basso e fai clic su "Convalida configurazione" per convalidare i dettagli del database.

Se tutto è andato bene, la configurazione del database sarà validata con successo. Una volta completata la convalida, scorri verso il basso e fai clic su "Avanti".

Nel passaggio successivo, fai clic su "Avanti" per accettare le impostazioni predefinite.

Nella sezione "Configurazione applicazione", fai clic su "Avanti" per accettare le impostazioni predefinite.

Nel passaggio successivo, prenditi un po' di tempo e rivedi tutte le modifiche per Icinga Web 2. Assicurati che tutte le configurazioni siano corrette e sentiti libero di tornare indietro e apportare le correzioni necessarie.

Se tutto sembra a posto, scorri verso il basso e fai clic su "Avanti".

L'ultima sezione della configurazione web di Icinga2 prevede la configurazione del modulo di monitoraggio. Quindi, fai clic su "Avanti".

Successivamente, inserisci i dettagli del database per il modulo Icinga2 IDO come specificato nel Passaggio 3.

Quindi scorri verso il basso e fai clic su "Convalida configurazione".

Ancora una volta, la convalida dei dettagli del database dovrebbe essere un successo. Se ricevi un errore, torna indietro e assicurati che tutti i dettagli siano corretti.

Per andare al passaggio successivo, scorri verso il basso e fai clic su "Avanti".

Nella sezione "Trasporto dei comandi", seleziona "File di comando locale" come tipo di trasporto e fai clic su "Avanti".

Nella sezione "Monitoraggio della sicurezza", fai semplicemente clic su "Avanti" per passare alle impostazioni predefinite.

Esaminare tutte le modifiche per il modulo di monitoraggio. Se qualcosa sembra fuori posto, torna indietro e apporta le correzioni necessarie.

Quindi scorri verso il basso e fai clic su "Fine".

A questo punto, Icinga Web 2 è stato configurato con successo e dovresti vedere una notifica in tal senso come mostrato di seguito. Per accedere alla dashboard Icinga2, fai clic su "Accedi a Icinga Web 2".

Questo ti porta alla pagina di accesso come mostrato. Fornisci i dettagli del tuo account amministratore e premi INVIO per accedere.

E verrà visualizzata la dashboard Icinga2. Eventuali problemi esistenti verranno visualizzati con il relativo livello di gravità. Ad esempio, la dashboard ci segnala 28 pacchetti con aggiornamenti pronti.

Per verificarlo, torneremo al terminale ed eseguiremo il comando:

sudo apt list --upgradable

Per aggiornare i pacchetti, eseguiremo semplicemente:

sudo apt upgrade -y

E questo risolve il problema. Dalla dashboard, puoi vedere che non ci sono più problemi visualizzati.

In questa guida, abbiamo dimostrato come installare lo strumento di monitoraggio Icinga2 su Ubuntu. Certo, l'installazione è piuttosto lunga e richiede attenzione ai dettagli. Tuttavia, se hai seguito i passaggi per quest'ultimo, tutto dovrebbe funzionare correttamente.