mirror of
https://github.com/opinkerfi/nagios-plugins.git
synced 2024-11-22 10:23:46 +01:00
check_time added
This commit is contained in:
parent
5fe09f2cbc
commit
5dfa2918f4
93
check_time/trunk/check_time
Executable file
93
check_time/trunk/check_time
Executable file
@ -0,0 +1,93 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Nagios exit codes
|
||||||
|
OK=0
|
||||||
|
WARN=1
|
||||||
|
CRIT=2
|
||||||
|
UNKNOWN=3
|
||||||
|
|
||||||
|
# Default warning thresholds
|
||||||
|
warning=60
|
||||||
|
critical=86400
|
||||||
|
|
||||||
|
|
||||||
|
print_help() {
|
||||||
|
echo "check_time version $VERSION"
|
||||||
|
echo "This plugin checks the time of a remote host via NRPE"
|
||||||
|
echo ""
|
||||||
|
echo "Usage: $0 -H <host> [-w seconds] [-c seconds]"
|
||||||
|
echo ""
|
||||||
|
echo "Example: check time of host examplehost, warn if time difference is"
|
||||||
|
echo "more than 60 seconds, critical if difference is more than 86400 seconds"
|
||||||
|
echo "# check_time -H examplehost -w 60 -c 86400"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ $# -eq 0 ]; then
|
||||||
|
print_help ;
|
||||||
|
exit $UNKNOWN
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Parse arguments
|
||||||
|
while [ $# -gt 0 ]
|
||||||
|
do
|
||||||
|
case $1
|
||||||
|
in
|
||||||
|
-H)
|
||||||
|
hostaddress=$2
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
|
||||||
|
|
||||||
|
-w)
|
||||||
|
warning=$2
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
|
||||||
|
-c)
|
||||||
|
critical=$2
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
print_help ;
|
||||||
|
exit $UNKNOWN
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
LOCALTIME=`/bin/date +%s`
|
||||||
|
REMOTETIME=`/usr/lib/nagios/plugins/check_nrpe -H $hostaddress -c get_time`
|
||||||
|
|
||||||
|
for i in $warning $critical ; do
|
||||||
|
if [ ! $i -ge 0 ]; then
|
||||||
|
echo "$i is not a valid value. Should be in seconds. See --help for usage."
|
||||||
|
exit $UNKNOWN
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DIFF=$(echo $LOCALTIME-$REMOTETIME | bc )
|
||||||
|
|
||||||
|
if [ $DIFF -lt 0 ]; then
|
||||||
|
DIFF=$(echo $DIFF*-1|bc)
|
||||||
|
fi
|
||||||
|
|
||||||
|
RESULT="timedrift=$DIFF seconds | timedrift=${DIFF}s;$warning;$critical"
|
||||||
|
|
||||||
|
if [ $DIFF -gt $critical ]; then
|
||||||
|
echo "CRITICAL - $RESULT"
|
||||||
|
exit $CRIT
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $DIFF -gt $warning ]; then
|
||||||
|
echo "WARNING - $RESULT"
|
||||||
|
exit $WARN
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
echo "OK - $RESULT"
|
||||||
|
exit 0
|
4
check_time/trunk/nrpe.d/check_time.cfg
Normal file
4
check_time/trunk/nrpe.d/check_time.cfg
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
# Connect to a remote host via nrpe and check time
|
||||||
|
# warning and critical are in seconds
|
||||||
|
command[check_time]=/usr/lib/nagios/plugins/check_time -H $ARG1$ -w $ARG2$ -c $ARG3$
|
Loading…
Reference in New Issue
Block a user