[hobbit] temperature script compatible with Hobbit

Charles Jones jonescr at cisco.com
Mon Aug 6 19:47:54 CEST 2007


Not at all.  I'm sure other folks with linux servers could find it 
handy.  I'm even using it to trend the temperature in my home office :)

-Charles

Galen Johnson wrote:
> Mind if I put this up on The Shire (which is now back after yet another router was taken out by a lightning strike)?
>
> =G=
>
> -----Original Message-----
> From: Charles Jones [mailto:jonescr at cisco.com]
> Sent: Wed 8/1/2007 6:34 PM
> To: hobbit at hswn.dk
> Subject: Re: [hobbit] temperature script compatible with Hobbit
>  
> I figured I would share the script and setup that I am now using,  Note 
> that the script is for use with lm_sensors on linux machines, and 
> tailored for my particular setup (different servers have different 
> sensors and thus the temperature parsing section may have to be changed).
>
> Here is the script itself:
> #!/bin/sh
>
> # THRESHOLD VALUES FOR TEMPERATURE
> YTMP=72
> RTMP=80
> #
> SENSORS="/usr/bin/sensors -f"
> STMP=${BBTMP}/SENSE.$$
> COLOR=green
> MSG=default
> #
> ${SENSORS} > ${STMP}
> # PARSE TEMPERATURE INFORMATION.
> TMP=`${GREP} -i temp ${STMP}|cut -d"(" -f1|cut -d"?" -f1|cut -d"+" 
> -f2|cut -d"." -f1`
>     if [ ${TMP} -lt ${YTMP} ];
>     then
>         COLOR=green
>         MSG="The Temperature is currently ${TMP}F, which does not exceed 
> the Warning level (${YTMP}F)"
>     fi
>     if [ ${TMP} -gt ${YTMP} ] && [ ${TMP} -lt ${RTMP} ];
>     then
>         COLOR=yellow
>         MSG="The Temperature is currently ${TMP}F, which is exceeds the  
> Warning level (${YTMP}F)"
>     fi
>     if [ ${TMP} -gt ${RTMP} ];
>     then
>         COLOR=red
>         MSG="The Temperature is currently ${TMP}F, which exceeds the 
> Panic level (${RTMP}F!)"
>     fi
> rm ${STMP}
>
> $BB $BBDISP "status $MACHINE.temp $COLOR `date`
> $MSG
> temp : $TMP
> "
>
> The script is launched via this addition to clientlaunch.cfg on the 
> remote machine:
> [temp]
>         ENVFILE $HOBBITCLIENTHOME/etc/hobbitclient.cfg
>         CMD $HOBBITCLIENTHOME/ext/temp.sh
>         INTERVAL 5m
>
> On the server, here is the addition to hobbitgraph.cfg:
> [temp]
>         TITLE Temperature
>         YAXIS Degrees Farenheit
>         DEF:t=temp.rrd:temp:AVERAGE
>         LINE2:t#@COLOR@:Ambient Temp
>         GPRINT:t:LAST: \: %5.1lf (cur)
>         GPRINT:t:MAX: \: %5.1lf (max)
>         GPRINT:t:MIN: \: %5.1lf (min)
>         GPRINT:t:AVERAGE: \: %5.1lf (avg)\n
>
> Let's not forget the additions to hobbitserver.cfg:
> TEST2RRD="cpu=la,disk,inode,qtree,memory,$PINGCOLUMN=tcp,http=tcp,dns=tcp,dig=tcp,time=ntpstat,vmstat,iostat,netstat,temperature,apache,bind,sendmail,mailq,nmailq=mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbit,hobbitd,files,procs=processes,ports,clock,lines*,temp=ncv*"
> GRAPHS="la,disk,inode,qtree,files,processes,memory,users,vmstat,iostat,tcp.http,tcp,ncv,netstat,ifstat,mrtg::1,ports,temperature,ntpstat,apache,bind,sendmail,mailq,socks,bea,iishealth,citrix,bbgen,bbtest,bbproxy,hobbit,hobbitd,clock,lines*,temp*"
> *NCV_temp="temp:GAUGE"*
>
> I also put a custom rules in hobbit-alerts.cfg:
> # Temp alerts
> HOST=myhost.mydomain.com SERVICE=temp
>         MAIL $SYSADMINS color=yellow REPEAT=60 RECOVERED NOTICE
>         MAIL $SYSADMINS,$SYSADMINS-PAGERS color=red RECOVERED NOTICE
>         MAIL $BOSS color=red DURATION>60 RECOVERED format=sms
>
> -Charles
>
>
>
> Ralph Mitchell wrote:
>   
>> On 7/25/07, Charles Jones <jonescr at cisco.com> wrote:
>>     
>>> I'm looking for a temperature script suitable for linux machines (using
>>> lm_sensors). I found a couple on deadcat but none of them seemed to work
>>> very well.  I hacked on one and got basic temperature monitoring
>>> working, but no graphs because the output is not in whatever format
>>> Hobbits do_temp rrd module is expecting.
>>>
>>> Does anyone have an lm_sensors script that both alerts on temp
>>> thresholds and is compatible with Hobbits rrd graphing? I tried seaching
>>> TheShire with no luck.
>>>       
>> Found this in old email (Dec 06):
>> Jerry Yu <jjj863 at gmail.com>    
>> never mind, I found the answers in the source code,
>> rrd/do_temperature.c. [[ All hail goes to Open Source & Henrik! ]]
>> 1. a lump-all status command will do. Format of the data portion is
>> somewhat restrictive '&green BMCambient 17 62\n&yellow BMCriserCard 32
>> 93'. It'd be nice to have such format documented elsewhere other than
>> the source code.
>> 2. if  'temperature' is used as 'test name', nothing needs to be done.
>> 3. the check can be done locally on the client and the overall $status
>> is reported by 'status server1.temperature $status'.
>>
>> So, if the script you hacked up can be persuaded to send a status
>> message that looks something like:
>>
>>     $BB $BBDISP status "server,domain,com.temperature `date`
>>        &<color>  <variable_name> <temp_in_celsius>  <temp_in_fahrenheit>"
>>
>> you could get graphs.  I'm away from my work machines right now, so
>> the above may be a little lacking.
>>
>> Alternatively, try the NCV option.  Once a status message is set up to
>> be pushed through the ncv module, all you need in the status message
>> is:
>>
>>     <variable name> : <value>
>>
>> Anything on the line before the colon becomes the variable name,
>> anything after the colon is the value that gets stored.
>>
>> Ralph Mitchell
>>
>> To unsubscribe from the hobbit list, send an e-mail to
>> hobbit-unsubscribe at hswn.dk
>>     
>
>
>
>   
> ------------------------------------------------------------------------
>
> To unsubscribe from the hobbit list, send an e-mail to
> hobbit-unsubscribe at hswn.dk
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20070806/ccfeec06/attachment.html>


More information about the Xymon mailing list