Wéi füügt Linux Host op Nagios Monitoring Server mat NRPE Plugin


An eisem éischten Deel vun dësem Artikel hu mir am Detail erkläert wéi Dir déi lescht Nagios 4.4.5 op RHEL/CentOS 8/7 an Fedora 30 Server installéiere kënnt an konfiguréieren. An dësem Artikel wäerte mir Iech weisen wéi Dir Remote Linux Maschinn addéiere kënnt an et ass Servicer fir Nagios Monitoring Host mat NRPE Agent.

Mir hoffen Dir hutt schonn Nagios installéiert a richteg lafen. Wann net, benotzt w.e.g. de folgenden Installatiounsguide fir se um System z'installéieren.

  1. Wéi installéiert Nagios 4.4.5 op RHEL/CentOS 8/7 a Fedora 30
  2. Wéi füügt Windows Host op Nagios Iwwerwaachungsserver

Wann Dir installéiert hutt, kënnt Dir weiderfuere fir den NRPE Agent op Ärem Remote Linux Host z'installéieren. Ier Dir weider geet, loosst eis Iech eng kuerz Beschreiwung vum NRPE ginn.

Wat ass NRPE?

Den NRPE (Nagios Remote Plugin Executor) Plugin erlaabt Iech all Remote Linux/Unix Servicer oder Netzwierkapparater ze iwwerwaachen. Dësen NRPE Add-on erlaabt Nagios all lokal Ressourcen wéi CPU Belaaschtung, Swap, Memory Notzung, Online Benotzer, etc. op Remote Linux Maschinnen ze iwwerwaachen. No allem sinn dës lokal Ressourcen net meeschtens op externe Maschinnen ausgesat, en NRPE Agent muss op de Fernmaschinnen installéiert a konfiguréiert ginn.

Bemierkung: Den NRPE Addon erfuerdert datt Nagios Plugins mussen op der Remote Linux Maschinn installéiert ginn. Ouni dës funktionnéiert den NRPE Daemon net a wäert näischt iwwerwaachen.

Installatioun vun NRPE Plugin

Fir den NRPE ze benotzen, musst Dir e puer zousätzlech Aufgaben op béide Nagios Monitoring Host a Remote Linux Host maachen, op deem den NRPE installéiert ass. Mir wäerte béid Installatiounsdeeler separat ofdecken.

Mir huelen un datt Dir den NRPE op engem Host installéiert deen TCP Wrapper an Xinted Daemon ënnerstëtzt, deen drop installéiert ass. Haut hunn déi meescht vun de modernen Linux Verdeelungen dës zwee Standard installéiert. Wann net, installéiere mir et spéider während der Installatioun wann néideg.

Benotzt w.e.g. d'Instruktioune hei ënnen fir Nagios Plugins an NRPE Daemon op dem Remote Linux Host z'installéieren.

Mir mussen erfuerderlech Bibliothéike wéi gcc, glibc, glibc-common an GD a seng Entwécklungsbibliothéike installéieren ier Dir installéiert.

 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

Erstellt en neie Nagios Benotzerkont a setzt e Passwuert.

 useradd nagios
 passwd nagios

Erstellt e Verzeechnes fir d'Installatioun an all seng zukünfteg Downloads.

 cd /root/nagios

Luet elo déi lescht Nagios Plugins 2.1.2 Package mat wget Kommando erof.

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

Fëllt de folgenden Tar Kommando fir de Quellcode Tarball ze extrahieren.

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

Duerno erschéngt en neien Dossier extrahéieren an deem Verzeichnis.

 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

Als nächst, kompiléieren an installéieren mat de folgende Kommandoen

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

Setzt d'Permissiounen am Plugin-Verzeichnis.

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

Déi meescht vun de Systemer, et ass par défaut installéiert. Wann net, installéiert xinetd Package mat dem folgenden Yum Kommando.

 yum install xinetd

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

Luet déi lescht NRPE Plugin 3.2 Packagen mat wget Kommando erof.

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

Auspacken den NRPE Quellcode Tarball.

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

Kompiléieren an installéieren den NRPE Addon.

 ./configure
 make all

Als nächst installéiert den NRPE Plugin Daemon, a Probe Daemon Configuratiounsdatei.

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

Installéiert den NRPE Daemon ënner xinetd als Service.

 make install-xinetd
OR
 make install-inetd

Elo oppen /etc/xinetd.d/nrpe Datei a fügen d'Lokalhost an d'IP Adress vum Nagios Monitoring Server un.

only_from = 127.0.0.1 localhost <nagios_ip_address>

Als nächst, oppen /etc/services Datei füügt déi folgend Entrée fir den NRPE Daemon um Enn vun der Datei.

nrpe            5666/tcp                 NRPE

Restart de xinetd Service.

 service xinetd restart

Fëllt de folgende Kommando aus fir z'iwwerpréiwen datt den NRPE-Daemon korrekt funktionnéiert ënner xinetd.

 netstat -at | grep nrpe

tcp        0      0 *:nrpe                      *:*                         LISTEN

Wann Dir Ausgab ähnlech wéi hei uewen kritt, heescht datt et richteg funktionnéiert. Wann net, gitt sécher déi folgend Saachen ze kontrolléieren.

  1. Kontrolléiert datt Dir den nrpe Entrée korrekt an /etc/services Datei bäigefüügt hutt
  2. Den only_from enthält eng Entrée fir nagios_ip_address an der /etc/xinetd.d/nrpe Datei.
  3. Den xinetd ass installéiert a gestart.
  4. Kuckt op d'Feeler an de System Logdateien fir ongeféier xinetd oder nrpe a fixéiert dës Probleemer.

