Vyhledávání na webu

Jak přidat vzdálený Linux na server Nagios pomocí pluginu NRPE


V první části článku série Nagios jsme podrobně vysvětlili, jak nainstalovat a nakonfigurovat nejnovější verzi Nagios Core a Nagios Plugins v distribucích založených na RHEL, jako je např. jako CentOS Stream, Rocky Linux, AlmaLinux a Fedora.

V tomto článku vám ukážeme, jak přidat počítač Remote Linux a jeho služby k hostiteli Nagios Core Monitoring pomocí NRPE (Nagios Remote Plugin Executor).

Doufáme, že již máte Nagios Core nainstalované a běží správně. Pokud ne, použijte k instalaci do systému následující instalační průvodce.

Pokud plánujete přidat vzdáleného hostitele Windows na monitorovací server Nagios, použijte následující průvodce:

Jakmile jej nainstalujete, můžete pokračovat v instalaci agenta NRPE na hostitele Remote Linux. Než se vydáte dále, dovolte nám, abychom vám poskytli krátký popis NRPE.

Co je NRPE?

Plugin NRPE (Nagios Remote Plugin Executor) vám umožňuje sledovat jakékoli vzdálené služby Linux/Unix, síťová zařízení nebo zdroje jako Zatížení CPU, Swap, Využití paměti, Online uživatelé atd. v místním/vzdáleném systému Linux stroje.

Koneckonců, tyto místní zdroje nejsou většinou vystaveny externím počítačům, na vzdálených počítačích musí být nainstalován a konfigurován agent NRPE.

Poznámka: Doplněk NRPE vyžaduje, aby byly na vzdáleném počítači se systémem Linux nainstalovány Nagios Plugins. Bez nich nebude démon NRPE fungovat a nebude nic monitorovat.

Instalace pluginu NRPE na serveru Nagios a vzdáleném hostiteli Linuxu

Chcete-li použít NRPE, budete muset provést některé další úkoly na Nagios Monitoring Server a Remote Linux Host, kde je NRPE nainstalován. na. Obě části instalace pokryjeme samostatně.

Instalace pluginů Nagios a NRPE na vzdáleném hostiteli Linuxu

Pomocí níže uvedených pokynů nainstalujte Nagios Plugins a démona NRPE na Remote Linux Host.

Krok 1: Nainstalujte požadované závislosti

Potřebujeme nainstalovat požadované knihovny jako gcc, glibc, glibc-common a GD a jejich vývojové knihovny pomocí správce yum balíčků.

yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel tar wget
Krok 2: Vytvořte uživatele Nagios

Vytvořte nový uživatelský účet nagios a nastavte heslo.

useradd nagios
passwd nagios
Krok 3: Nainstalujte pluginy Nagios

Vytvořte adresář pro instalaci pluginu nagios a všechna jeho budoucí stahování.

mkdir /root/nagios
cd /root/nagios

Nyní si stáhněte nejnovější balíček Nagios Plugins pomocí příkazu wget.

wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
Krok 4: Extrahujte pluginy Nagios

Spusťte následující příkaz tar a extrahujte zdrojový kód tarball.

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

Poté se v tomto adresáři objeví extrahování jedné nové složky.

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
Krok 5: Zkompilujte a nainstalujte pluginy Nagios

Dále zkompilujte a nainstalujte nagios pluginy pomocí následujících příkazů

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

Nastavte oprávnění pro adresář zásuvných modulů pomocí příkazu chown.

chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec
Krok 6: Instalace pluginu NRPE

Chcete-li nainstalovat plugin nrpe, nejprve si stáhněte nejnovější plugin NRPE nebo použijte následující příkaz wget.

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

Rozbalte tarball zdrojového kódu NRPE.

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

Zkompilujte a nainstalujte doplněk NRPE.

./configure
make all

Poznámka: Pokud se při spuštění příkazu „vytvořit vše“ zobrazí následující chyba:

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

Poté musíte deaktivovat SSL pro konfiguraci nrpe pomocí parametru ./configure --disable-ssl, jak je znázorněno.

./configure --disable-ssl
make all

Dále nainstalujte démona pluginu NRPE a ukázkové konfigurační soubory.

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

Nainstalujte démona NRPE pod systemd jako službu.

make install-init
Krok 7: Konfigurace pluginu NRPE

Nyní otevřete soubor /usr/local/nagios/etc/nrpe.cfg a přidejte místního hostitele a IP adresu Nagios Monitorovací server.

allowed_hosts=127.0.0.1,192.168.102

Dále povolte a restartujte službu nrpe.

systemctl enable nrpe
systemctl restart nrpe
Krok 8: Otevřete port NRPE ve Firewallu

Ujistěte se, že Firewall na místním počítači umožní démonovi NRPE přístup ze vzdálených serverů. Chcete-li to provést, spusťte následující příkaz iptables.

firewall-cmd --zone=public --add-port=5666/tcp
firewall-cmd --zone=public --add-port=5666/tcp --permanent
Krok 8: Lokálně ověřte démona NRPE

Spuštěním následujícího příkazu netstat ověřte, že démon NRPE funguje správně pod 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 

Pokud získáte výstup podobný výše uvedenému, znamená to, že funguje správně. Pokud ne, zkontrolujte následující věci.

  • Ujistěte se, že je položka nrpe správně přidána do souboru/etc/services.
  • allowed_hosts obsahuje záznam pro „nagios_ip_address“ v souboru /usr/local/nagios/etc/nrpe.cfg.
  • Zkontrolujte chyby v souborech systémového protokolu o nrpe a opravte tyto problémy.

