Monitoraggio · 11 min read · Oct 18, 2025

Come installare lo strumento di monitoraggio Nagios 4.3.x su Debian 9

Questo tutorial ti mostrerà come installare e configurare l’ultima versione di Nagios Core, attualmente 4.3.4, dai sorgenti in Debian 9.1, nome in codice Stretch.

Nagios, noto anche come Nagios Core, è uno strumento di monitoraggio di rete Open Source gratuito, attivamente mantenuto dai suoi sviluppatori, progettato per monitorare un’intera infrastruttura di rete. Nagios può monitorare quasi ogni dispositivo di rete, purché il dispositivo abbia una connessione di rete configurata, come router, switch, server, desktop, firewall, dispositivi IoT. Oltre a monitorare i dispositivi per determinare il loro stato di rete, Nagios può anche monitorare servizi di rete, applicazioni o altri compiti specifici relativi ai sistemi operativi e può essere configurato per inviare avvisi via mail o SMS per informare gli amministratori di rete su possibili guasti di dispositivi, interruzioni o malfunzionamenti dei servizi.

Requisiti

  • Debian 9.1 installato su una macchina bare-metal o su un server privato virtuale. Preferibilmente, l’installazione deve essere eseguita con requisiti software minimi.
  • La scheda di interfaccia di rete configurata con un indirizzo IP statico.
  • Accesso all’account root o a un utente con privilegi di account root tramite sudo.
  • Un nome di dominio, privato o pubblico, con i corretti record DNS A configurati. Nel caso in cui non hai un server DNS configurato presso la tua sede, puoi accedere a Nagios tramite l’indirizzo IP del server.

Configurazione iniziale

Prima di iniziare a installare Nagios dai sorgenti, assicurati che il sistema soddisfi tutti i requisiti software per compilare e installare Nagios. Nel primo passaggio, aggiorna i repository di sistema e i pacchetti software emettendo il comando sottostante.

apt update
apt upgrade

Installa aggiornamenti Debian

Nel passaggio successivo, avvia un nuovo comando per installare alcune utilità necessarie che verranno utilizzate per gestire ulteriormente il sistema dalla riga di comando.

apt install wget unzip zip bash-completion

N ext, imposta il nome per il tuo sistema eseguendo il seguente comando:

hostnamectl set-hostname nagios.server.lan

Verifica il nome host della macchina e il file hosts emettendo i comandi sottostanti.

hostnamectl
cat /etc/hostname
cat /etc/hosts

Infine, riavvia il sistema per applicare il nuovo nome host.

init 6

Nagios è un’applicazione di monitoraggio basata sul web con alcune parti scritte nel linguaggio di programmazione server-side PHP e altri programmi CGI. Per eseguire gli script PHP di Nagios, deve essere installato e operativo nel sistema un server web, come Apache HTTP server, e un gateway di elaborazione PHP. Per installare il server web Apache e l’interprete PHP insieme a tutti i moduli PHP richiesti da Nagios 4 per funzionare correttamente, emetti il seguente comando nella console del server.

apt install apache2 libapache2-mod-php7.0 php7.0

Dopo che Apache e PHP sono stati installati, verifica se il server web è attivo e in ascolto per connessioni di rete sulla porta 80 emettendo il seguente comando con privilegi di root.

netstat –tlpn

Nel caso in cui l’utilità di rete netstat non sia installata per impostazione predefinita nel tuo sistema Debian 9, esegui il comando sottostante per installarla.

apt install net-tools

Controlla l'installazione di apache con il comando netstat

Ispezionando l’output del comando netstat puoi vedere che il server web apache è in ascolto per connessioni di rete in entrata sulla porta 80.

Nel caso in cui tu abbia un firewall abilitato sul tuo sistema, come l’applicazione firewall UFW, dovresti aggiungere una nuova regola per consentire al traffico HTTP di passare attraverso il firewall emettendo il seguente comando.

ufw allow WWW

oppure

ufw allow 80/tcp

