Passiva service checks med Icinga/Nagios

Jag vill veta hur mina cronjobb går, om de går igenom eller om de failar någonstans längs vägen. För att samla ihop det med Icinga så väljer jag att skriva om mina cronjobb script så att de beroende på exit-code kör ett annat script som lägger in informationen i Icinga.

Den första delen i det är att skapa en service som du kan använda för att ta emot passive service checks, det kan vara en helt vanlig service, men den skillanden att du lägger till “active_checks_enabled 0″ i definitionen. Så den ser ut såhär:

define service{
use local-service
service_description Cron Jobs
host_name localhost-test
check_command check_mailq!10!20
active_checks_enabled 0
}

Notera att det finns ett check command i defintionen, men det kommer inte att köras pga “active_checks_enabled 0″, det måste bara vara där för sakens skull. Glöm inte att knyta check:en till en host också!

I nagios egen dokumentation finns ett litet bash-script för att skicka commandon till .cmd-filen, du hittar det här: http://nagios.sourceforge.net/docs/3_0/volatileservices.html
För att exekvera scriptet sedan så kör du bara:

# ./submit_passive_check.sh localhost-test 'Cron Jobs' 0 'Cron has run!'

Där du byter ut “localhost-test” till ditt eget hostnamn, siffran i mitten är exitcode och severitycode i Icinga, 0= OK 1= Warning 2= Critical och 3 är Unknown. Lek med det lite själv och se hur det går! Lycka till!