Com afegir un host Linux al servidor de monitorització de Nagios mitjançant el connector NRPE


A la nostra primera part d'aquest article, hem explicat detalladament com instal·lar i configurar l'últim Nagios 4.4.5 al servidor RHEL/CentOS 8/7 i Fedora 30. En aquest article, us mostrarem com afegir una màquina Linux remota i els seus serveis a l'amfitrió de monitorització de Nagios mitjançant l'agent NRPE.

Esperem que ja tinguis Nagios instal·lat i funcionant correctament. En cas contrari, utilitzeu la següent guia d'instal·lació per instal·lar-la al sistema.

  1. Com instal·lar Nagios 4.4.5 a RHEL/CentOS 8/7 i Fedora 30
  2. Com afegir l'amfitrió de Windows al servidor de monitorització de Nagios

Un cop hàgiu instal·lat, podeu continuar per instal·lar l'agent NRPE al vostre host Linux remot. Abans d'anar més enllà, us fem una breu descripció de NRPE.

Què és NRPE?

El connector NRPE (Nagios Remote Plugin Executor) us permet supervisar qualsevol servei remot Linux/Unix o dispositiu de xarxa. Aquest complement NRPE permet a Nagios supervisar qualsevol recurs local com la càrrega de la CPU, l'intercanvi, l'ús de la memòria, els usuaris en línia, etc. en màquines Linux remotes. Després de tot, aquests recursos locals no estan exposats principalment a màquines externes, cal instal·lar i configurar un agent NRPE a les màquines remotes.

Nota: el complement NRPE requereix que els connectors de Nagios s'hagin d'instal·lar a la màquina Linux remota. Sense aquests, el dimoni NRPE no funcionarà i no supervisarà res.

Instal·lació del connector NRPE

Per utilitzar l'NRPE, haureu de fer algunes tasques addicionals tant a l'amfitrió de monitorització de Nagios com a l'amfitrió Linux remot on s'ha instal·lat l'NRPE. Cobrirem les dues parts d'instal·lació per separat.

Suposem que esteu instal·lant el NRPE en un amfitrió que admet embolcalls TCP i el dimoni Xinted instal·lat en ell. Avui, la majoria de les distribucions de Linux modernes tenen aquestes dues instal·lades per defecte. Si no, l'instal·larem més tard durant la instal·lació quan sigui necessari.

Si us plau, utilitzeu les instruccions següents per instal·lar els connectors de Nagios i el dimoni NRPE a l'amfitrió Linux remot.

Hem d'instal·lar les biblioteques necessàries com gcc, glibc, glibc-common i GD i les seves biblioteques de desenvolupament abans de la instal·lació.

 yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel

-------------- On Fedora --------------
 dnf install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel

Creeu un nou compte d'usuari de nagios i configureu una contrasenya.

 useradd nagios
 passwd nagios

Creeu un directori per a la instal·lació i totes les seves descàrregues futures.

 cd /root/nagios

Ara descarregueu el darrer paquet de Nagios Plugins 2.1.2 amb l'ordre wget.

 wget https://www.nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz

Executeu la següent comanda tar per extreure el codi font tarball.

 tar -xvf nagios-plugins-2.1.2.tar.gz

Després, l'extracció d'una carpeta nova apareixerà en aquest directori.

 ls -l

total 2640
drwxr-xr-x. 15 root root    4096 Aug  1 21:58 nagios-plugins-2.1.2
-rw-r--r--.  1 root root 2695301 Aug  1 21:58 nagios-plugins-2.1.2.tar.gz

A continuació, compileu i instal·leu amb les ordres següents

 cd nagios-plugins-2.1.2
 ./configure 
 make
 make install

Establiu els permisos al directori del connector.

 chown nagios.nagios /usr/local/nagios
 chown -R nagios.nagios /usr/local/nagios/libexec

La majoria dels sistemes, està instal·lat per defecte. Si no, instal·leu el paquet xinetd utilitzant la següent comanda yum.

 yum install xinetd

-------------- On Fedora --------------
 dnf install xinetd

Baixeu els darrers paquets NRPE Plugin 3.2 amb l'ordre wget.

 cd /root/nagios
 wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz

Descomprimiu el fitxer tarball del codi font NRPE.

 tar xzf nrpe-3.2.1.tar.gz
 cd nrpe-3.2.1

Compileu i instal·leu el complement NRPE.

 ./configure
 make all

A continuació, instal·leu el dimoni del connector NRPE i el fitxer de configuració del dimoni de mostra.

 make install-plugin
 make install-daemon
 make install-daemon-config