Nel caso in cui tu voglia utilizzare le regole raw di iptables per consentire il traffico in entrata sulla porta 80 nel firewall in modo che i visitatori possano navigare nell’interfaccia web di Nagios Core, aggiungi la seguente regola.

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Successivamente, abilita e applica i seguenti moduli Apache richiesti dall’applicazione web Nagios per funzionare correttamente, emettendo il seguente comando.

a2enmod rewrite headers cgi
systemctl restart apache2

Abilita i moduli apache

Infine, verifica se la pagina web predefinita del server Apache può essere visualizzata nel browser del tuo client visitando l’indirizzo IP della tua macchina Debian o il nome di dominio tramite il protocollo HTTP, come mostrato nell’immagine sottostante. Se non conosci l’indirizzo IP della tua macchina, esegui i comandi ifconfig o ip a.

http://192.168.1.14

Pagina web predefinita di Apache

Nel passaggio successivo, dobbiamo apportare alcune ulteriori modifiche al file di configurazione predefinito di PHP per assicurarci che l’impostazione del fuso orario di PHP sia configurata correttamente e corrisponda alla tua posizione fisica. Apri il file /etc/php/7.0/apache2/php.ini per la modifica e assicurati che le seguenti righe siano impostate come segue.

date.timezone = Europe/London

Sostituisci la variabile del fuso orario in base al tuo orario fisico consultando l’elenco dei fusi orari fornito dalla documentazione PHP al seguente link http://php.net/manual/en/timezones.php.

Riavvia il demone apache per applicare le modifiche.

systemctl restart apache2

Dopo aver apportato le modifiche richieste, crea un file di info php e riavvia il demone apache per applicare le modifiche emettendo i seguenti comandi.

echo ''| tee /var/www/html/info.php
systemctl restart apache2

Controlla se il fuso orario PHP è stato configurato correttamente visitando il file dello script phpinfo da un browser al seguente URL, come illustrato nell’immagine sottostante. Scorri verso il basso fino all’impostazione della data per controllare l’impostazione del fuso orario php.

http://192.168.1.14/info.php

Controlla l'impostazione del fuso orario PHP

Installa Nagios Core

Prima di scaricare e compilare Nagios Core dai sorgenti, assicurati prima di installare i seguenti pacchetti pre-requisiti nel tuo sistema, emettendo il comando sottostante.

apt install autoconf gcc libc6 make apache2-utils libgd-dev

Dopo che tutte le dipendenze e i pacchetti necessari per compilare Nagios dai sorgenti sono stati installati nel tuo sistema Debian, visita il sito ufficiale di Nagios all’indirizzo https://www.nagios.org/downloads/nagios-core/ e scarica l’ultima versione dell’archivio sorgente stabile di Nagios Core emettendo l’utilità wget, come mostrato nel seguente estratto di comando.

wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.4.tar.gz

Dopo che l’archivio tar sorgente di Nagios è stato scaricato, estrai l’archivio tar ed entra nella directory nagios estratta, con i seguenti comandi. Esegui il comando ls all’interno della directory nagios estratta per elencare i file sorgente.

tar xzf nagios-4.3.4.tar.gz
cd nagios-4.3.4/
ls

Scarica Nagios

Mentre sei all’interno della directory dei sorgenti estratti di Nagios, avvia il processo di compilazione di Nagios dai sorgenti emettendo i seguenti comandi. Prima, configura Nagios per essere compilato con il percorso di configurazione http del server web Apache che punta alla directory sites-enabled.

./configure --with-httpd-conf=/etc/apache2/sites-enabled

Successivamente, compila Nagios emettendo il seguente comando, come illustrato nelle immagini sottostanti.

make all

Configura e compila Nagios

Compila Nagios dai sorgenti

Successivamente, crea l’utente e il gruppo di sistema nagios e aggiungi l’account nagios all’utente runtime di Apache in modo che l’utente nagios abbia i permessi necessari per accedere alle risorse web.

useradd nagios
usermod -a -G nagios www-data

Ora, inizia a installare i file binari di Nagios, gli script CGI e i file HTML emettendo il seguente comando. L’output finale del comando make install dovrebbe visualizzare le posizioni binarie, come mostrato nell’immagine sottostante.

