Plugin Icinga NRPE

Z Thomas-Krenn-Wiki
Przejdź do nawigacji Przejdź do wyszukiwania

Nagios Remote Plugin Executor (NRPE) jest modułem umożliwiającym uruchomienie pluginów Nadios/Icinga na zdalnych maszynach i edycje ich wyników na lokalnym komputerze. NRPE może zostać zastosowany w przypadku gdy SNMP nie może, lub nie będzie wykorzystywany.[1] Alternatywą NRPE jest "check_by_ssh", który w celu monitorowania zdalnych celi tworzy połączenie SSH.[2] Jeżeli check_nrpe ma również korzystać z szyfrowanego połączenia zalecane jest korzystanie z SSL. Ten artykuł pokazuje konfiguracje klienta Nagios/Icinga i Icinga Server w Debianie Squeeze, która umożliwia uruchomienie pluginów na kliencie za pośrednictwem "check_nrpe".

Klient Nagios/Icinga

Klient Nagios / Icinga reprezentuje zdalny komputer, który ma być monitorowany przez NRPE. Dlatego na początku instalowany jest serwer NRPE:

sudo apt-get install nagios-nrpe-server

Aby serwer Icinga mógł się połączyć z daemonem musi zostać podany w pliku konfiguracyjnym jego adres IP (w tym przypadku 10.0.0.3):[3]

sudo vi /etc/nagios/nrpe.cfg
...
allowed_hosts=127.0.0.1,10.0.0.3
...

Na koniec określany jest dostęp daemona nrpe do pluginów nagios. Po instalacji (np. poprzez pakiet "nagios-plugins") powinny znajdować się one w "/usr/lib/nagios/plugins/". Aby daemon nrpe mógł poprawnie zinterpretować komendę "check_load" określone zostaje w pliku konfiguracyjnym, do którego piku plugina on się odwołuje. Niektóre polecenia dostępne są już w obecnym "nrpe.cfg", nowe mogą zostać podane np. w pliku "nrpe_local.cfg".

:~# cat nrpe.cfg |grep check_load
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20

Po dokonaniu zmian w konfiguracji musi zostać przeprowadzony restart daemona:

sudo /etc/init.d/nagios-nrpe-server restart

Icinga Server

W serwerze warunkiem jest już zainstalowana Icinga (vide Instalacja Icinga 1.6.1 pod Debianem 6.0 Squeeze). Dodatkowo instalowany jest pakiet "nagios-nrpe-plugin". Aby zapobiec równoczesnej instalacji pakietów Nagios podana zostaje opcja "--no-install-recommends":

apt-get --no-install-recommends install nagios-nrpe-plugin

Pierwszy test sprawdza czy daemon nrpe jest dostępny po stronie klienta i przyjmuje polecenia. Następująca komenda zwraca przy poprawnej konfiguracji wersje instalacji nrpe:

:~# /usr/lib/nagios/plugins/check_nrpe -H 10.0.0.1
NRPE v2.12

Ten sposób może służyć do zapewnienia, ze monitorowany host jest dostępny, reaguje na zapytania nrpe i je realizuje. W kolejnym kroku definiowane są komendy Icinga, które są realizowane przez nrpe. W tym celu na początku zostaje utworzona komenda, która przekazuje check_nrpe dostępne parametry:[4]

:~# vi /usr/local/icinga/etc/objects/commands.cfg:
###############################################################################
# NRPE CHECK COMMAND
#
# Command to use NRPE to check remote host systems
###############################################################################

define command{
        command_name check_nrpe
        command_line /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }

W nowej konfiguracji hosta zostaje wykorzystana właśnie zdefiniowana komenda "check_nrpe":

:~#  vi /usr/local/icinga/etc/objects/nrpe-client.cfg
define host{
        use             linux-server
        host_name       NrpeClient
        alias           NrpeClient
        address         10.0.0.1
        }
define service{
        use     generic-service
        host_name       NrpeClient
        service_description     CPU LOAD
        check_command   check_nrpe!check_load
        }

Nasz serwis "CPU LOAD" wykorzystuje polecenie check_nrpe i przekazuje do niego parametr "check_load". Ten parametr określa skrypt, który jest wykonywany na monitorowanym hoście (Nrpe-Client. Daemon nrpe przyjmuje zapytanie i zwraca wynik skryptu do serwera Icinga. Aby Icinga załadował nową konfigurację hosta, zostaje dodana w konfiguracji Icinga ścieżka pliku:

:~# vi /usr/local/icinga/etc/icinga.cfg 
cfg_file=/usr/local/icinga/etc/objects/nrpe-client.cfg

Następujący szkic pokazuje przebieg procesów:

Nrpe-aufbau.png

Odnośniki

  1. Icinga NRPE (docs.icinga.org)
  2. check_by_ssh Plugin (nagios.wiki.de)
  3. Setting up NRPE with Icinga (wiki.icinga.org)
  4. Icinga NRPE Documentation (docs.icinga.org)

Powiązane artykuły

Icinga Web 2
Instalacja oprogramowania Icinga 2 w Ubuntu Server 14.04
Plugin SMART Attributes Monitoring