What is the Best Way to Monitor Server Temperature?

Solution 1:

If you were running Linux

For CPU and board:
lm_sensors + NetMRG or Nagios

For disks:
hddtemp or smartctl (smartmontools) + NetMRG or Nagios

Since you are running Windows, speedfan may be of some use.

Solution 2:

Usually, server hardware will have temperature sensors pollable via IPMI. This is true back to all the servers I have, even generic brands, to about 2002... and is also true for my home PC.

On linux, you can access this information using the ipmitool. Some servers also expose it to snmp if you have the appropriate MIB for your vendor. Servers without an ipmi interface may expose the data through lm_sensors.

On windows, you can use the ipmiutil project to access ipmi information... there are a variety of other ways to do it, and I'm not a windows admin so I can't tell you for sure what the best way is, but you might consider running the windows version of NRPE to provide secure access to the data for nagios.


Solution 3:

Nagios and Zenoss are both extensible enough that you should be able to implement temperature monitoring easily, and they're both free.

If you want to be really simple just write a script that uses the lm_sensors tools and emails the answer, then schedule it with cron. Really, that's only a good course of action if you have just a couple of servers, but it is quick and easy to manage.

Depending on your servers there may be tools with them, or you can use SNMP too. I know the Dell PowerEdge's come with the web based servertools to alert on this sort of thing.