Als nächst, kontrolléiert datt den NRPE Daemon richteg funktionnéiert. Fëllt de Kommando check_nrpe aus, dee virdru fir Testzwecker installéiert gouf.

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

Dir kritt eng folgend String um Écran, et weist Iech wéi eng Versioun vum NRPE installéiert ass:

NRPE v3.2

Vergewëssert Iech datt d'Firewall op der lokaler Maschinn erlaabt datt den NRPE Daemon vun Remote Server zougänglech ass. Fir dëst ze maachen, fuert de folgenden iptables Kommando.

-------------- 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

Fëllt de folgende Kommando aus fir déi nei iptables-Regel ze späicheren, sou datt et bei System Neistart iwwerlieft.

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

D'Standard NRPE Konfiguratiounsdatei, déi installéiert gouf, huet verschidde Kommandodefinitioune, déi benotzt gi fir dës Maschinn ze iwwerwaachen. D'Probe Configuratiounsdatei läit op.

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

Déi folgend sinn d'Default Kommando Definitiounen déi um Enn vun der Konfiguratiounsdatei sinn. Fir de Moment huelen mir un datt Dir dës Kommandoen benotzt. Dir kënnt se kontrolléieren andeems Dir déi folgend Kommandoen benotzt.

# /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

Dir kënnt nei Kommandodefinitioune änneren an addéieren andeems Dir d'NRPE Configuratiounsdatei ännert. Endlech hutt Dir den NRPE Agent am Remote Linux Host installéiert a konfiguréiert. Elo ass et Zäit eng NRPE Komponent z'installéieren an e puer Servicer op Ärem Nagios Monitoring Server ze addéieren ...

Elo loggt Iech an Ärem Nagios Monitoring Server un. Hei musst Dir déi folgend Saache maachen:

  1. Installéiert de check_nrpe Plugin.
  2. Erstellt eng Nagios Kommandodefinitioun mat dem check_nrpe Plugin.
  3. Erstellt Nagios Host a füügt Servicedefinitioune derbäi fir de Remote Linux Host ze iwwerwaachen.

Gitt an den nagios Download Verzeichnis an luet de leschten NRPE Plugin mat wget Kommando erof.

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

Auspacken den NRPE Quellcode Tarball.

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

Kompiléieren an installéieren den NRPE Addon.

 ./configure
 make all
 make install-daemon

Vergewëssert Iech datt de check_nrpe Plugin mat dem NRPE Daemon op dem Remote Linux Host kommunizéieren kann. Füügt d'IP Adress am Kommando hei ënnen mat der IP Adress vun Ärem Remote Linux Host.

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

Dir kritt e String zréck, deen Iech weist wéi eng Versioun vum NRPE um Fernhost installéiert ass, sou:

NRPE v3.2

Wann Dir e Plugin Time-out Feeler kritt, da kontrolléiert déi folgend Saachen.

  1. Vergewëssert Iech datt Är Firewall d'Kommunikatioun tëscht dem Fernhost an dem Iwwerwaachungshost net blockéiert.
  2. Vergewëssert Iech datt den NRPE Daemon korrekt ënner xinetd installéiert ass.
  3. Vergewëssert Iech datt d'Remote Linux Host Firewall Regelen blockéieren den Iwwerwaachungsserver fir mam NRPE Daemon ze kommunizéieren.

Füügt Remote Linux Host op Nagios Monitoring Server

Fir e Fernhost ze addéieren, musst Dir zwee nei Dateien hosts.cfg an services.cfg ënner /usr/local/nagios/etc/ Location erstellen.

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

Füügt elo dës zwee Dateien an d'Haapt Nagios Konfiguratiounsdatei. Open nagios.cfg Datei mat all Redakter.

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

Füügt elo déi zwee nei erstallt Dateien un wéi hei ënnendrënner.

# 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

Elo oppen hosts.cfg Datei a füügt den Default-Host-Templatenumm derbäi an definéiert Remote Hosts wéi hei ënnendrënner. Vergewëssert Iech Host_name, Alias an Adress mat Äre Remote Host Server Detailer ze ersetzen.

 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
}

Als nächst oppen services.cfg Datei a füügt déi folgend Servicer un fir ze iwwerwaachen.

 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
        }

Elo muss NRPE Kommando Definitioun an commands.cfg Fichier erstallt ginn.

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

Füügt déi folgend NRPE Kommando Definitioun um Enn vun der Datei.

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

Endlech, z'iwwerpréiwen Nagios Konfiguratiounsdateien fir all Feeler.

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

Total Warnings: 0
Total Errors:   0

Nagios nei starten:

 service nagios restart

Dat ass et. Gitt elo op Nagios Monitoring Web Interface op \http://Your-server-IP-address/nagios oder \http://FQDN/nagios a gitt de Benotzernumm \nagiosadmin a Passwuert. Kontrolléiert datt de Remote Linux Host gouf bäigefüügt a gëtt iwwerwaacht.

Dat ass et! fir elo, an eisem meng Upëff Artikel weisen ech Iech wéi Dir Windows Host op Nagios Iwwerwachung Server bäidréit. Wann Dir Schwieregkeeten hutt wärend Dir de Fernhost op Nagios bäidréit. Kommentéiert w.e.g. Är Ufroen oder Probleemer iwwer d'Kommentarsektioun, bis dann bleift ofgeschloss op linux-console.net fir méi sou wäertvoll Artikelen.