Icinga2 è uno strumento gratuito, open source e uno degli strumenti di monitoraggio della rete più popolari. È scritto in PHP e C++ e consente di monitorare le risorse di rete, notificare interruzioni e generare dati sulle prestazioni per la creazione di report. È in grado di monitorare vari protocolli tra cui SMTP, POP3, HTTP, NNTP, ping, carico della CPU, utilizzo del disco, switch, router e altro. È composto da due stack Icinga2 e Icinga Web 2. Icinga2 viene utilizzato come server di monitoraggio mentre Icinga Web 2 è l'interfaccia Web per continuare a monitorare.
In questo articolo, ti mostrerò come installare il server di monitoraggio Icinga2 su Debian 11.
Prerequisiti
- Un server che esegue Debian 11.
- Sul server è configurata una password di root.
Installa il server LAMP
Innanzitutto, dovrai installare il server web Apache, MariaDB, PHP e altre estensioni richieste sul tuo server. Puoi installarli tutti con il seguente comando:
apt-get install apache2 mariadb-server php libapache2-mod-php php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip php-cli php-mysql php-common php-opcache php-pgsql php-gmp php-imagick -y
Una volta installati tutti i pacchetti, modifica il file php.ini e cambia alcune impostazioni:
nano /etc/php/7.4/apache2/php.ini
Modifica le seguenti righe:
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
Salva e chiudi il file, quindi riavvia il servizio Apache per applicare le modifiche:
systemctl restart apache2
Successivamente, dovrai impostare una password di root MariaDB e proteggere l'installazione. Puoi farlo eseguendo il seguente script:
mysql_secure_installation
Rispondi a tutte le domande come mostrato di seguito:
Enter current password for root (enter for none): OK, successfully used password, moving on... Set root password? [Y/n] Y Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Installa Icinga2
Per impostazione predefinita, il pacchetto Icinga2 è incluso nel repository predefinito di Debian 11. Puoi installarlo usando il seguente comando:
apt-get install icinga2 monitoring-plugins -y
Una volta installati tutti i pacchetti, avvia Icinga2 e abilitalo all'avvio al riavvio del sistema:
systemctl start icinga2
systemctl enable icinga2
Per verificare lo stato di Icinga2, eseguire il comando seguente:
systemctl status icinga2
Esempio di output:
? icinga2.service - Icinga host/service/network monitoring system Loaded: loaded (/lib/systemd/system/icinga2.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2021-10-03 13:40:11 UTC; 27s ago Docs: https://icinga.com/docs/icinga2/latest/ Process: 20727 ExecStartPre=/usr/lib/icinga2/prepare-dirs /usr/lib/icinga2/icinga2 (code=exited, status=0/SUCCESS) Main PID: 20734 (icinga2) Tasks: 15 (limit: 2341) Memory: 12.7M CPU: 1.769s CGroup: /system.slice/icinga2.service ??20734 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e ??20748 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e ??20751 /usr/lib/x86_64-linux-gnu/icinga2/sbin/icinga2 --no-stack-rlimit daemon -e ??21621 /usr/lib/nagios/plugins/check_ping -6 -H ::1 -c 200,15% -w 100,5% ??21622 /bin/ping -6 -n -U -w 10 -c 5 ::1 Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Instantiated 1 Endpoint. Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Instantiated 1 FileLogger. Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Instantiated 235 CheckCommands. Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ScriptGlobal: Dumping variables to file '/var/cache/icinga2/i> Oct 03 13:40:11 debian11 systemd[1]: Started Icinga host/service/network monitoring system. Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Triggering Start signal for config items Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/FileLogger: 'main-log' started. Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/NotificationComponent: 'notification' started. Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/CheckerComponent: 'checker' started. Oct 03 13:40:11 debian11 icinga2[20748]: [2021-10-03 13:40:11 +0000] information/ConfigItem: Activated all objects.
Successivamente, dovrai installare il plugin MySQL per Icinga2. Puoi installarlo usando il seguente comando:
apt-get install icinga2-ido-mysql -y
Durante l'installazione, ti verrà chiesto di abilitare la funzione ido-mysql di Icinga 2:
Seleziona Sì e premi Invio . Ti verrà chiesto di creare un database per Icinga2.
Seleziona Sì e premi Invio . Ti verrà chiesto di impostare la password dell'applicazione Icinga2:
Fornisci la tua password e premi Invio per completare l'installazione.
Questo creerà un database e un utente chiamato icinga2 e imposta una password.
Nota :Si prega di ricordare il database icinga2, l'utente e la password. Ne avrai bisogno durante l'installazione basata sul web. Quindi, abilita il modulo ido-mysql con il seguente comando:
icinga2 feature enable ido-mysql
Infine, riavvia il servizio Icinga2 per applicare le modifiche:
systemctl restart icinga2
Installa e configura Icinga Web 2
Icinga Web 2 fornisce un'interfaccia web per monitorare Icinga2. Puoi installarlo con il seguente comando:
apt-get install icingaweb2 icingacli -y
Una volta completata l'installazione, sarà necessario creare un database e un utente per Icinga Web 2.
Innanzitutto, accedi a MariaDB con il seguente comando:
mysql -u root -p
Una volta effettuato l'accesso, crea un database e un utente con il seguente comando:
MariaDB [(none)]> CREATE DATABASE icingaweb2;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON icingaweb2.* TO 'icingaweb2'@'localhost' IDENTIFIED BY 'password';
Quindi, svuota i privilegi ed esci da MariaDB con il seguente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Quindi, genera un token segreto con il seguente comando:
icingacli setup token create
Dovresti ottenere il seguente output:
The newly generated setup token is: 73bb878b50a35df8
Accedi all'interfaccia web di Icinga2
Ora apri il tuo browser web e accedi alla procedura guidata di installazione web di Icinga2 utilizzando l'URL http://your-server-ip/icingaweb2/setup . Dovresti vedere la seguente pagina:
Fornisci il tuo token segreto e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Seleziona il monitoraggio e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Assicurati che tutte le estensioni PHP siano installate, quindi fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Seleziona il tipo di autenticazione e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Fornisci le credenziali del tuo database web Icinga2 e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Seleziona il nome del tuo back-end e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Fornisci il tuo utente amministratore e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Fare clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Rivedi tutte le impostazioni e fai clic su Avanti pulsante. Verrai reindirizzato alla seguente pagina:
Fare clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Seleziona il nome del tuo back-end e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Fornisci le credenziali del tuo database Icinga IDO e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Seleziona le opzioni che preferisci e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Seleziona la sicurezza di monitoraggio e fai clic su Avanti pulsante. Dovresti vedere la seguente pagina:
Rivedi la tua configurazione e fai clic su Fine pulsante. Dovresti vedere la seguente pagina:
Fare clic su Accedi a Icinga Web 2 . Dovresti vedere la seguente pagina:
Fornisci il nome utente e la password dell'amministratore e fai clic su Accedi pulsante. Dovresti vedere la seguente pagina:
Conclusione
Congratulazioni! hai installato e configurato correttamente il server di monitoraggio Icinga2 su Debian 11. Ora puoi aggiungere host remoti e avviare il monitoraggio dal dashboard di Icinga Web 2.