make install

Installa i file Nagios compilati

Successivamente, installa i file di inizializzazione del demone Nagios systemd e abilita il servizio nagios a livello di sistema emettendo i seguenti comandi.

make install-init
systemctl enable nagios.service

Installa i file di inizializzazione di Nagios

Inoltre, installa e configura il file di comando esterno di Nagios eseguendo il comando sottostante.

make install-commandmode

Successivamente, esegui il seguente comando per installare i file di configurazione di esempio di Nagios che sono richiesti dal demone Nagios per avviarsi e funzionare correttamente.

make install-config

Installa i file di configurazione di esempio di Nagios

Infine, installa il file di configurazione del server web Apache per Nagios, che sarà situato nella directory /etc/apacahe2/sites-enabled/, eseguendo il comando sottostante.

make install-webconf

Installa la configurazione web di Nagios apache

Crea l’account utente nagiosadmin con la password corrispondente richiesta dal server web Apache per poter effettuare il login nello strumento web di Nagios emettendo il seguente comando.

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Per accedere al pannello web di Nagios, prima riavvia il server HTTP Apache e avvia il servizio Nagios emettendo i seguenti comandi.

systemctl restart apache2
systemctl start nagios

Quindi, accedi all’interfaccia web di Nagios aprendo un browser e visitando l’indirizzo IP del tuo server o il nome di dominio o FQDN e aggiungi il percorso URL /nagios tramite il protocollo HTTP, come illustrato negli screenshot sottostanti. Usa l’utente nagiosadmin con la password configurata in precedenza per questo utente per effettuare il login nell’interfaccia web di Nagios.

Login in Nagios

Dashboard di Nagios

Installa i plugin di Nagios

Il motore Nagios è ora installato nel sistema. Tuttavia, il software Nagios non è ancora operativo, poiché i plugin utilizzati per controllare host e servizi non sono installati. Questo comportamento può essere osservato navigando nel menu Hosts dove noterai gli errori dei plugin, come mostrato nello screenshot sottostante.

Nagios nessun plugin installato ancora

Per compilare e installare alcuni plugin di base di Nagios dai sorgenti, assicurati prima di installare le seguenti librerie e dipendenze emettendo il seguente comando.

apt install libmcrypt-dev make libssl-dev bc gawk dc build-essential snmp libnet-snmp-perl gettext libldap2-dev smbclient fping default-libmysqlclient-dev

Dopo che tutti i pacchetti di dipendenza sono stati installati nel tuo sistema, vai alla pagina del repository dei plugin di Nagios visitando il seguente indirizzo https://github.com/nagios-plugins/nagios-plugins/releases e scarica l’ultima archivio sorgente con l’aiuto dell’utilità della riga di comando wget, come mostrato nel seguente esempio di comando.

wget https://github.com/nagios-plugins/nagios-plugins/archive/release-2.2.1.tar.gz

Quindi, estrai l’archivio sorgente compresso dei plugin di Nagios ed entra nella directory nagios-plugins estratta eseguendo i seguenti comandi.

tar xfz release-2.2.1.tar.gz
cd nagios-plugins-release-2.2.1/

Scarica i plugin di Nagios

Per compilare e installare i plugin di Nagios dai sorgenti, esegui i seguenti script e comandi con privilegi di root, come mostrato nell’estratto sottostante.

./tools/setup
./configure
make
make install

Dopo che tutti i plugin sono stati installati, puoi trovarli nel percorso di sistema /usr/local/nagios/libexec/. Emetti il comando ls per esaminare tutto il contenuto della directory /usr/local/nagios/libexec/ e vedere quali plugin sono disponibili per Nagios nel tuo sistema.

ls /usr/local/nagios/libexec/

Directory Libexec di Nagios

Affinché il motore Nagios possa rilevare e utilizzare i plugin installati, devi riavviare e controllare lo stato del servizio nagios con i seguenti comandi.

systemctl restart nagios.service
systemctl status nagios.service

