Monitoraggio Server · 5 min read · Oct 21, 2025

Come installare il monitoraggio del server Nagios su Ubuntu 16.04

Nagios è un software open source per il monitoraggio di sistemi e reti. Nagios può monitorare l’attività di un host e dei suoi servizi e fornisce un avviso/alert se qualcosa di negativo accade sul server. Nagios può essere eseguito su sistemi operativi Linux. In questo momento, sto usando Ubuntu 16.04 per l’installazione.

Prerequisiti

  • 2 server Ubuntu 16.04 - 64bit - 1 - Host Nagios con IP: 192.168.1.9
  • 2 - Client Ubuntu con IP: 192.168.1.10
  • Accesso Root/Sudo

Cosa faremo in questo tutorial:

  1. Installare le dipendenze del pacchetto software come - LAMP ecc.
  2. Configurazione di utenti e gruppi.
  3. Installazione di Nagios.
  4. Configurazione di Apache.
  5. Testare il server Nagios.
  6. Aggiungere un host da monitorare.

Installazione dei prerequisiti

Nagios richiede il compilatore gcc e i build-essentials per la compilazione, LAMP (Apache, PHP, MySQL) per l’interfaccia web di Nagios e Sendmail per inviare avvisi dal server. Per installare tutti questi pacchetti, esegui questo comando (è solo 1 riga):

sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip

Configurazione di utenti e gruppi

Per far funzionare Nagios, devi creare un nuovo utente per Nagios. Nomineremo l’utente “nagios” e creeremo anche un gruppo chiamato “nagcmd”. Aggiungiamo il nuovo utente al gruppo come mostrato di seguito:

useradd nagios  
groupadd nagcmd  
usermod -a -G nagcmd nagios  
usermod -a -G nagios,nagcmd www-data

Installazione di Nagios

Passo 1 - Scarica ed estrai il core di Nagios

cd ~  
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.0.tar.gz  
tar -xzf nagios*.tar.gz  
cd nagios-4.2.0

Passo 2 - Compila Nagios

Prima di costruire Nagios, dovrai configurarlo con l’utente e il gruppo che hai creato in precedenza.

./configure --with-nagios-group=nagios --with-command-group=nagcmd

Per ulteriori informazioni, utilizza: ./configure –help.

Ora per installare Nagios:

make all  
sudo make install  
sudo make install-commandmode  
sudo make install-init  
sudo make install-config  
/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf

E copia anche la directory evenhandler nella directory di nagios:

cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/  
chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers

Passo 3 - Installa i plugin di Nagios

Scarica ed estrai i plugin di Nagios:

cd ~  
wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz  
tar -xzf nagios-plugins*.tar.gz  
cd nagios-plugin-2.1.2/

Installa i plugin di Nagios con i comandi qui sotto:

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl  
make  
make install

Passo 4 - Configura Nagios

Dopo che la fase di installazione è completa, puoi trovare la configurazione predefinita di Nagios in /usr/local/nagios/.

Configureremo Nagios e il contatto di Nagios.

Modifica la configurazione predefinita di nagios con vim:

vim /usr/local/nagios/etc/nagios.cfg

decommenta la riga 51 per la configurazione del monitoraggio dell’host.

cfg_dir=/usr/local/nagios/etc/servers

Salva ed esci.

Aggiungi una nuova cartella chiamata servers:

mkdir -p /usr/local/nagios/etc/servers

Il contatto di Nagios può essere configurato nel file contact.cfg. Per aprirlo usa:

vim /usr/local/nagios/etc/objects/contacts.cfg

Poi sostituisci l’email predefinita con la tua email.

Configurazione di Apache

Passo 1 - Abilita i moduli di Apache

sudo a2enmod rewrite  
sudo a2enmod cgi

Puoi usare il comando htpasswd per configurare un utente nagiosadmin per l’interfaccia web di nagios

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

e digita la tua password.

Passo 2 - Abilita il virtualhost di Nagios

sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/

Passo 3 - Avvia Apache e Nagios

service apache2 restart  
service nagios start

