[Xymon] how to check current kernel version
Ralph Mitchell
ralphmitchell at gmail.com
Sat Dec 3 19:57:47 CET 2011
Just out of curiousity I fooled around with this a bit last night. Seems
easy enough to implement as an external test, if you're OK with having an
extra column show up. Or maybe make a combo with something else, though
I've never tried that at all.
========== client side: /home/xymon/client/ext/osver.sh ==========
#!/bin/bash
# column name to report
TEST="osver"
# our current os version
CURVER=`uname -r`
# the logfetch cfg file is filled by xymonclient.sh
LOGFETCH=${XYMONTMP}/logfetch.$(uname -n).cfg
# Default to OK
COLOR=green
MESSAGE="No OS version specified in client-local.cfg. OS version is:
$CURVER"
# anything interesting for us?
if [ -f "$LOGFETCH" ]; then
OSVER=`grep "^OSVER:" $LOGFETCH | cut -d":" -f2`
if [ "$OSVER" ]; then
# found OSVER in the cfg
if [ "$CURVER" = "$OSVER" ]; then
COLOR=green
MESSAGE="OS version is correct: $OSVER"
else
# report mismatch
COLOR=yellow
MESSAGE="OS version is incorrect. $CURVER should be $OSVER"
fi
fi
fi
$XYMON $XYMSRV "status $MACHINE.$TEST $COLOR `date`
$MESSAGE"
exit 0
========= client side: /home/xymon/client/etc/clientlaunch.cfg ==========
[osver]
ENVFILE $XYMONCLIENTHOME/etc/xymonclient.cfg
CMD $XYMONCLIENTHOME/ext/osver.sh
LOGFILE $XYMONCLIENTLOGS/osver.log
INTERVAL 5m
========== server side: /home/xymon/server/etc/client-local.cfg ==========
[linux]
OSVER:2.6.32-131.21.1.el6.x86_64
Obviously you would append the above line to any system-specific
client-local.cfg entries.
The same approach works for *any* config value that you might want to pass
from the server to the clients for client/ext scripts. I imagine there are
probably some limitations on what special characters can be passed, but
simple name/value pairs ought to be just fine.
Ralph Mitchell
On Fri, Dec 2, 2011 at 5:58 PM, Xymon User in Richmond <
hobbit at epperson.homelinux.net> wrote:
> On Fri, December 2, 2011 14:48, McGraw, Robert P wrote:
> > Xymon's "info" column for a host already reports
> > the uname -r value. For example, on hardy, the
> > info page shows
> >
> > OS: Linux hardy.math.purdue.edu 2.6.18-274.7.1.el5xen x86_64
> >
> > Question: is Xymon able to let us specify
> > somewhere (client-local.cfg maybe?) what
> > the current kernel version *should* be,
> > so that when the current kernel is
> > supposed to be 2.6.18-274.7.1 then we
> > can have the info column go yellow or
> > red for hosts that haven't been booted to
> > that version yet?
> >
>
> If what you're after is essentially running kernel doesn't match kernel
> that will run on next boot, should be a fairly trivial ext script to
> compare contents of uname -r to grubby --default-kernel|sed
> "s/\/boot\/vmlinuz-//". That would be how to do it on Red Hat, looks like
> you'd also have to massage uname -r for hardy.
>
> Don't know if it's already been done.
>
>
>
>
> _______________________________________________
> Xymon mailing list
> Xymon at xymon.com
> http://lists.xymon.com/mailman/listinfo/xymon
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20111203/994186a2/attachment.html>
More information about the Xymon
mailing list