Instal·leu el dimoni NRPE a xinetd com a servei.

 make install-xinetd
OR
 make install-inetd

Ara obriu el fitxer /etc/xinetd.d/nrpe i afegiu l'host local i l'adreça IP del servidor de monitorització de Nagios.

only_from = 127.0.0.1 localhost <nagios_ip_address>

A continuació, obriu el fitxer /etc/services afegiu l'entrada següent per al dimoni NRPE a la part inferior del fitxer.

nrpe            5666/tcp                 NRPE

Reinicieu el servei xinetd.

 service xinetd restart

Executeu l'ordre següent per verificar que el dimoni NRPE funciona correctament a xinetd.

 netstat -at | grep nrpe

tcp        0      0 *:nrpe                      *:*                         LISTEN

Si obteniu una sortida semblant a l'anterior, vol dir que funciona correctament. Si no, assegureu-vos de comprovar les coses següents.

  1. Comproveu que hàgiu afegit l'entrada nrpe correctament al fitxer /etc/services
  2. El only_from conté una entrada per a “nagios_ip_address” al fitxer /etc/xinetd.d/nrpe.
  3. El xinetd està instal·lat i iniciat.
  4. Comproveu si hi ha errors als fitxers de registre del sistema sobre xinetd o nrpe i solucioneu aquests problemes.

A continuació, comproveu que el dimoni NRPE funciona correctament. Executeu l'ordre check_nrpe que es va instal·lar anteriorment amb finalitats de prova.

 /usr/local/nagios/libexec/check_nrpe -H localhost

Obtindreu una cadena següent a la pantalla, que us mostra quina versió de NRPE està instal·lada:

NRPE v3.2

Assegureu-vos que el tallafoc de la màquina local permetrà accedir al dimoni NRPE des de servidors remots. Per fer-ho, executeu la següent comanda iptables.

-------------- On RHEL/CentOS 6/5 and Fedora --------------
 iptables -A INPUT -p tcp -m tcp --dport 5666 -j ACCEPT

-------------- On RHEL/CentOS 8/7 and Fedora 19 Onwards --------------
 firewall-cmd --permanent --zone=public --add-port=5666/tcp

Executeu l'ordre següent per desar la nova regla d'iptables perquè sobrevisqui als reinicis del sistema.

-------------- On RHEL/CentOS 6/5 and Fedora --------------
 service iptables save

El fitxer de configuració NRPE predeterminat que s'ha instal·lat té diverses definicions d'ordres que s'utilitzaran per supervisar aquesta màquina. El fitxer de configuració de mostra que es troba a.

 vi /usr/local/nagios/etc/nrpe.cfg

A continuació es mostren les definicions d'ordres per defecte que es troben a la part inferior del fitxer de configuració. De moment, suposem que utilitzeu aquestes ordres. Podeu comprovar-los mitjançant les ordres següents.

# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_users

USERS OK - 1 users currently logged in |users=1;5;10;0
# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_load

OK - load average: 3.90, 4.37, 3.94|load1=3.900;15.000;30.000;0; load5=4.370;10.000;25.000;0; load15=3.940;5.000;20.000;0;
# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_hda1

DISK OK - free space: /boot 154 MB (84% inode=99%);| /boot=29MB;154;173;0;193
# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_total_procs

PROCS CRITICAL: 297 processes
# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_zombie_procs

PROCS OK: 0 processes with STATE = Z

Podeu editar i afegir noves definicions d'ordres editant el fitxer de configuració NRPE. Finalment, heu instal·lat i configurat correctament l'agent NRPE a l'amfitrió Linux remot. Ara és el moment d'instal·lar un component NRPE i afegir alguns serveis al vostre servidor de monitorització de Nagios...

Ara inicieu sessió al vostre servidor de monitorització de Nagios. Aquí haureu de fer les coses següents:

  1. Instal·leu el connector check_nrpe.
  2. Creeu una definició d'ordres Nagios utilitzant el connector check_nrpe.
  3. Creeu l'amfitrió Nagios i afegiu definicions de servei per supervisar l'amfitrió Linux remot.

Aneu al directori de descàrregues de nagios i descarregueu el darrer connector NRPE amb l'ordre wget.

 cd /root/nagios
 wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz

Descomprimiu el fitxer tarball del codi font NRPE.

 tar xzf nrpe-3.2.1.tar.gz
 cd nrpe-3.2

Compileu i instal·leu el complement NRPE.

 ./configure
 make all
 make install-daemon

