Icinga 2 è uno strumento di monitoraggio open source utilizzato per verificare la disponibilità delle risorse IT (rete, server, ecc.) e segnalare l'interruzione nel caso in cui una risorsa sia inattiva. Genera anche dati sulle prestazioni a scopo di reportistica.
Icinga 2 ha un design multi-thread e può eseguire migliaia di controlli ogni secondo senza influire sulla CPU. Possiamo anche configurare Icinga 2 con cluster ad alta disponibilità con una configurazione distribuita per ambienti grandi/complessi.
In questo tutorial impareremo a installare Icinga 2 su sistemi CentOS/RHEL 7. Di seguito sono riportati i dettagli della configurazione del mio laboratorio per Icinga 2
- Nome host della macchina “icinga2.example.com”
- Indirizzo IP “192.168.1.2”
- OS:CentOS 7 / RHEL 7
- Tutta l'installazione verrà eseguita tramite l'utente linuxtechi, che fa parte del gruppo wheel.
Requisiti per Icinga 2
1) Abbiamo bisogno di avere una macchina con il server LAMP installato per l'installazione di Icinga 2. Per creare un server LAMP, installeremo prima il server web apache con il seguente comando,
[[email protected] ~]$ sudo yum install httpd
Quindi installa il server mariadb (database) con il seguente comando yum,
[[email protected] ~]$ sudo yum install mariadb mariadb-server
Avvia e abilita il servizio mariadb usando i comandi sotto,
[[email protected] ~]$ sudo systemctl start mariadb && sudo systemctl enable mariadb
Ora proteggi l'installazione di mysql eseguendo il comando seguente,
[[email protected] ~]$ sudo mysql_secure_installation
Quindi segui le istruzioni sullo schermo per proteggere l'installazione di MySQL.
Infine, installa i pacchetti PHP richiesti, ma abbiamo bisogno degli ultimi pacchetti php. Per installare gli ultimi pacchetti php, installeremo i pacchetti scl,
[[email protected] ~]$ sudo yum install centos-release-scl
Quindi esegui il seguente comando yum per installare gli ultimi pacchetti php per Icinga,
[[email protected] ~]$ sudo yum install rh-php71-php-mysqlnd rh-php71-php-cli php-Icinga rh-php71-php-common rh-php71-php-fpm rh-php71-php-pgsql rh-php71-php-ldap rh-php71-php-intl rh-php71-php-xml rh-php71-php-gd rh-php71-php-pdo rh-php71-php-mbstring -y
Successivamente imposteremo un fuso orario predefinito in php, cercheremo date.timezone e aggiungeremo il seguente contenuto
[[email protected] ~]$ sudo vi /etc/opt/rh/rh-php71/php.ini date.timezone = India/Kolkata
Cambia il fuso orario come meglio credi e salva il file. Ora avvia e abilita il servizio Apache,
[[email protected] ~]$ sudo systemctl start httpd && sudo systemctl enable httpd
2) Abbiamo anche bisogno di avere il repository EPEL abilitato poiché alcuni pacchetti richiesti da Icinga 2 sono disponibili sui repository EPEL. Installa il repository EPEL su CentOS/RHEL 7 con il comando seguente,
[[email protected] ~]$ sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
Per RHEL, abilita il repository facoltativo con il comando seguente,
# subscription-manager repos --enable rhel-7-server-optional-rpms
Installazione di Icinga 2
Icinga è disponibile sotto forma di pacchetto RPM, ma per prima cosa dobbiamo abilitare icinga yum repository, eseguire il seguente comando dal terminale per abilitarlo
[[email protected] ~]$ sudo yum install https://packages.icinga.com/epel/icinga-rpm-release-7-latest.noarch.rpm
Ora installeremo icinga 2 insieme ai suoi plugin,
[[email protected] ~]$ sudo yum install icinga2-ido-mysql icingaweb2 icingacli nagios-plugins-all
Installeremo anche un pacchetto aggiuntivo, icingaweb2-selinux perché manterremo abilitato il nostro selinux,
[[email protected] ~]$ sudo yum install icingaweb2-selinux -y
Ora riavvia i servizi apache, icinga2 e fpm e abilitali per l'avvio,
[[email protected] ~]$ sudo systemctl restart httpd.service [[email protected] ~]$ sudo systemctl start icinga2.service [[email protected] ~]$ sudo systemctl enable icinga2.service [[email protected] ~]$ sudo systemctl start rh-php71-php-fpm.service [[email protected] ~]$ sudo systemctl enable rh-php71-php-fpm.service
Configura le regole del firewall per ICINGA 2
Nel caso in cui il firewall del sistema operativo sia in esecuzione e abilitato sul tuo server, configura le seguenti regole firewall per le porte 80 e 5665, in modo che possiamo accedere alla pagina Web dalla nostra rete locale e abilitare il monitoraggio tramite la porta 5665,
[[email protected] ~]$ sudo firewall-cmd --zone=public --permanent --add-port=80/tcp [[email protected] ~]$ sudo firewall-cmd --zone=public --permanent --add-port=5665/tcp [[email protected] ~]$ sudo firewall-cmd --reload Success [[email protected] ~]$
Per quanto riguarda le politiche di SELinux, abbiamo già apportato le modifiche necessarie installando 'icinga-selinux ' pacchetto.
Accedi a Icinga 2 Web e avvia la procedura guidata di installazione:
Ora apri un browser web e inserisci il seguente URL per accedere alla configurazione web di icinga 2,
http://
Nel mio caso, l'URL è http://192.168.1.2/icingaweb2/setup
dove, 192.168.1.2 è l'indirizzo IP della macchina su cui abbiamo installato ICINGA 2. Non appena inseriamo l'URL, saremo accolti con la seguente schermata,
Ora dobbiamo creare il token di installazione. Esegui i seguenti comandi per creare il token di installazione,
[[email protected] ~]$ sudo groupadd -r icingaweb2 [[email protected] ~]$ sudo usermod -a -G icingaweb2 apache [[email protected] ~]$ sudo icingacli setup config directory --group icingaweb2 [[email protected] ~]$ sudo icingacli setup token create The newly generated setup token is: de74e67ae840e90e [[email protected] ~]$
Dopo aver eseguito l'ultimo comando, otterremo un token come output. Copia il token e incollalo sulla pagina web,
Il processo per creare il token è menzionato anche nella pagina web. Nella schermata successiva, seleziona monitoraggio e fai clic su Avanti,
Nella schermata successiva, troveremo vari moduli php che abbiamo installato, esaminarli e fare clic su Avanti,
Nella schermata successiva, seleziona il tipo di autenticazione. Utilizzeremo "Database ', premi Avanti,
Ora dobbiamo creare un database per l'Icinga, eseguire i seguenti comandi per creare un nuovo database per l'icinga,
[[email protected] ~]$ mysql -u root -p Enter password: MariaDB [(none)]> create database icinga2; Query OK, 1 row affected (0.00 sec)
Ora esci dall'interfaccia di mariadb e fornisci le informazioni nella pagina di configurazione e fai clic su convalida,
Una volta che la configurazione è stata convalidata con successo e quindi fai clic su Avanti
Quindi, seleziona il nome del backend di autenticazione, lo manteniamo predefinito,
Quindi seleziona il nome utente e la password per amministrare il portale web di amministrazione di Icinga (sito web)
Quindi configura le impostazioni relative alla tua applicazione, per noi l'impostazione predefinita è buona,
Fare clic su Avanti ,
Nella schermata successiva, ci verrà chiesto di rivedere le modifiche che abbiamo apportato per la glassa. Assicurati che tutto sia in ordine e premi il prossimo,
Ora configureremo il modulo di monitoraggio di Icinga. Qui nelle prossime due schermate, configureremo il backend di monitoraggio (che viene lasciato come predefinito) e quindi dovremo inserire nuovamente le informazioni del database, ma prima di farlo dobbiamo importare lo schema IDO.
Per importare lo schema, esegui i seguenti comandi,
[[email protected] ~]$ mysql -u root -p MariaDB [(none)]> CREATE DATABASE icinga; MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY 'icinga'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Qui abbiamo creato un altro database per Icinga IDO e ora importeremo lo schema IDO in esso,
[[email protected] ~]$ mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql
Apporta anche modifiche secondo il tuo database al seguente file,
[[email protected] ~]$ sudo vi /etc/icinga2/features-available/ido-mysql.conf /** * The db_ido_mysql library implements IDO functionality * for MySQL. */ library "db_ido_mysql" object IdoMysqlConnection "ido-mysql" { user = "icinga" password = "icinga" host = "localhost" database = "icinga" }
Dopo aver convalidato con successo l'IDO, fare clic su Avanti. In questa schermata, possiamo configurare le informazioni relative alla nostra istanza icinga remota, cambiarle in "File di comando locale ',
Lascia il resto delle schermate come predefinite e nell'ultima schermata, rivedi tutte le modifiche e premi Fine. Avremo quindi la seguente schermata,
Fai clic su "Accedi a icinga Web 2 ” e reindirizzeremo la pagina di accesso per inga. Accedi utilizzando le credenziali che specifichiamo sopra i passaggi di installazione.
Dopo l'autenticazione riuscita, ora possiamo vedere la dashboard di icinga con tutti i servizi e il loro stato,
Ciò conferma che abbiamo installato correttamente lo strumento di monitoraggio Icinga 2. Non esitare a inviare le tue domande o suggerimenti utilizzando la casella dei commenti qui sotto.
Ulteriori informazioni – Come aggiungere host Linux e Windows remoti a Icinga 2 per il monitoraggio