Page 1 of 1

First time creating nagios plugin, how do i add perf data?

Posted: Tue Jun 20, 2017 6:33 am
by danada
Hi, i have tried making my first plugin. I can't seem to find out how to add perf data to my script, can someone tell me whats missing here?

Code: Select all

while getopts H:t:u:i:d:k: option
do
 case "${option}"
 in
 H) eshost=${OPTARG};;
 t) timeback=${OPTARG};;
 u) credentials=${OPTARG};;
 i) indexname=${OPTARG};;
 d) datatype=${OPTARG};;
 k) datename=${OPTARG};;
 esac
done

# Debug code #
#echo $eshost
#echo $timeback
#echo $credentials
#echo $indexname
#echo $datatype
#echo $datename

index_count=`curl -s -XGET -u $credentials $eshost'/'$indexname'/'$datatype'/_search' \
             -H 'Content-Type: application/json' -d '{"query": { "range" : { "'$datename'" : { "gte" : "now-'$timeback'", "lt" : "now"}}}}' | \
             python -c "import sys, json; print json.load(sys.stdin)['hits']['total']"`

#echo "Index Count: $index_count"

#Debug value if you should need to check functionality.
#index_count=-11

if ((5<=$index_count))
then
    echo "OK - Index count is $index_count."
    exit 0
elif ((1<=$index_count && $index_count<=4))
then
    echo "WARNING - Index count is $index_count."
    exit 1
elif ((0==$index_count))
then
    echo "CRITICAL - Index count is $index_count."
    exit 2
else
    echo "UNKNOWN - Index count is $index_count."
    exit 3
fi

Re: First time creating nagios plugin, how do i add perf dat

Posted: Tue Jun 20, 2017 10:08 am
by scottwilkerson
To include performance data your plugins output would need to have a pipe | followed by the performance data in the following format

Code: Select all

'label'=value[UOM];[warn];[crit];[min];[max]
https://nagios-plugins.org/doc/guidelines.html#AEN200