Zoeken op website

Hoe u externe Linux aan de Nagios-server kunt toevoegen met behulp van de NRPE-plug-in


In het eerste deel van het artikel uit de Nagios-serie hebben we in detail uitgelegd hoe u de nieuwste versie van Nagios Core en Nagios Plugins installeert en configureert in op RHEL gebaseerde distributies zoals als CentOS Stream, Rocky Linux, AlmaLinux, en Fedora.

In dit artikel laten we u zien hoe u een Remote Linux machine en de bijbehorende services kunt toevoegen aan de Nagios Core Monitoring host met behulp van NRPE (Nagios Remote Plugin Executor)-agent.

We hopen dat Nagios Core al is geïnstalleerd en correct werkt. Als dit niet het geval is, gebruik dan de volgende installatiegids om het op het systeem te installeren.

Als u van plan bent een externe Windows-host toe te voegen aan de Nagios-monitoringserver, gebruikt u de volgende handleiding:

Zodra u deze heeft geïnstalleerd, kunt u verdergaan met het installeren van de NRPE-agent op uw Remote Linux-host. Voordat we verder gaan, geven we u eerst een korte beschrijving van NRPE.

Wat is NRPE?

Met de plug-in NRPE (Nagios Remote Plugin Executor) kunt u alle externe Linux/Unix-services en netwerkapparaten monitoren , of bronnen zoals CPU-belasting, Swap, Geheugengebruik, Online gebruikers, etc. op lokale/externe Linux machines.

Deze lokale bronnen zijn immers niet grotendeels blootgesteld aan externe machines; er moet een NRPE agent worden geïnstalleerd en geconfigureerd op de externe machines.

Opmerking: De NRPE add-on vereist dat Nagios Plugins op de externe Linux-machine worden geïnstalleerd. Zonder deze zal de NRPE daemon niet werken en niets controleren.

Installatie van NRPE-plug-in in Nagios Server en Remote Linux Host

Om de NRPE te gebruiken, moet u een aantal extra taken uitvoeren op zowel de Nagios Monitoring Server als de Remote Linux Host waarop de NRPE is geïnstalleerd op. Beide installatiedelen behandelen we afzonderlijk.

Nagios-plug-ins en NRPE installeren op een externe Linux-host

Gebruik de onderstaande instructies om Nagios Plugins en NRPE daemon op de Remote Linux Host te installeren.

Stap 1: Installeer de vereiste afhankelijkheden

We moeten vereiste bibliotheken zoals gcc, glibc, glibc-common, en GD en de bijbehorende ontwikkelingsbibliotheken installeren met behulp van de yum-pakketbeheerder.

yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel tar wget
Stap 2: Maak een Nagios-gebruiker aan

Maak een nieuw nagios-gebruikersaccount aan en stel een wachtwoord in.

useradd nagios
passwd nagios
Stap 3: Installeer de Nagios-plug-ins

Maak een map voor de installatie van de nagios-plug-in en alle toekomstige downloads.

mkdir /root/nagios
cd /root/nagios

Download nu het nieuwste Nagios Plugins-pakket met de opdracht wget.

wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
Stap 4: Pak Nagios-plug-ins uit

Voer de volgende tar-opdracht uit om de tarball van de broncode te extraheren.

tar -xvf nagios-plugins-2.3.3.tar.gz

Daarna zal het uitpakken van een nieuwe map in die map verschijnen.

ls -l

total 2724
drwxr-xr-x. 15 root root    4096 Mar 11  2020 nagios-plugins-2.3.3
-rw-r--r--.  1 root root 2782610 Mar 11  2020 nagios-plugins-2.3.3.tar.gz
Stap 5: Compileer en installeer Nagios-plug-ins

Compileer en installeer vervolgens nagios-plug-ins met behulp van de volgende opdrachten

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

Stel de machtigingen voor de plug-inmap in met behulp van de opdracht cho.

chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec
Stap 6: NRPE-plug-in installeren

Om de nrpe-plug-in te installeren, downloadt u eerst de nieuwste NRPE-plug-in of gebruikt u de volgende wget-opdracht.

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

Pak de tarball van de NRPE-broncode uit.

