Nagios è un software open source per il monitoraggio del sistema e della rete. Nagios può monitorare l'attività di un host e dei suoi servizi e fornisce un avviso/avviso se accade qualcosa di brutto sul server. Nagios può essere eseguito su sistemi operativi Linux. In questo momento, sto usando Ubuntu 16.04 per l'installazione.
Prerequisiti
- 2 Ubuntu 16.04 - server a 64 bit
- 1 - Nagios Host con IP:192.168.1.9
- 2 - Client Ubuntu con IP:192.168.1.10
- Accesso root/sudo
Cosa faremo in questo tutorial:
- Software le dipendenze del pacchetto come - LAMP ecc.
- Configurazione di utenti e gruppi.
- Installazione di Nagios.
- Configurazione di Apache.
- Test del server Nagios.
- Aggiunta di un host da monitorare.
Installazione dei prerequisiti
Nagios richiede il compilatore gcc e gli elementi essenziali per la compilazione, LAMP (Apache, PHP, MySQL) per l'interfaccia web di Nagios e Sendmail per inviare avvisi dal server. Per installare tutti quei 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
Affinché Nagios possa funzionare, devi creare un nuovo utente per Nagios. Assegneremo all'utente il nome "nagios" e inoltre crea 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
Passaggio 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
Passaggio 2 - Compila Nagios
Prima di creare 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, utilizzare:./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 la directory evenhandler nella directory nagios:
cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers
Fase 3:installa i plug-in Nagios
Scarica ed estrai i plugin 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 plug-in Nagios con i comandi seguenti:
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
make
make install
Fase 4 - Configura Nagios
Al termine della fase di installazione, puoi trovare la configurazione predefinita di Nagios in /usr/local/nagios/.
Configureremo Nagios e il contatto Nagios.
Modifica la configurazione predefinita di nagios con vim:
vim /usr/local/nagios/etc/nagios.cfg
riga di commento 51 per la configurazione del monitor host.
cfg_dir=/usr/local/nagios/etc/servers
Salva ed esci.
Aggiungi una nuova cartella denominata server:
mkdir -p /usr/local/nagios/etc/servers
Il contatto Nagios può essere configurato nel file contact.cfg. Per aprirlo usa:
vim /usr/local/nagios/etc/objects/contacts.cfg
Quindi sostituisci l'email predefinita con la tua email.
Configurazione di Apache
Passaggio 1:abilita i moduli Apache
sudo a2enmod rewrite
sudo a2enmod cgi
Puoi utilizzare 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.
Passaggio 2:abilita Nagios virtualhost
sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/
Fase 3:avvia Apache e Nagios
service apache2 restart
service nagios start
All'avvio di Nagios, potresti visualizzare il seguente errore:
Starting nagios (via systemctl): nagios.serviceFailed
Ed ecco come risolverlo:
cd /etc/init.d/
cp /etc/init.d/skeleton /etc/init.d/nagios
Ora modifica il file 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
Test del server Nagios
Apri il browser e accedi all'ip del server Nagios, nel mio caso: http://192.168.1.9/nagios .
Nagios Accedi con apache htpasswd.
Dashboard di amministrazione di Nagios
Aggiunta di un host da monitorare
In questo tutorial, aggiungerò un host Ubuntu da monitorare al server Nagios che abbiamo creato sopra.
Nagios Server IP : 192.168.1.9
Ubuntu Host IP : 192.168.1.10
Passaggio 1:connessione all'host Ubuntu
ssh [email protected]
Passaggio 2:installazione del servizio NRPE
sudo apt-get install nagios-nrpe-server nagios-plugins
Passaggio 3 - Configura NRPE
Al termine dell'installazione, modifica il file nrpe /etc/nagios/nrpe.cfg:
vim /etc/nagios/nrpe.cfg
... e aggiungi Nagios Server IP 192.168.1.9 all'indirizzo_server.
indirizzo_server=192.168.1.9
Passaggio 4 - Riavvia NRPE
service nagios-nrpe-server restart
Passaggio 5:aggiungi l'host Ubuntu al server Nagios
Connettiti al server Nagios:
ssh [email protected]
Quindi 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:
# Ubuntu Host configuration file define host { use linux-server host_name ubuntu_host alias Ubuntu Host 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 Check Users 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 Local Disk 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 Check 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 Total Process 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.
Passaggio 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
Passaggio 7:test dell'host Ubuntu
Apri il server Nagios dal browser e osserva ubuntu_host monitorato.
L'host Ubuntu è disponibile sull'host monitorato.
Tutti i servizi monitorati senza errori.
Conclusione
Nagios è un'applicazione open source per il monitoraggio di un sistema. Nagios è stato ampiamente utilizzato per la facilità di configurazione. Nagios è supportato da vari plugin e puoi persino creare i tuoi plugin. Guarda qui per maggiori informazioni.