Dále ověřte, zda démon NRPE funguje správně, spuštěním příkazu „check_nrpe“, který byl dříve nainstalován pro účely testování.

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

Na obrazovce se zobrazí následující řetězec, který vám ukáže, jaká verze NRPE je nainstalována:

NRPE v4.0.2
Krok 9: Přizpůsobte příkazy NRPE

Výchozí konfigurační soubor NRPE, který byl nainstalován, má několik definic příkazů, které budou použity k monitorování tohoto počítače. Ukázkový konfigurační soubor se nachází na adrese.

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

Níže jsou uvedeny výchozí definice příkazů, které jsou umístěny ve spodní části konfiguračního souboru. Prozatím předpokládáme, že používáte tyto příkazy. Můžete je zkontrolovat pomocí následujících příkazů.

/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

Můžete upravit a přidat nové definice příkazů úpravou konfiguračního souboru NRPE. Nakonec jste úspěšně nainstalovali a nakonfigurovali agenta NRPE na Vzdáleném hostiteli Linuxu.

Nyní je čas nainstalovat komponentu NRPE a přidat nějaké služby na váš Nagios Monitoring Server

Instalace NRPE na Nagios Monitoring Server

Nyní se přihlaste ke svému Nagios Monitoring Server. Zde budete muset provést následující věci:

  • Nainstalujte plugin check_nrpe.
  • Vytvořte definici příkazu Nagios pomocí pluginu check_nrpe.
  • Vytvořte hostitel Nagios a přidejte definice služeb pro monitorování vzdáleného hostitele Linux.
Krok 1: Nainstalujte NRPE Plugin do Nagios

Přejděte do adresáře pro stahování nagios a stáhněte si nejnovější NRPE Plugin nebo použijte následující příkaz wget.

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

Rozbalte tarball zdrojového kódu NRPE.

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

Zkompilujte a nainstalujte doplněk NRPE.

./configure
make all
make install-plugin
make install-daemon
make install-init
Krok 2: Vzdáleně ověřte démona NRPE

Ujistěte se, že plugin check_nrpe může komunikovat s démonem NRPE na vzdáleném hostiteli Linuxu. Přidejte IP adresu do příkazu níže s IP adresou svého hostitele Vzdáleného Linuxu.

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

Získáte zpět řetězec, který vám ukáže, jaká verze NRPE je nainstalována na vzdáleném hostiteli, takto:

NRPE v4.0.2

Pokud se zobrazí chyba vypršení časového limitu pluginu, zkontrolujte následující věci.

  • Ujistěte se, že váš firewall neblokuje komunikaci mezi vzdáleným hostitelem a sledovacím hostitelem.
  • Ujistěte se, že je démon NRPE správně nainstalován pod systemd.
  • Ujistěte se, že pravidla brány firewall hostitele vzdáleného Linuxu blokují monitorovací server v komunikaci s démonem NRPE.

Přidání vzdáleného hostitele Linuxu na server Nagios Monitoring Server

Chcete-li přidat vzdáleného hostitele, musíte vytvořit dva nové soubory „hosts.cfg“ a „services.cfg“ pod „/usr/local/nagios/ atd/” umístění.

Krok 1: Vytvoření souboru hostitele a služeb Nagios
cd /usr/local/nagios/etc/
touch hosts.cfg
touch services.cfg

Nyní přidejte tyto dva soubory do hlavního konfiguračního souboru Nagios. Otevřete soubor nagios.cfg v libovolném editoru.

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

Nyní přidejte dva nově vytvořené soubory, jak je znázorněno níže.

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
Krok 2: Konfigurace souboru hostitele a služeb Nagios

Nyní otevřete soubor hosts.cfg a přidejte výchozí název šablony hostitele a definujte vzdálené hostitele, jak je uvedeno níže. Nezapomeňte nahradit název_hostitele, alias a adresu podrobnostmi o vzdáleném hostitelském serveru.

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
}

Dále otevřete soubor services.cfg a přidejte následující služby, které chcete monitorovat.

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
        }
Krok 3: Konfigurace definice příkazu NRPE

Nyní je potřeba vytvořit definici příkazu NRPE v souboru commands.cfg.

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

Přidejte následující definici příkazu NRPE na konec souboru.

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

Nakonec zkontrolujte konfigurační soubory Nagios, zda neobsahují chyby.

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

Total Warnings: 0
Total Errors:   0

Nakonec restartujte Nagios, abyste použili nedávné změny konfigurace:

systemctl restart nagios
Krok 4: Monitorování vzdáleného Linuxu v Nagios

Nyní přejděte do rozhraní Nagios Monitoring Web na adrese „http://IP-adresa-vašeho-serveru/nagios“ nebo „http://FQDN/nagios ” a zadejte uživatelské jméno „nagiosadmin “ a heslo. Zkontrolujte, zda byl přidán Vzdálený hostitel Linux a zda je monitorován.

Závěr

A je to! prozatím vám ve svém nadcházejícím článku ukážu, jak přidat hostitele Windows na Nagios monitorovací server. Pokud při přidávání vzdáleného hostitele do Nagios narazíte na nějaké potíže.

Vyjádřete se ke svým dotazům nebo problémům prostřednictvím sekce komentářů a do té doby zůstaňte naladěni na linux-console.net, kde najdete více takových cenných článků.