Assegureu-vos que el connector check_nrpe es pugui comunicar amb el dimoni NRPE a l'amfitrió Linux remot. Afegiu l'adreça IP a l'ordre següent amb l'adreça IP del vostre host Linux remot.

 /usr/local/nagios/libexec/check_nrpe -H <remote_linux_ip_address>

Rebreu una cadena que us mostra quina versió de NRPE està instal·lada a l'amfitrió remot, com aquesta:

NRPE v3.2

Si rebeu un error de temps d'espera del connector, comproveu les coses següents.

  1. Assegureu-vos que el vostre tallafoc no bloqueja la comunicació entre l'amfitrió remot i l'amfitrió de supervisió.
  2. Assegureu-vos que el dimoni NRPE estigui instal·lat correctament a xinetd.
  3. Assegureu-vos que el tallafoc de l'amfitrió remot de Linux impedeix que el servidor de supervisió es comuniqui amb el dimoni NRPE.

Afegint un host Linux remot al servidor de monitorització de Nagios

Per afegir un host remot, heu de crear dos fitxers nous hosts.cfg i services.cfg a la ubicació /usr/local/nagios/etc/.

 cd /usr/local/nagios/etc/
 touch hosts.cfg
 touch services.cfg

Ara afegiu aquests dos fitxers al fitxer de configuració principal de Nagios. Obriu el fitxer nagios.cfg amb qualsevol editor.

 vi /usr/local/nagios/etc/nagios.cfg

Ara afegiu els dos fitxers de nova creació tal com es mostra a continuació.

# You can specify individual object config files as shown below:
cfg_file=/usr/local/nagios/etc/hosts.cfg
cfg_file=/usr/local/nagios/etc/services.cfg

Ara obriu el fitxer hosts.cfg i afegiu el nom de la plantilla d'amfitrió predeterminat i definiu els amfitrions remots com es mostra a continuació. Assegureu-vos de substituir host_name, àlies i adreça amb els detalls del vostre servidor d'amfitrió remot.

 vi /usr/local/nagios/etc/hosts.cfg
## Default Linux Host Template ##
define host{
name                            linux-box               ; Name of this template
use                             generic-host            ; Inherit default values
check_period                    24x7        
check_interval                  5       
retry_interval                  1       
max_check_attempts              10      
check_command                   check-host-alive
notification_period             24x7    
notification_interval           30      
notification_options            d,r     
contact_groups                  admins  
register                        0                       ; DONT REGISTER THIS - ITS A TEMPLATE
}

## Default
define host{
use                             linux-box               ; Inherit default values from a template
host_name                       tecmint		        ; The name we're giving to this server
alias                           CentOS 6                ; A longer name for the server
address                         5.175.142.66            ; IP address of Remote Linux host
}

A continuació, obriu el fitxer services.cfg i afegiu els serveis següents per supervisar.

 vi /usr/local/nagios/etc/services.cfg
define service{
        use                     generic-service
        host_name               tecmint
        service_description     CPU Load
        check_command           check_nrpe!check_load
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     Total Processes
        check_command           check_nrpe!check_total_procs
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     Current Users
        check_command           check_nrpe!check_users
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     SSH Monitoring
        check_command           check_nrpe!check_ssh
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     FTP Monitoring
        check_command           check_nrpe!check_ftp
        }

Ara s'ha de crear la definició de l'ordre NRPE al fitxer commands.cfg.

 vi /usr/local/nagios/etc/objects/commands.cfg

Afegiu la següent definició d'ordres NRPE a la part inferior del fitxer.

###############################################################################
# NRPE CHECK COMMAND
#
# Command to use NRPE to check remote host systems
###############################################################################

define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }

Finalment, verifiqueu els fitxers de configuració de Nagios per detectar qualsevol error.

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

Total Warnings: 0
Total Errors:   0

Reinicieu Nagios:

 service nagios restart

Això és. Ara aneu a la interfície web de monitorització de Nagios a \http://Your-server-IP-address/nagios o \http://FQDN/nagios i proporcioneu el nom d'usuari \nagiosadmin i la contrasenya. Comproveu que el Remote S'ha afegit Linux Host i s'està supervisant.

Això és! de moment, al nostre proper article us mostraré com afegir l'amfitrió de Windows al servidor de monitorització de Nagios. Si teniu cap dificultat per afegir l'amfitrió remot a Nagios. Si us plau, comenteu les vostres consultes o problemes a través de la secció de comentaris, fins aleshores estigueu atents a linux-console.net per obtenir més articles tan valuosos.