Nagios Plugin Vorlage in Bash
Es passiert mir immer häufiger, dass ich selber Plugins für Nagios schreibe bzw schreiben muss;)
Da ich am liebsten Bash nutze habe ich dafür mittlerweile ein Template.
#!/bin/bash
WARN_LIMIT=$1
CRIT_LIMIT=$2
DATA_PARAM=$3
PERF_LEGEND= some use full legend
if [ -z $WARN_LIMIT ] || [ -z $CRIT_LIMIT ] ||[ -z $DATA_PARAM ];then
echo "Usage: check_file WARNLIMIT CRITLIMIT DATA_PARAM"
exit 3;
else
DATA= here comes the check logic
if [ $DATA -lt $WARN_LIMIT ]; then
echo "OK - some use full text $DATA should be included | $PERF_LEGEND=$DATA"
exit 0;
fi
if [ $DATA -ge $WARN_LIMIT ] && [ $DATA-lt $CRIT_LIMIT ]; then
echo "WARNING - some use full text $WARN_LIMIT should be included | $PERF_LEGEND=$DATA"
exit 1;
fi
if [ $DATA -ge $CRIT_LIMIT ]; then
echo "CRITICAL - some use full text $CRIT_LIMIT should be included |
$PERF_LEGEND=$DATA"
exit 2;
fi
fiAngepasst werden muss vor allem DATA. Dies kann eine Zeile sein, z.b. ein ls $DATA_PARAM/ |wc -l zum zählen von Dateien.
Außerdem muss PERF_LEGEND gesetzt werden. Hier wird angegeben welchen Wert die Perfdata Legende bekommt.
Das Template geht davon aus, dass die Wertebereiche wie folgt sind:
Kleiner als $WARN_LIMIT == Ok
Größer als $WARN_LIMIT und kleiner als $CRIT_LIMIT == Warning
Größer als $CRIT_LIMIT == Critical
Es ist also z.b. dafür geeignet um eine Anzahl von irgendwas zu überwachen, wobei größere Anzahl bedeutet das es schlechter ist bzw kritischer.
Wer Anregungen zur Verbesserung hat, immer her damit!