Per testare se i plugin di Nagios funzionano come previsto, accedi di nuovo all’interfaccia web di Nagios aprendo un browser e visitando l’indirizzo IP del tuo server, FQDN o nome di dominio e naviga nel menu Hosts o Services, come illustrato nello screenshot sottostante. Gli host e i servizi monitorati dovrebbero ora essere controllati dai plugin e dovrebbero visualizzare l’output corretto, a seconda dello stato di uscita del comando del plugin. I colori visualizzati sono: verde per OK, giallo per Avviso e rosso per Critico.

Servizi monitorati da Nagios

Per utilizzare il protocollo HTTPS per accedere all’interfaccia web del motore Nagios tramite una connessione sicura, emetti il seguente comando per abilitare il modulo SSL del server web Apache e il file di configurazione del sito SSL.

a2enmod ssl
a2ensite default-ssl.conf

Successivamente, per forzare i visitatori a essere automaticamente reindirizzati al protocollo HTTPS ogni volta che visitano l’interfaccia web di Nagios dai loro browser, apri il file /etc/apache2/sites-enabled/000-default.conf per la modifica e aggiungi le seguenti regole di riscrittura dopo l’istruzione DocumentRoot come mostrato nell’esempio sottostante.

RewriteEngine on  
RewriteCond %{HTTPS} off  
RewriteRule ^(.*) https://%{HTTP_HOST}/$1

Abilita https in apache

Infine, riavvia il demone Apache per applicare tutte le regole configurate finora e visita l’interfaccia web di Nagios tramite il protocollo HTTP.

systemctl restart apache2.service

Per controllare se Apache sta ascoltando sulla porta HTTPS, esegui il comando netstat e cerca il binding della porta 443, come mostrato nell’immagine sottostante.

netstat -tlpn

Nel caso in cui l’applicazione firewall UFW blocchi le connessioni di rete in entrata sulla porta HTTPS, dovresti aggiungere una nuova regola per consentire al traffico HTTPS di passare attraverso il firewall emettendo il seguente comando.

ufw allow 'WWW Full'

oppure

ufw allow 443/tcp

Nel caso in cui tu stia eseguendo un firewall iptables per proteggere il tuo sistema Debian, aggiungi la seguente regola per consentire il traffico in entrata sulla porta 443 nel firewall in modo che i visitatori possano navigare nell’interfaccia web di Nagios Core.

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

Ora, dovresti essere automaticamente reindirizzato al pannello web di Nagios tramite il protocollo HTTPS. Poiché stai utilizzando le coppie di certificati auto-firmati emesse da Apache durante l’installazione, un avviso di errore dovrebbe essere visualizzato nel browser. Accetta l’avviso del browser e accedi a Nagios con le credenziali configurate in precedenza, come mostrato nello screenshot sottostante.

Nagios con HTTPS

Per aggiungere un nuovo host da monitorare con Nagios, apri il file di configurazione /usr/local/nagios/etc/objects/localhost.cfg per la modifica e aggiungi il nuovo dispositivo dopo la definizione di localhost, come mostrato nell’esempio sottostante.

define host{  
        use                     linux-server  
        host_name               router  
        alias                   router  
        address                 192.168.1.1  
        }

Modifica il file di configurazione di nagios

Sostituisci le variabili host_name, alias e indirizzo IP di conseguenza e riavvia il demone Nagios per caricare la nuova definizione dell’host e applicare le modifiche.

systemctl restart nagios

Aspetta qualche minuto e naviga nel menu Hosts nell’interfaccia web di Nagios per controllare lo stato del dispositivo, come illustrato nell’immagine sottostante.

Nagios protetto con SSL / TLS

Tutto qui! Hai installato e configurato con successo il motore Nagios dai sorgenti in Debian 9. Puoi iniziare ad aggiungere i dispositivi di rete della tua organizzazione, server o servizi critici da monitorare con Nagios. Per altre configurazioni personalizzate riguardanti Nagios Core e i plugin di Nagios, visita le pagine di documentazione al seguente link https://support.nagios.com/kb/category.php?id=12



Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.