[xymon] os count with graph
Vernon Everett
everett.vernon at gmail.com
Tue Sep 21 10:29:08 CEST 2010
Very elegant.
And something new for me. I have never used the "bbcmd bbhostshow" command.
It's a much better way of getting the complete contents of all the bb-hosts
with includes.
Every day is a schoolday. :-)
I would suggest one or two improvements though.
egrep '^[1-9][0-9]*\.' doesn't cater for my Wintel hosts which are defined
with IP address 0.0.0.0
We let Xymon use DNS for them, so I dropped the first [1-9].
bb localhost "clientlog {} section=osversion" only works for Wintel.
I changed it to the following
bb localhost "clientlog {} section=osversion,uname"
This will grab the relevant info for Wintel as well as Solaris.
I then need to modify the output for Solaris, because the uname string
includes the hostname.
I eventually ended up with this.
./server/bin/bbcmd bbhostshow | egrep '^[0-9]*\.' \
| awk '{print $2}' \
| sort -u \
| xargs -I{} ./server/bin/bb localhost
"clientlog {} section=osversion,uname" \
| grep -v "^\[" \
| awk ' $1 == "SunOS" { print $1" "$3" "$4};
$1 != "SunOS" {print} ' \
| sort \
| uniq -c
That last awk might need to be seriously adapted for other OS types, or
perhaps pipe the output to another similar awk.
(Also, for SunOS, $4 is the patch level. Hack that to print $1" "$3 for OS
version only)
I ended up with output that looked like this
10 Microsoft (build 7600)
2 Microsoft Windows Server 2003 R2, Standard Edition Service Pack 2
(build 3790)
6 Microsoft Windows Server 2008 , 64-bit Service Pack 2 (build 6002)
1 SunOS 5.10 Generic_139556-08
4 SunOS 5.10 Generic_141444-09
90 SunOS 5.10 Generic_142900-03
Useful?
I have no idea.
And yes, I agree, temp files are bad. But unfortunately, a necessary evil
sometimes.
Cheers
Vernon
On Tue, Sep 21, 2010 at 3:07 PM, David Baldwin <david.baldwin at ausport.gov.au
> wrote:
> All you need is this 'one liner' for the count of each version:
>
> bbcmd bbhostshow | egrep '^[1-9][0-9]*\.' | awk '{print $2}' | sort -u |
> xargs -I{} bb localhost "clientlog {} section=osversion" | sort | uniq
> -c | egrep -v '^[[:space:]]*[0-9]+( \[osversion\]|[[:space:]]*$)'
>
> Look! No temporary files! (Pet hate of mine ;)
>
> David.
> > How does a wget call compare to using the bb command?
> >
> > I replaced the wget with:
> > $BBHOME/server/bin/bb localhost "clientlog $HOSTNAME
> > section=osversion" | grep -v osversion > $HOSTNAME
> >
> > and the OSVER with:
> > OSVER=$(sed -e :a -e 's/<[^>]*>//g;/</N;//ba' $HOSTNAME)
> >
> >
> >
> > On Mon, Sep 20, 2010 at 9:33 AM, Vernon Everett
> > <everett.vernon at gmail.com <mailto:everett.vernon at gmail.com>> wrote:
> >
> > Bugger!
> > Was pretty busy today, and completely forgot.
> >
> > Here's something that will help.
> > #!/bin/ksh
> > export BBHOME=/usr/lib/hobbit
> > typeset -L20 HOST
> > mkdir -p /usr/lib/hobbit/custom/data
> > cd /usr/lib/hobbit/custom/data
> > INCLUDES=$(grep ^include /etc/hobbit/bb-hosts | awk '{ print $2 }')
> > cat /etc/hobbit/bb-hosts $INCLUDES | egrep -h -v
> > "^#|^page|^$|^title|^subpage|^group|^include" | awk '{ print $2 }' \
> > | sort | uniq \
> > | while read HOSTNAME
> > do
> > wget -O $HOSTNAME -o /dev/null
> >
> http://hobbit/hobbit-cgi/bb-hostsvc.sh\?HOST\=$HOSTNAME\&SERVICE\=info<http://hobbit/hobbit-cgi/bb-hostsvc.sh%5C?HOST%5C=$HOSTNAME%5C&SERVICE%5C=info>
> > <
> http://hobbit/hobbit-cgi/bb-hostsvc.sh%5C?HOST%5C=$HOSTNAME%5C&SERVICE%5C=info
> >
> > &
> > done
> > wait
> > for HOSTNAME in /usr/lib/hobbit/custom/data/*
> > do
> > OSVER=$(grep OS: $HOSTNAME | sed 's/OS://g'| sed -e :a -e
> > 's/<[^>]*>//g;/</N;//ba')
> > HOST=$(basename $HOSTNAME)
> > echo "$HOST $OSVER"
> > done
> > rm /usr/lib/hobbit/custom/data/*
> >
> > This will generate a list of hosts, and OS version.
> > You want a list of number of OS versions, pipe the output to awk
> > '{ print $2 }' | sort | uniq -c | awk '{ print $2":"$1}
> > You can feed this back to Hobbit using bb, as a test and graph it.
> >
> > I recommend you use stack graphs for more interesting looking graphs.
> >
> > Let me know how you go.
> >
> > Regards
> > Vernon
> >
> >
> >
> >
> > On Mon, Sep 20, 2010 at 8:25 PM, Martin Flemming
> > <martin.flemming at desy.de <mailto:martin.flemming at desy.de>> wrote:
> >
> >
> > Got some code stubs I can post later when I get to work.
> >
> >
> > That's will be great :-)
> >
> > thanks & cheers,
> >
> > martin
> >
> >
> > On Mon, 20 Sep 2010, Vernon Everett wrote:
> >
> > Easy enough to knock together.
> > Read it out of the server, then feed it back.
> >
> > Got some code stubs I can post later when I get to work.
> >
> > Cheers
> > V
> >
> >
> > On Sun, Sep 19, 2010 at 1:47 AM, Martin Flemming
> > <martin.flemming at desy.de <mailto:martin.flemming at desy.de>>
> > wrote:
> >
> > Hi !
> >
> > Got somebody an working script for counting OS of
> > alle clients
> > ( RHEl3/4/5 Solaris .5.8/5.19./5.10 etc ..) with
> > graphing .. ?
> >
> > I know some old threads about that request,
> > But hey didn't really work for me are without graphs
> > .. :-(
> >
> > thanks & cheers,
> >
> >
> > Martin
> >
> >
> > To unsubscribe from the xymon list, send an e-mail to
> > xymon-unsubscribe at xymon.com
> > <mailto:xymon-unsubscribe at xymon.com>
> >
> >
> > To unsubscribe from the xymon list, send an e-mail to
> > xymon-unsubscribe at xymon.com <mailto:xymon-unsubscribe at xymon.com>
> >
> >
> >
>
>
> --
> David Baldwin - IT Unit
> Australian Sports Commission www.ausport.gov.au
> Tel 02 62147830 Fax 02 62141830 PO Box 176 Belconnen ACT 2616
> david.baldwin at ausport.gov.au Leverrier Street Bruce ACT 2617
>
>
>
> -------------------------------------------------------------------------------------
> Keep up to date with what's happening in Australian sport visit
> http://www.ausport.gov.au
>
> This message is intended for the addressee named and may contain
> confidential and privileged information. If you are not the intended
> recipient please note that any form of distribution, copying or use of this
> communication or the information in it is strictly prohibited and may be
> unlawful. If you receive this message in error, please delete it and notify
> the sender.
>
> -------------------------------------------------------------------------------------
>
> To unsubscribe from the xymon list, send an e-mail to
> xymon-unsubscribe at xymon.com
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20100921/c7851d20/attachment.html>
More information about the Xymon
mailing list