File check_running_kernel of Package monitoring-plugins-running_kernel
#!/bin/sh
#
# Nagios plugin to check if the most recent installed kernel is running
#
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
TESTER="kernel-uname-r"
APPEND=""
LATEST_KERNEL=$(rpm -q --whatprovides $TESTER | tail -n 1)
case $LATEST_KERNEL in
no\ package\ provides*) LATEST_KERNEL=$(rpm -q kernel-default | tail -n 1) ; TESTER="kernel" ; APPEND="-default" ;;
esac
LATEST_KERNEL_UR=$(rpm -q --provides "$LATEST_KERNEL" | grep "$TESTER = " | tail -n 1 | sed -e "s@.*= @@" | sed -e "s@.xz@@")$APPEND
UR=$(uname -r)
if [ -z "$LATEST_KERNEL" ]; then
echo "$0: UNKNOWN - could not determine latest installed kernel"
exit $STATE_UNKNOWN
fi
if [ -z "$LATEST_KERNEL_UR" ]; then
echo "$0: UNKNOWN - could not determine uname -r of latest installed kernel"
exit $STATE_UNKNOWN
fi
if [ -z "$UR" ]; then
echo "$0: UNKNOWN - could not determine uname -r"
exit $STATE_UNKNOWN
fi
if [ "$LATEST_KERNEL_UR" != "$UR" ] ; then
echo "WARNING: running kernel ($UR) is not latest installed ($LATEST_KERNEL_UR)"
exit $STATE_WARNING
fi
echo "OK: running kernel ($UR) is latest"
exit $STATE_OK
# vim: ts=4:sw=4:noet