Hobbit compatible temperature monitor
list Eric Boyd
I am looking to add temperature graphs to hobbit. What should I use to monitor and graph the temperature of our server room? None of our servers report any temperature readings in the client data. We have some APC battery backups that have environmental monitors built in, but I am willing to spend a little cash on a separate device if there is something proven to work with Hobbit. Thanks, -Eric
list Dan McDonald
We use ITWatchdogs Weathergoose. I poll them with mrtg, and inject status information into hobbit using bbmrtg.pl
▸
-----Original Message-----
From: Eric Boyd [mailto:user-abc320474c7c@xymon.invalid]
Sent: Wed 25-Jun-08 10:28
To: user-ae9b8668bcde@xymon.invalid
Subject: [hobbit] Hobbit compatible temperature monitor
I am looking to add temperature graphs to hobbit.
What should I use to monitor and graph the temperature of our server room?
None of our servers report any temperature readings in the client data.
We have some APC battery backups that have environmental monitors built
in, but I am willing to spend a little cash on a separate device if
there is something proven to work with Hobbit.
Thanks,
-Eric
list Buchan Milne
▸
On Wednesday 25 June 2008 17:28:01 Eric Boyd wrote:
I am looking to add temperature graphs to hobbit. What should I use to monitor and graph the temperature of our server room? None of our servers report any temperature readings in the client data.
What servers are these? Any recent HP or Dell servers, if you have their respective agents (HPASM or OMSA) installed, should allow you to monitor their temperatures via snmp, e.g. with Devmon + Hobbit you should be able to get graphs for each temperature probe.
▸
We have some APC battery backups that have environmental monitors built in,
Can you get the temperature data via SNMP? The existing templates for APC devices in devmon don't have any 'temp' test, but if the data is there that can be fixed. Regards, Buchan
list Ralph Mitchell
▸
On Wed, Jun 25, 2008 at 10:28 AM, Eric Boyd <user-abc320474c7c@xymon.invalid> wrote:
I am looking to add temperature graphs to hobbit. What should I use to monitor and graph the temperature of our server room? None of our servers report any temperature readings in the client data. We have some APC battery backups that have environmental monitors built in, but I am willing to spend a little cash on a separate device if there is something proven to work with Hobbit.
I'm using OneWire DS18S20 sensors from Maxim-IC.com to watch room and
refrigerator temps in my wife's dairy at home. Right now it's a bit of a
hack, with the sensors just soldered onto old phone cables, but it works
just fine. The fridge seems to be maintaining about 25F while the room temp
gets up over 85F.
I'm using digitemp to read the sensors, which can be hooked up to either USB
or serial ports, though it's also possible to use owfs. The readings are
fed to Hobbit via a custom script that generates NCV compatible data for
graphing.
The bare sensors are about $5, and the USB or serial port connector is
around $30. You can use any old ethernet or phone cable.
Ralph Mitchell
list Tim McCloskey
If your platform supports it you can use ipmitool for various internals.
Actual server room temp would need some external device such as the ones others have mentioned.
Example:
On a Sun X4150 box one of the sensors is Ambient Temp0. temp="`/usr/sfw/bin/ipmitool sensor reading 'Ambient Temp0' | awk '{print $NF}'`"
Other hardware has different sensor names, some just have (temp) sensors for CPU die temps.
Regards,
▸
Buchan Milne wrote:On Wednesday 25 June 2008 17:28:01 Eric Boyd wrote:I am looking to add temperature graphs to hobbit. What should I use to monitor and graph the temperature of our server room? None of our servers report any temperature readings in the client data.What servers are these? Any recent HP or Dell servers, if you have their respective agents (HPASM or OMSA) installed, should allow you to monitor their temperatures via snmp, e.g. with Devmon + Hobbit you should be able to get graphs for each temperature probe.We have some APC battery backups that have environmental monitors built in,Can you get the temperature data via SNMP? The existing templates for APC devices in devmon don't have any 'temp' test, but if the data is there that can be fixed. Regards, Buchan
list Geoff Hallford
I am using a Netbotz 320 device in my network and DC's. I have linked them to Hobbit using MRTG and bbmrtg.pl for temp and humidity and alerting. Here is an example MRTG entry for a 320 Netbotz: ###################################################################### # System: netbotz-dc1 # Description: Netbotz Environmental Monitoring # # Contact: (REMOVED) # Location: DC1 - Room 322 - Main Campus ###################################################################### ### Temperature >> Descr: 'Temperature' | Name: '' ### # bb* = Big Brother info bb*host[netbotz-dc1_1]: netbotz-dc1 bb*svc[netbotz-dc1_1]: temp bb*yellow[netbotz-dc1_1]: 65:75 bb*red[netbotz-dc1_1]: 60:80 bb*unit[netbotz-dc1_1]: F Target[netbotz-dc1_1]: .1.3.6.1.4.1.5528.100.4.1.1.1.9.1095346743&.1.3.6.1.4.1.5528.100.4.1.1.1.9.1095346743:tslab at netbotz-dc1 # MaxBytes sets the scale of the graph to 100.0 Deg MaxBytes[netbotz-dc1_1]: 100 Unscaled[netbotz-dc1_1]: dwym YLegend[netbotz-dc1_1]: Temperature(Fahrenheit) ShortLegend[netbotz-dc1_1]: Degrees F LegendI[netbotz-dc1_1]: Temperature LegendO[netbotz-dc1_1]: Temperature Legend1[netbotz-dc1_1]: Temperature(Degrees Fahrenheit) Legend2[netbotz-dc1_1]: Temperature(Degrees Fahrenheit) Options[netbotz-dc1_1]: gauge,nopercent Title[netbotz-dc1_1]: Temperature for DC1 Netbotz in room 322 - Main Campus PageTop[netbotz-dc1_1]: <h1>Temperature for DC1 Netbotz in room 322 - Main Campus</h1> # bb* = Big Brother info bb*host[netbotz-dc1_2]: netbotz-dc1 bb*svc[netbotz-dc1_2]: humidity bb*yellow[netbotz-dc1_2]: 15:75 bb*red[netbotz-dc1_2]: 10:80 bb*unit[netbotz-dc1_2]: Percent Target[netbotz-dc1_2]: .1.3.6.1.4.1.5528.100.4.1.2.1.8.1094232622&.1.3.6.1.4.1.5528.100.4.1.2.1.8.1094232622:tslab at netbotz-dc1 # MaxBytes sets the scale of the graph to 100.0 Deg MaxBytes[netbotz-dc1_2]: 50 Unscaled[netbotz-dc1_2]: dwym YLegend[netbotz-dc1_2]: Humidity ShortLegend[netbotz-dc1_2]: Degrees F LegendI[netbotz-dc1_2]: Humidity LegendO[netbotz-dc1_2]: Humidity Legend1[netbotz-dc1_2]: Humidity Legend2[netbotz-dc1_2]: Humidity Options[netbotz-dc1_2]: gauge,nopercent Title[netbotz-dc1_2]: Humidity for DC1 Netbotz in room 322 - Main Campus PageTop[netbotz-dc1_2]: <h1>Humidity for DC1 Netbotz in room 322 - Main Campus</h1> On Wed, Jun 25, 2008 at 12:03 PM, Ralph Mitchell <user-00a5e44c48c0@xymon.invalid>
▸
wrote:
On Wed, Jun 25, 2008 at 10:28 AM, Eric Boyd <user-abc320474c7c@xymon.invalid> wrote:I am looking to add temperature graphs to hobbit. What should I use to monitor and graph the temperature of our server room? None of our servers report any temperature readings in the client data. We have some APC battery backups that have environmental monitors built in, but I am willing to spend a little cash on a separate device if there is something proven to work with Hobbit.I'm using OneWire DS18S20 sensors from Maxim-IC.com to watch room and refrigerator temps in my wife's dairy at home. Right now it's a bit of a hack, with the sensors just soldered onto old phone cables, but it works just fine. The fridge seems to be maintaining about 25F while the room temp gets up over 85F. I'm using digitemp to read the sensors, which can be hooked up to either USB or serial ports, though it's also possible to use owfs. The readings are fed to Hobbit via a custom script that generates NCV compatible data for graphing. The bare sensors are about $5, and the USB or serial port connector is around $30. You can use any old ethernet or phone cable. Ralph Mitchell
--
'If my answers frighten you then you should cease asking scary questions.'
--Sam Jackson
list Bruce White
We have a NetBotz appliance from APC which supports temperature probes. I
use snmpwalk to query the MIB and produce a hobbit test which looks like:
NetBotz Overall Status: normal(0)
NetBotz Enclosure Status: normal(0)
Module Pod Status: normal(0)
Location 1 Temp at: DC Temp. DCH2
Location 1 Temp Status: normal(0)
Location 1 Temperature : 76F
Location 2 Temp at: Temp. East
Location 2 Temp Status: normal(0)
Location 2 Temperature : 70F
Location 3 Temp at: Temp. West
Location 3 Temp Status: normal(0)
Location 3 Temperature : 77F
Humidity Status: normal(0)
Humidity: 34
I have never been able to get custom graphs working, so I am not graphing
the output. But getting custom graphs is not high on my priority list.
......Bruce
▸
-----Original Message-----
From: Tim McCloskey [mailto:user-a56351323aaa@xymon.invalid]
Sent: Wednesday, June 25, 2008 11:50 AM
To: user-ae9b8668bcde@xymon.invalid
Subject: Re: [hobbit] Hobbit compatible temperature monitor
If your platform supports it you can use ipmitool for various internals.
Actual server room temp would need some external device such as the ones
others have mentioned.
Example:
On a Sun X4150 box one of the sensors is Ambient Temp0.
temp="`/usr/sfw/bin/ipmitool sensor reading 'Ambient Temp0' | awk
'{print $NF}'`"
Other hardware has different sensor names, some just have (temp) sensors
for CPU die temps.
Regards,
Buchan Milne wrote:On Wednesday 25 June 2008 17:28:01 Eric Boyd wrote:I am looking to add temperature graphs to hobbit. What should I use to monitor and graph the temperature of our server room? None of our servers report any temperature readings in the client data.What servers are these? Any recent HP or Dell servers, if you have their respective agents (HPASM or OMSA) installed, should allow you to monitor their temperatures via snmp, e.g. with Devmon + Hobbit you should be able to get graphs for each temperature probe.We have some APC battery backups that have environmental monitors built in,Can you get the temperature data via SNMP? The existing templates for APC devices in devmon don't have any 'temp' test, but if the data is there that can be fixed. Regards, Buchan
Note: The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, or an employee or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer. Thank you. Fellowes, Inc.
list Buchan Milne
▸
On Wednesday 25 June 2008 23:52:49 White, Bruce wrote:
We have a NetBotz appliance from APC which supports temperature probes. I
use snmpwalk to query the MIB and produce a hobbit test which looks like:
NetBotz Overall Status: normal(0)
NetBotz Enclosure Status: normal(0)
Module Pod Status: normal(0)
Location 1 Temp at: DC Temp. DCH2
Location 1 Temp Status: normal(0)
Location 1 Temperature : 76F
Location 2 Temp at: Temp. East
Location 2 Temp Status: normal(0)
Location 2 Temperature : 70F
Location 3 Temp at: Temp. West
Location 3 Temp Status: normal(0)
Location 3 Temperature : 77F
Humidity Status: normal(0)
Humidity: 34
I have never been able to get custom graphs working, so I am not graphing
the output. But getting custom graphs is not high on my priority list.Well, devmon could be a convenient method to poll the device, and would make getting graphs and alerts quite easy. Regards, Buchan
list Dan McDonald
▸
On Thu, 2008-06-26 at 10:12 +0200, Buchan Milne wrote:
On Wednesday 25 June 2008 23:52:49 White, Bruce wrote:
I have never been able to get custom graphs working, so I am not graphing the output. But getting custom graphs is not high on my priority list.Well, devmon could be a convenient method to poll the device, and would make getting graphs and alerts quite easy.
It might be, but since it doesn't support snmp v3 I have not been able to use it. mrtg does support snmp v3, has templates, and bbmrtg.pl is pretty stable for importing the states into hobbit. -- Daniel J McDonald, CCIE #2495, CISSP #78281, CNX Austin Energy http://www.austinenergy.com
list Stewart L
I use some APC environmental monitors (model AP9319) and I have an external script I'd be happy to provide to the community. they seem to retail for about $200 now. Stewart On Thu, Jun 26, 2008 at 8:01 AM, McDonald, Dan <
▸
user-290ce4e24e19@xymon.invalid> wrote:
On Thu, 2008-06-26 at 10:12 +0200, Buchan Milne wrote:On Wednesday 25 June 2008 23:52:49 White, Bruce wrote:I have never been able to get custom graphs working, so I am not graphing the output. But getting custom graphs is not high on my priority list.Well, devmon could be a convenient method to poll the device, and would make getting graphs and alerts quite easy.It might be, but since it doesn't support snmp v3 I have not been able to use it. mrtg does support snmp v3, has templates, and bbmrtg.pl is pretty stable for importing the states into hobbit. -- Daniel J McDonald, CCIE #2495, CISSP #78281, CNX Austin Energy http://www.austinenergy.com
--
Stewart
--
You only lose what you cling to.
list Eric Boyd
Stewart, I'd love to see your script. Have you set up graphing for it? -Eric
▸
Stewart L wrote:I use some APC environmental monitors (model AP9319) and I have an external script I'd be happy to provide to the community. they seem to retail for about $200 now. Stewart On Thu, Jun 26, 2008 at 8:01 AM, McDonald, Dan
<user-290ce4e24e19@xymon.invalid <mailto:user-290ce4e24e19@xymon.invalid>>
▸
wrote: On Thu, 2008-06-26 at 10:12 +0200, Buchan Milne wrote:On Wednesday 25 June 2008 23:52:49 White, Bruce wrote:I have never been able to get custom graphs working, so I am not graphing the output. But getting custom graphs is not high on my priority list.Well, devmon could be a convenient method to poll the device, and would make getting graphs and alerts quite easy.It might be, but since it doesn't support snmp v3 I have not been able to use it. mrtg does support snmp v3, has templates, and bbmrtg.pl is pretty stable for importing the states into hobbit. -- Daniel J McDonald, CCIE #2495, CISSP #78281, CNX Austin Energy http://www.austinenergy.com -- Stewart -- You only lose what you cling to.
list Stewart L
Yep. We graph temperature and humidity (as that is the base sensor included
in the package). just queried via SNMP.
Here you go! all of our sensors are in climate controlled rooms, so
humidity is not a concern. This reports them both on one page, but only
alerts if temp is out of range. would be a trivial update if someone wanted
to alarm on humidity thresholds...
I have written many externals using this template. I use the same model to
pull over 500 firewalls for 10 data points each in less than 30 seconds.
I'll leave the NCV stuff up to you. add an 'apctemp' test to your hosts and
off it goes! Have fun!
Stewart
#!/usr/bin/perl
########################################################
#
# Hobbit script to monitor APC Environmental monitors
#
# Written by Stewart Larsen
#
# Released to the public domain
#
# This uses bbhostgrep to figure out which hosts to
# poll and then Net::SNMP to poll them Asynchronously.
# This incorporates nicely into the NCV graphs As well.
#
########################################################
use strict;
use Net::SNMP qw(snmp_dispatcher ticks_to_time);
# Set to 1 to print to STDOUT instead of sending messages
my $debug = 1;
# this is the IP address of your hobbit server
my $BBDISP = "192.168.1.1";
# hosts need to have the 'apctemp' test defined on them. Or change this to
whatever you want to call it.
my $testname="apctemp";
# Path to your bb executable
my $BB = "/usr/lib/hobbit/server/bin/bb";
# Path to your bbhostgrep executable
my $BBHG = "/usr/lib/hobbit/server/bin/bbhostgrep";
# SNMP Community String
my $snmpc = 'public';
# Temperature thresholds
my $temp_warn = 90;
my $temp_panic = 92;
my $contact = "Emergency Contact:\n\t1) Facilities\n\t\tXXX-XXX-XXXX\n\t2)
Facilities On Call\n\t\tXXX-XXX-XXXX";
my @HOSTS = ();
my %hosts_hash = ();
my %ip_hash = ();
my $now_string = localtime;
open (INPUT, "$BBHG $testname |" ) or die "Cannot open input: $!\n";
while(<INPUT>)
{
my ($ip,$hostname) = split(/\s/,$_);
print "Adding $ip to polled hosts\n" if $debug;
push @HOSTS,$hostname;
$hosts_hash{$hostname} = $ip;
$ip_hash{$ip} = $hostname;
}
close INPUT;
# Poll interval (in seconds). This value should be greater
# than the number of retries plus one, times the timeout value.
my $INTERVAL = 20;
# Maximum number of polls, including the initial poll.
my $MAX_POLLS = 1;
my $temperature = '.1.3.6.1.4.1.318.1.1.10.3.13.1.1.3.1';
my $humidity = '.1.3.6.1.4.1.318.1.1.10.3.13.1.1.6.1';
my $location = '.1.3.6.1.4.1.318.1.1.10.3.12.1.0';
# Create a session for each host and queue the first get-request.
foreach my $host (@HOSTS) {
my ($session, $error) = Net::SNMP->session(
-hostname => $hosts_hash{$host},
-nonblocking => 0x1, # Create non-blocking objects
-timeout => 5,
# -debug => 0xFF,
-retries => 1,
-version => '1',
-community => $snmpc
);
if (!defined($session)) {
printf("ERROR: %s.\n", $error);
exit 1;
}
# Queue the get-request, passing references to variables that
# will be used to store the last sysUpTime and the number of
# polls that this session has performed.
my ($last_uptime, $num_polls) = (0, 0);
$session->get_request(
-varbindlist => [$temperature,$humidity,$location],
-callback => [
\&validate_sysUpTime_cb
]
);
}
# Define a reference point for all of the polls
my $EPOC = time();
# Enter the event loop
snmp_dispatcher();
$now_string = localtime;
#print STDERR "$now_string: Processing Complete\n";
exit 0;
sub validate_sysUpTime_cb
{
my ($session) = @_;
if (!defined($session->var_bind_list))
{
printf("%-15s ERROR: %s\n", $session->hostname,
$session->error) if $debug;
system("$BB $BBDISP \"status
".$ip_hash{$session->hostname}.".$testname clear $now_string - Communication
Failure\n".$session->error."\"\n") if !$debug;
}
else
{
# Validate the sysUpTime
my $temperature = $session->var_bind_list->{$temperature};
my $humidity = $session->var_bind_list->{$humidity};
my $location = $session->var_bind_list->{$location};
my $line = sprintf("Service on %-15s is Ok \n\ntemp :
%s\nhumidity: %s\n\n",
$session->hostname,
$temperature,
$humidity);
my $cmd = "";
my $color = "";
my $mark = "";
if ($temperature >= $temp_panic)
{
# Panic on CPU test
$mark="PANIC";
$color="red";
}
elsif ($temperature >= $temp_warn)
{
# Warn on CPU test
$mark="WARNING";
$color="yellow";
}
else
{
# CPU test OK
$mark="OK";
$color="green";
$contact = "";
}
my $line="Environmental Monitoring\n\n$mark: Location:
$location\n\ntemp : $temperature\nhumidity : $humidity\n\n$contact";
$cmd = "$BB $BBDISP \"status
".$ip_hash{$session->hostname}.".$testname $color $now_string $line\n\"";
print STDOUT "********************\n$cmd" if $debug;
system($cmd) if !$debug;
$session->error_status;
▸
}
}
On Thu, Jun 26, 2008 at 11:37 AM, Eric Boyd <user-abc320474c7c@xymon.invalid> wrote:
Stewart, I'd love to see your script. Have you set up graphing for it? -Eric Stewart L wrote:I use some APC environmental monitors (model AP9319) and I have an external script I'd be happy to provide to the community. they seem to retail for about $200 now. Stewart On Thu, Jun 26, 2008 at 8:01 AM, McDonald, Dan < user-290ce4e24e19@xymon.invalid <mailto:user-290ce4e24e19@xymon.invalid>> wrote: On Thu, 2008-06-26 at 10:12 +0200, Buchan Milne wrote:On Wednesday 25 June 2008 23:52:49 White, Bruce wrote:I have never been able to get custom graphs working, so I am not graphing the output. But getting custom graphs is not high on my priority list.Well, devmon could be a convenient method to poll the device, and would make getting graphs and alerts quite easy.It might be, but since it doesn't support snmp v3 I have not been able to use it. mrtg does support snmp v3, has templates, and bbmrtg.pl is pretty stable for importing the states into hobbit. -- Daniel J McDonald, CCIE #2495, CISSP #78281, CNX Austin Energy http://www.austinenergy.com -- Stewart -- You only lose what you cling to.
-- Stewart -- You only lose what you cling to.
list Andreas Kunberger
Am Mittwoch, 25. Juni 2008 17:28 schrieb Eric Boyd:
I am looking to add temperature graphs to hobbit.
Have a look at http://www.messpc.de/ But it seems, that there is only a german version :( mfg Andreas Kunberger -- Denkendorf