Quando Nagios si avvia, potresti vedere il seguente errore :

Starting nagios (via systemctl): nagios.serviceFailed

Ecco come risolverlo:

cd /etc/init.d/  
cp /etc/init.d/skeleton /etc/init.d/nagios

Ora modifica il file di Nagios:

vim /etc/init.d/nagios

… e aggiungi il seguente codice:

DESC="Nagios"  
NAME=nagios  
DAEMON=/usr/local/nagios/bin/$NAME  
DAEMON_ARGS="-d /usr/local/nagios/etc/nagios.cfg"  
PIDFILE=/usr/local/nagios/var/$NAME.lock

Rendilo eseguibile e avvia Nagios:

chmod +x /etc/init.d/nagios  
service apache2 restart  
servuce nagios start

Testare il server Nagios

Apri il tuo browser e accedi all’IP del server Nagios, nel mio caso: http://192.168.1.9/nagios.

Accesso a Nagios con apache htpasswd.

Accesso a Nagios

Dashboard di amministrazione di Nagios

Dashboard di Nagios

Aggiungere un host da monitorare

In questo tutorial, aggiungerò un host Ubuntu da monitorare al server Nagios che abbiamo creato sopra.

IP del server Nagios : 192.168.1.9  
IP dell'host Ubuntu : 192.168.1.10

Passo 1 - Connettersi all’host ubuntu

ssh [email protected]

Passo 2 - Installa il servizio NRPE

sudo apt-get install nagios-nrpe-server nagios-plugins

Passo 3 - Configura NRPE

Dopo che l’installazione è completa, modifica il file nrpe /etc/nagios/nrpe.cfg:

vim /etc/nagios/nrpe.cfg

… e aggiungi l’IP del server Nagios 192.168.1.9 a server_address.

server_address=192.168.1.9

Passo 4 - Riavvia NRPE

service nagios-nrpe-server restart

Passo 5 - Aggiungi l’host Ubuntu al server Nagios

Per favore connettiti al server Nagios:

ssh [email protected]

Poi crea un nuovo file per la configurazione dell’host in /usr/local/nagios/etc/servers/.

vim /usr/local/nagios/etc/servers/ubuntu_host.cfg

Aggiungi le seguenti righe:

# File di configurazione dell'host Ubuntu

define host {
        use                          linux-server
        host_name                    ubuntu_host
        alias                        Host Ubuntu
        address                      192.168.1.10
        register                     1
}

define service {
      host_name                       ubuntu_host
      service_description             PING
      check_command                   check_ping!100.0,20%!500.0,60%
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       ubuntu_host
      service_description             Controlla Utenti
      check_command           check_local_users!20!50
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       ubuntu_host
      service_description             Disco Locale
      check_command                   check_local_disk!20%!10%!/
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       ubuntu_host
      service_description             Controlla SSH
      check_command                   check_ssh
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       ubuntu_host
      service_description             Processo Totale
      check_command                   check_local_procs!250!400!RSZDT
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

Puoi trovare molti check_command nel file /usr/local/nagios/etc/objects/commands.cfg. Vedi lì se vuoi aggiungere più servizi come DHCP, POP ecc.

E ora controlla la configurazione:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

… per vedere se la configurazione è corretta.

Passo 6 - Riavvia tutti i servizi

Sull’host Ubuntu avvia il servizio NRPE:

service nagios-nrpe-server restart

… e sul server Nagios, avvia Apache e Nagios:

service apache2 restart  
service nagios restart

Passo 7 - Testare l’host Ubuntu

Apri il server Nagios dal browser e vedi l’ubuntu_host monitorato.

L’host Ubuntu è disponibile nell’host monitorato.

Il server monitorato è elencato

Tutti i servizi monitorati senza errori.

Tutti i servizi sono verdi

Conclusione

Nagios è un’applicazione open source per il monitoraggio di un sistema. Nagios è stato ampiamente utilizzato grazie alla facilità di configurazione. Nagios è supportato da vari plugin e puoi persino creare i tuoi plugin. Guarda qui per ulteriori informazioni.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.