Nagios è uno strumento di monitoraggio open source gratuito che ci aiuta a monitorare servizi e applicazioni eseguiti su Windows, Linux, router e altri dispositivi di rete.
Con l'aiuto dell'interfaccia grafica di Nagios, puoi monitorare i servizi di base (FTP, HTTP, SSH, ecc.) e gli attributi (carico del sistema, memoria, utilizzo della CPU, ecc.).
In questo post vedremo come installare Nagios su CentOS 8 / RHEL 8 e come monitorare i servizi applicativi con i plugin Nagios.
Prerequisiti
Nagios richiede Web Server (httpd), PHP, compilatori e librerie di sviluppo.
Installa tutti i pacchetti in un unico comando.
yum -y install httpd php gcc glibc glibc-common wget perl gd gd-devel unzip zip tar
Creare un utente e un gruppo per consentire l'esecuzione dei comandi esterni tramite l'interfaccia web. Aggiungi l'utente e l'utente apache per far parte del gruppo creato.
useradd nagios groupadd nagcmd usermod -a -G nagcmd nagios usermod -a -G nagcmd apache
Installa Nagios
Scarica il Nagios Core dal sito ufficiale utilizzando il terminale.
cd /tmp/ wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.5.tar.gz tar -zxvf nagios-4.4.5.tar.gz cd /tmp/nagios-4.4.5/
Compila e installa Nagios core sul tuo sistema.
./configure --with-nagios-group=nagios --with-command-group=nagcmd make all make install make install-init make install-config make install-commandmode
Installa l'interfaccia web di Nagios
Installa l'interfaccia web di Nagios usando il comando seguente.
make install-webconf
Crea un account utente (nagiosadmin) per l'interfaccia web di Nagios. Ricorda la password che hai impostato per questo utente:ti servirà in seguito.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Riavvia il server web Apache.
systemctl restart httpd systemctl enable httpd
Configura Nagios
Nagios inserisce i file di configurazione nella directory /usr/local/nagios/etc. Le configurazioni predefinite dovrebbero funzionare bene per Nagios.
Faremo solo una modifica prima di procedere.
Modifica il file di configurazione /usr/local/nagios/etc/objects/contacts.cfg e cambia l'indirizzo email associato alla definizione del contatto nagiosadmin nel tuo indirizzo email per ricevere avvisi.
vi /usr/local/nagios/etc/objects/contacts.cfg
Sostituisci il campo dell'indirizzo email per ricevere la notifica.
define contact { contact_name nagiosadmin ; Short name of user use generic-contact ; Inherit default values from generic-contact template (defined above) alias Nagios Admin ; Full name of user email [email protected] ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ****** }
Installa i plug-in Nagios
Scarica Nagios Plugins nella directory /tmp ed estrailo.
cd /tmp wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz tar -zxvf nagios-plugins-2.2.1.tar.gz cd /tmp/nagios-plugins-2.2.1/
Compila e installa i plugin di Nagios.
./configure --with-nagios-user=nagios --with-nagios-group=nagios make make install
Avvia Nagios
Verifica i file di configurazione di Nagios di esempio.
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Risultato:
Nagios Core 4.4.5 Copyright (c) 2009-present Nagios Core Development Team and Community Contributors Copyright (c) 1999-2009 Ethan Galstad Last Modified: 2019-08-20 License: GPL Website: https://www.nagios.org Reading configuration data... Read main config file okay... Read object config files okay... Running pre-flight check on configuration data... Checking objects... Checked 8 services. Checked 1 hosts. Checked 1 host groups. Checked 0 service groups. Checked 1 contacts. Checked 1 contact groups. Checked 24 commands. Checked 5 time periods. Checked 0 host escalations. Checked 0 service escalations. Checking for circular paths... Checked 1 hosts Checked 0 service dependencies Checked 0 host dependencies Checked 5 timeperiods Checking global event handlers... Checking obsessive compulsive processor commands... Checking misc settings... Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check
Se non ci sono errori, avvia il servizio Nagios.
systemctl start nagios
Abilita Nagios all'avvio del sistema.
systemctl enable nagios
Controlla lo stato del servizio Nagios con il comando seguente.
systemctl status nagios
SELinux
Verifica se SELinux è in modalità Enforcing.
getenforce
Cambia la modalità SELinux in Permissiva o disabilita.
setenforce 0
Per rendere permanente questa modalità SELinux, modificare /etc/selinux/config e riavviare il sistema.
Firewall
Crea una regola firewall per consentire l'accesso al server web tramite il firewall.
firewall-cmd --permanent --add-service=http firewall-cmd --reload
Accedi all'interfaccia web di Nagios
Accedi all'interfaccia web di Nagios utilizzando l'URL sottostante.
http://ip-add-re-ss/nagios/Dovrai utilizzare il nome utente (nagiosadmin) e la password specificati in precedenza per accedere all'interfaccia web di Nagios.
La console Nagios apparirà come sotto.
Dopo aver effettuato l'accesso all'interfaccia web di Nagios, fai clic su Host nel riquadro a sinistra per visualizzare un elenco di sistemi monitorati da Nagios.
Dal momento che non abbiamo aggiunto alcun host a Nagios, monitora semplicemente l'host locale stesso.
Fai clic su Servizi nel riquadro di sinistra per controllare lo stato di tutti i servizi monitorati con Nagios.
Conclusione
In questo post, hai imparato come installare Nagios su CentOS 8 / RHEL 8 e configurato Nagios per monitorare i servizi con l'aiuto dei plugin Nagios. In questo momento, Nagios controlla il server stesso. Puoi anche monitorare il sistema Linux remoto con Nagios con il componente aggiuntivo NRPE.