tar xzf nrpe-4.0.2.tar.gz
cd nrpe-4.0.2

Compileer en installeer de NRPE add-on.

./configure
make all

Opmerking: Als u de volgende foutmelding krijgt tijdens het uitvoeren van de opdracht ‘make all‘:

In file included from ../include/common.h:34,
                 from ./nrpe.c:38:
/usr/include/openssl/err.h:413:15: note: declared here
  413 | unsigned long ERR_get_error_line_data(const char **file, int *line,
      |               ^~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/ccWQBjHb.o: in function `init_ssl':
/root/nagios/nrpe-4.0.2/src/./nrpe.c:474: undefined reference to `get_dh2048'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:48: nrpe] Error 1

Vervolgens moet u SSL voor nrpe-configuratie uitschakelen met de vlag ./configure --disable-ssl, zoals weergegeven.

./configure --disable-ssl
make all

Installeer vervolgens de NRPE-plug-in-daemon en voorbeeldconfiguratiebestanden.

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

Installeer de NRPE daemon onder systemd als een service.

make install-init
Stap 7: NRPE-plug-in configureren

Open nu het bestand /usr/local/nagios/etc/nrpe.cfg en voeg de lokale host en het IP-adres van de Nagios toe Bewakingsserver.

allowed_hosts=127.0.0.1,192.168.102

Schakel vervolgens de nrpe-service in en start deze opnieuw.

systemctl enable nrpe
systemctl restart nrpe
Stap 8: Open de NRPE-poort in Firewall

Zorg ervoor dat de Firewall op de lokale machine toestaat dat de NRPE daemon toegankelijk is vanaf externe servers. Om dit te doen, voert u de volgende iptables-opdracht uit.

firewall-cmd --zone=public --add-port=5666/tcp
firewall-cmd --zone=public --add-port=5666/tcp --permanent
Stap 8: Controleer NRPE Daemon lokaal

Voer de volgende netstat-opdracht uit om te verifiëren dat de NRPE-daemon correct werkt onder systemd.


# netstat -at | grep nrpe
OR
netstat -na | grep "5666"


tcp        0      0 0.0.0.0:nrpe            0.0.0.0:*               LISTEN     
tcp6       0      0 [::]:nrpe               [::]:*                  LISTEN 

Als u een uitvoer krijgt die vergelijkbaar is met de bovenstaande, betekent dit dat deze correct werkt. Als dit niet het geval is, controleer dan de volgende zaken.

  • Zorg ervoor dat u controleert of de nrpe-invoer correct is toegevoegd in het bestand /etc/services.
  • De allowed_hosts bevat een vermelding voor “nagios_ip_address” in het /usr/local/nagios/etc/nrpe.cfg bestand.
  • Controleer de systeemlog-bestanden voor ongeveer nrpe op fouten en los deze problemen op.

Controleer vervolgens of de NRPE-daemon correct functioneert door de opdracht “check_nrpe” uit te voeren die eerder voor testdoeleinden is geïnstalleerd.

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

Je krijgt de volgende string op het scherm, deze laat zien welke versie van NRPE is geïnstalleerd:

NRPE v4.0.2
Stap 9: NRPE-opdrachten aanpassen

Het standaard NRPE-configuratiebestand dat is geïnstalleerd, heeft verschillende opdrachtdefinities die zullen worden gebruikt om deze machine te monitoren. Het voorbeeldconfiguratiebestand bevindt zich op.

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

Hieronder volgen de standaardopdrachtdefinities die zich onderaan het configuratiebestand bevinden. Voorlopig gaan we ervan uit dat u deze opdrachten gebruikt. U kunt ze controleren met behulp van de volgende opdrachten.

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_users

USERS OK - 1 users currently logged in |users=1;5;10;0
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -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 127.0.0.1 -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 127.0.0.1 -c check_total_procs

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

PROCS OK: 0 processes with STATE = Z

U kunt nieuwe opdrachtdefinities bewerken en toevoegen door het NRPE-configuratiebestand te bewerken. Ten slotte hebt u met succes de NRPE-agent geïnstalleerd en geconfigureerd op de Remote Linux Host.

Nu is het tijd om een NRPE component te installeren en enkele services toe te voegen aan uw Nagios Monitoring Server...

NRPE installeren op de Nagios Monitoring Server

Log nu in op uw Nagios Monitoring Server. Hier moet u de volgende dingen doen:

  • Installeer de plug-in check_nrpe.
  • Maak een Nagios-opdrachtdefinitie met behulp van de plug-in check_nrpe.
  • Maak een Nagios-host en voeg servicedefinities toe voor het monitoren van de externe Linux-host.
Stap 1: Installeer de NRPE-plug-in in Nagios

Ga naar de nagios-downloadmap en download de nieuwste NRPE-plug-in of gebruik de volgende wget-opdracht.

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

Pak de tarball van de NRPE-broncode uit.

tar xzf nrpe-4.0.2.tar.gz
cd nrpe-4.0.2

Compileer en installeer de NRPE-add-on.

./configure
make all
make install-plugin
make install-daemon
make install-init
Stap 2: Verifieer NRPE Daemon op afstand

Zorg ervoor dat de check_nrpe plug-in kan communiceren met de NRPE daemon op de externe Linux host. Voeg het IP-adres in de onderstaande opdracht toe met het IP-adres van uw Remote Linux-host.

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

U krijgt een tekenreeks terug die u laat zien welke versie van NRPE op de externe host is geïnstalleerd, zoals deze:

NRPE v4.0.2

Als u een time-outfout voor de plug-in ontvangt, controleer dan de volgende zaken.

  • Zorg ervoor dat uw firewall de communicatie tussen de externe host en de monitoringhost niet blokkeert.
  • Zorg ervoor dat de NRPE daemon correct is geïnstalleerd onder systemd.
  • Zorg ervoor dat de remote Linux hostfirewallregels voorkomen dat de monitoringserver communiceert met de NRPE daemon.

Externe Linux-host toevoegen aan Nagios Monitoring Server

Om een externe host toe te voegen, moet u twee nieuwe bestanden “hosts.cfg” en “services.cfg” maken onder “/usr/local/nagios/ etc/” locatie.

Stap 1: Nagios-host- en servicesbestand maken
cd /usr/local/nagios/etc/
touch hosts.cfg
touch services.cfg

Voeg nu deze twee bestanden toe aan het hoofdconfiguratiebestand van Nagios. Open het bestand nagios.cfg met een willekeurige editor.

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

Voeg nu de twee nieuw gemaakte bestanden toe, zoals hieronder weergegeven.

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
Stap 2: Nagios host- en servicesbestand configureren

Open nu het hosts.cfg bestand en voeg de standaard hostsjabloonnaam toe en definieer externe hosts zoals hieronder weergegeven. Zorg ervoor dat u hostnaam, alias en adres vervangt door de gegevens van uw externe hostserver.

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
}

