A Nagios-plugin to check if a machine is running the latest kernel.

It basically compares the output of uname -r with available /boot/vmlinuz-* files, so it should be somewhat generic and is supposed to work for most linux based systems. Let me know if it’s not working for you. The script doesn’t expect any arguments.

Here is the code:

current_kernel=$(uname -r)
latest_kernel=$(find /boot/ -name vmlinuz-* | sort -V | tail -1 | sed 's/.*vmlinuz-//')

if [ "$current_kernel" = "$latest_kernel" ]
then
    echo "running kernel is $current_kernel"
    exit ${STATE_OK}
else
    echo "your kernel $current_kernel is outdated, please boot into $latest_kernel"
    exit ${STATE_WARNING}
fi

(this is just an excerpt of the actual monitoring script – please look into the file check_kernel.sh)

Please consider to take a look at my general setup notes.

Download: Shell: check_kernel.sh (Please take a look at the man-page. Browse bugs and feature requests.)

Martin Scharm

stuff. just for the records.

Do you like this page?
You can actively support me!

2 comments

falsebin | Permalink |

wrong title on this page: should be check_kernel and not check_mount.pl

Martin | Permalink |

Thanks for the note! Should be fixed once CI/CD approved it :)

Cheers, Martin

Leave a comment

There are multiple options to leave a comment: