mirror of
https://github.com/Icinga/icinga2.git
synced 2025-07-22 13:14:32 +02:00
Drop check_kernel in favor of check_running_kernel, add plugin command.
Refs #6369
This commit is contained in:
parent
bc446bb8b5
commit
9225f7ed00
@ -2,6 +2,5 @@ object Service "kernel" {
|
|||||||
import "generic-service"
|
import "generic-service"
|
||||||
|
|
||||||
host_name = "localhost"
|
host_name = "localhost"
|
||||||
check_command = "kernel"
|
check_command = "running_kernel"
|
||||||
}
|
}
|
||||||
|
|
@ -2077,3 +2077,11 @@ nrpe_timeout | **Optional.** The timeout in seconds.
|
|||||||
Check command for the `check_apt` plugin.
|
Check command for the `check_apt` plugin.
|
||||||
|
|
||||||
The `apt` check command does not support any vars.
|
The `apt` check command does not support any vars.
|
||||||
|
|
||||||
|
|
||||||
|
#### <a id="plugin-check-command-running-kernel"></a> ups
|
||||||
|
|
||||||
|
Check command object for the `check_running_kernel` plugin
|
||||||
|
provided by the `nagios-plugins-contrib` package on Debian.
|
||||||
|
|
||||||
|
The `running_kernel` check command does not support any vars.
|
||||||
|
@ -1,11 +1,5 @@
|
|||||||
/* Command objects */
|
/* Command objects */
|
||||||
|
|
||||||
object CheckCommand "kernel" {
|
|
||||||
import "plugin-check-command"
|
|
||||||
|
|
||||||
command = [ SysconfDir + "/icinga2/scripts/check_kernel" ]
|
|
||||||
}
|
|
||||||
|
|
||||||
object NotificationCommand "mail-host-notification" {
|
object NotificationCommand "mail-host-notification" {
|
||||||
import "plugin-notification-command"
|
import "plugin-notification-command"
|
||||||
|
|
||||||
|
@ -1,65 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# Icinga 2
|
|
||||||
# Copyright (C) 2012-2014 Icinga Development Team (http://www.icinga.org)
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation
|
|
||||||
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
||||||
|
|
||||||
if [ -e /etc/debian_version ]; then
|
|
||||||
if [ "$(lsb_release -s -i)" = "Debian" ]; then
|
|
||||||
latest_kernel=$(dpkg-query -W -f='${Version}' linux-image-$(uname -r))
|
|
||||||
current_kernel=$(uname -v | awk '{print $4}')
|
|
||||||
|
|
||||||
if [ "x$latest_kernel" != "x$current_kernel" ]; then
|
|
||||||
echo "A kernel upgrade is available: $(uname -r) ($latest_kernel) - currently running: $(uname -r) ($current_kernel)"
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
IFS=$'\n'
|
|
||||||
for pkginfo in $(dpkg-query -W -f '${Source}\t${Depends}\n' 'linux-image-*'); do
|
|
||||||
source=$(echo $pkginfo | cut -f1 -d$'\t')
|
|
||||||
if [ "$source" != "linux-meta" -a "$source" != "linux-latest" ]; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
depends=$(echo $pkginfo | cut -f2 -d$'\t')
|
|
||||||
IFS=','
|
|
||||||
for depend in $depends; do
|
|
||||||
name=$(echo $depend | awk '{print $1}')
|
|
||||||
if ! echo $name | grep -E linux-image-[0-9] >/dev/null; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
version=$(echo $depend | cut -f3- -d-)
|
|
||||||
if [ "$name" != "linux-image-$(uname -r)" ]; then
|
|
||||||
echo "A kernel upgrade is available: $version - currently running: $(uname -r)"
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
IFS=$'\n'
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
elif [ -e /etc/redhat-release ]; then
|
|
||||||
latest_kernel=`rpm -q --last kernel | head -n 1 | awk '{print $1}' | cut -f2- -d-`
|
|
||||||
current_kernel=`uname -r`
|
|
||||||
if [ "x$latest_kernel" != "x$current_kernel" ]; then
|
|
||||||
echo "A kernel upgrade is available: $latest_kernel - currently running: $current_kernel"
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "Unsupported OS/distribution."
|
|
||||||
exit 3
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Kernel version: `uname -a`"
|
|
||||||
exit 0
|
|
@ -453,3 +453,9 @@ object CheckCommand "nrpe" {
|
|||||||
vars.nrpe_timeout_unknown = false
|
vars.nrpe_timeout_unknown = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Contrib plugins */
|
||||||
|
object CheckCommand "running_kernel" {
|
||||||
|
import "plugin-check-command"
|
||||||
|
command = PluginDir + "/check_running_kernel"
|
||||||
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user