Open vervolgens het bestand services.cfg en voeg de volgende services toe die u wilt monitoren.

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
        }
Stap 3: NRPE-opdrachtdefinitie configureren

Nu moet de NRPE-opdrachtdefinitie worden aangemaakt in het bestand commands.cfg.

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

Voeg de volgende NRPE-opdrachtdefinitie toe onder aan het bestand.

###############################################################################
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$
        }

Controleer ten slotte de Nagios-configuratiebestanden op eventuele fouten.

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

Total Warnings: 0
Total Errors:   0

Start ten slotte Nagios opnieuw op om recente configuratiewijzigingen toe te passen:

systemctl restart nagios
Stap 4: Linux op afstand monitoren in Nagios

Ga nu naar de Nagios Monitoring Web-interface op “http://Your-server-IP-address/nagios” of “http://FQDN/nagios ” en geef de gebruikersnaam “nagiosadmin ” en wachtwoord op. Controleer of de Remote Linux Host is toegevoegd en wordt gecontroleerd.

Conclusie

Dat is het! voorlopig laat ik je in mijn komende artikel zien hoe je een Windows-host toevoegt aan Nagios monitoring Server. Als u problemen ondervindt bij het toevoegen van de externe host aan Nagios.

Geef alstublieft commentaar op uw vragen of probleem via de commentaarsectie. Houd tot die tijd linux-console.net in de gaten voor meer van dergelijke waardevolle artikelen.