Konfigurera Icinga för NRPE

I ett tidigare inlägg  skriver jag om hur man sätter upp NRPE på maskinerna, nu ska jag gå igenom hur man konfigurerar kontrollerna.

Först måste vi definiera att kommando för nrpe_check, detta gör vi i vår command.cfg enligt nedan.

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

Nu måste vi skapa en host som vi kan köra våra kontroller på, det gör vi i en fil som vi kallar för server02.cfg enligt nedan:

define host{
        use           linux-server                                                                    
        host_name     Server02
        alias         Server02
        address       192.168.0.1
        }

När vi har en Host uppsatt, så sätter vi upp en check som ska göras:

define service{
        use            local-service        
        host_name      Server02
        service_description  Current Load
        check_command  check_nrpe!check_load
}

Glöm inte att starta om/ ladda om konfigurationen i Icinga innan du försöker se om det funkar, kontrollen kommer nu att synas i webbgränssnittet som en vanlig check.
Anledningen till att vi kan skriva bara check_load och ändå få det att funka är att check_load redan är definierad med gränsväden i filen /usr/local/icinga/etc/nrpe.cfg på Server02

command[check_load]=/usr/local/icinga/libexec//check_load -w 15,10,5 -c 30,25,20

Av säkerhetsskäl så är det smartast att fördefiniera alla kontroller på maskinen som ska kunna utföra, då behöver man bara skicka minimalt med kommandon/inkommande data via nätverket och minskar därmed risken för att någon med illvilliga avsikter tar över din maskin. Det går att skicka med gränsvärden från icinga, men det rekomenderas inte om du kör övervakningen över nätet, kör du det i ditt interna nätverk så är det en mindre risk för intrång och kan vara ett smidigare sätt att justera sina gränsvärden.