Jul 062011
 

Nagios kann über NRPE entfernte Dienste und Ressourcen abfragen. Eine einfache Möglichkeit auch Datenbankabfragen hierfür zu nutzen ist über ein einfaches Shellskript möglich.

Auf dem Nagiosserver muss hierzu nur der normale NRPE Befehl existieren. Auf den Remoteservern muss dann der NRPE Client um einen weiteren Befehl erweitert werden (meist unter /nagios/nrpe/nrpe.cfg). z.B. um den folgenden:

command[check_sql]=/nagios/libexec/sql-db-query $ARG1$ $ARG2$ $ARG3$

Über die Argumente kann man hier Filterbedingungen für das SQL Query mitgeben. Das Shellskript (/nagios/libexec/sql-db-query) kann dann wie folgt aussehen:

export PGPASSWORD=dbpasswort

result=`/usr/local/postgresql/bin/psql -U postgres -d datenbankname -c "SQL Abfrage"`

str1=`echo $result | cut -d' ' -f1`
str2=`echo $result | cut -d' ' -f2`
str3=`echo $result | cut -d' ' -f3`
if [ "$str3" = "0" ]
then
        echo "CRITICAL: ..."
        exit 2
else
        echo "OK: ..."
        exit 0
fi

Wichtig ist hierbei das als exit Code 2 für Critical, Code 1 für Warning und Code 0 für OK zurückgegeben wird. Ansonsten erfolgt im Nagios keine Statusänderung.

Sorry, the comment form is closed at this time.