Temperature Monitoring with Zenoss

A while back I added our AVTech Room Alert 3E environment monitors to our Zenoss Core server for monitoring and trending temperature in our network closets and data centres, but recently brought up a new Zenoss Core server running version 4.2.5.  So I thought I'd take the opportunity to write up how to integrate the Room Alert 3E devices with Zenoss Core 4.2.5 while adding them back in.  As a note, the Room Alert devices have a number of different sensors available including Humidity and Air Flow that you'd be able to integrate with Zenoss the same way.

First you want to import the MIB file for the device.  This is accomplished by navigating to 'Advanced', 'MIBs', click on the '+' sign in the bottom right corner and select 'Add MIB from Desktop'.  Select your MIB file for your device and go ahead with the import.  Your new MIB entry will show up after you reload the MIB page.  The screen shot below shows the MIB that I want to monitor for the internal temperature sensor in degrees Celsius.

MIBs_3E

I created a device class 'Environmental' and added my Room Alert 3E device into it.

3E_addedSo, now we want to add a monitoring template for the device.  Navigate to 'Advanced', Monitoring Templates' and click on the plus sign in the bottom left again.  Name your new template 'Environmental' and for the path select the new Environmental class that was created.

Template_pathWith your newly created template selected you want to add a Data Source, which you do by clicking on the plus sign under the Data Sources label.  It prompts for a name and type, type being SNMP in this case.  Enter your name and click submit.

data_sourceYou'll now want to 'View and Edit Details' for your Data Source so that you can add the OID for the MIB entry that you want to monitor.  Zenoss apparently likes you to add a '.0' to the end of the of the OID, so keep that in mind when you're entering it. You can also test your configuration against your device to make sure that you're getting back from it what you're expecting.

edit_data_sourceNow you can select 'Add Data Point' and you can give it the same name as your data source. You shouldn't need to change anything on the Data Point configuration unless the OID data that is returned needs to be adjusted (you know like a decimal point moved around to make it an actual temperature that is returned).

So now that we have data we can do something with it, like add a graph.  So if you scan to the right in Zenoss you'll find the Graph Definitions window.  Click on the plus sign for this window and enter what you'd like this graph to be named.  In my case it's 'Internal Temp' for the internal temperature sensor on the 3E.  Now you can select 'View and Edit Details' for your graph and enter into the units field 'Celsius' (or Fahrenheit, depending on your monitored OID).

graph_defAfter you click submit you can associate your data with the graph.  You do this by highlighting your data point, clicking on the gear symbol above it and selecting 'Add Data Point to Graph', and then selecting your graph from the drop down list that appears.

Now that we have that all taken care of we can bind the template that we've created to our 'Environmental' class.  Click on the Infrastructure tab, then on the Environmental class, then click on the gear at the bottom of the window and select 'Bind Templates'.  On the window that opens select the Environmental template on the left and move it to the selected side on the right and click Save.

If you give things a few minutes to collect data you can now go into Graphs under the device and it should now be happily graphing out your temperature information.  This is all well and good, but we really want to be alerted before our network closets become saunas.

So we head back into our monitoring template, and on the top right we have the Thresholds section.  Click on the plus sign to add a new threshold entry and give it a name, and select MinMaxThreshold as the type.  Click on the Gear to edit the threshold entry and scroll down until you see 'Maximum Value'.  You'll want to set this to the highest the temperature can get before it goes into alarm, so if you set it to 30 it wouldn't go into alarm until the temperature reading reached 31C. You could also change the severity of the alarm from this window, and change the event class the alerts show up under.

Edit_threshold

With all that in place you can set up your event triggers to alert you that there's an environmental issue, and you've got a lovely trending temperature graph that you can check to see if your temps are slowing rising over time.

graph

So that's all for now, hopefully you'll find this useful for your Temperature Monitoring with Zenoss.