Skip navigation
Currently Being Moderated

APC PDU Aggregate A/B Monitor

VERSION 3  Click to view document history
Created on: Jul 1, 2010 6:38 PM by Matt Ray - Last Modified:  Sep 19, 2011 2:30 PM by Nick Yeates

Submitted by: Nick Anderson


From the author's blog post: Monitoring A/B PDU Load with Zenoss


Redundant power is a necessity for any highly available system. Most servers have redundant power supplies and the common design pattern is to have each power supply plugged into a power distribution units that are on separate circuits. One challenge with this type of dealing with this type of design is monitoring the power load.

Monitoring A/B power is not as easy as monitoring the individual PDUs. Some servers will draw power from both power supplies, other will draw from one or the other. That being the case the circuits are almost never all or nothing, and they are almost never perfectly balanced. In order to effectively monitor the whole picture you need to monitor the aggregate power consumption of both circuits.


This ZenPack aggregates the total AMP load from two APC PDUs.


Example Situation:
1 Rack
2 20A circuits
1 PDU for each circuit.


Each piece of equipment has redundant power supplies and has access to both legs of power. This allows one circuit to fail without bringing down equipment. In order to ensure that failure of one circuit does not cause the second circuit to overload and fail the aggregate AMP load must be monitored.


While Zenoss has many rules for alerting it does not support alerts based on multiple data points. To solve this issue the author ended up writing a small script that would query the SNMP OID for the total power load on a single PDU for two specified hosts and return the aggregate as well as the individual PDU loads in Nagios plugin format. That provides a single data point that can be used for thresholds and alerts.


The thresholds and graphs are specific to a 20A circuit but could easily be modified for others.


The ZenPack provides the following:

  • /Power/PDU/Aggregate APC Device Class
    • aggregateAPCpduAB Template
      • Data Sources
        • aggregateAPCpduAB (Command)
      • Thresholds
        • Critical (Min/Max)
        • Error (Min/Max)
        • Warning (Min/Max)
      • Graph Definitions
        • Amp Load


Screen shot 2010-07-01 at 10.54.11 PM.png

Installation Requirements:

  • Zenoss Versions Supported: 3.1.0, 2.5
  • External Dependencies: snmpget needs to be installed and found in the zenoss users $PATH
  • ZenPack Dependencies: none
  • Installation Notes: Create the /Power/PDU Device Class before installing.  zopectl restart after installing this ZenPack.

  • Configuration:
    • Create 2 custom schema properties.

                      menuselect: More -> Custom Schema

            Label: APC PDU A
             Name: cAPCpduA
             Type: string
             Visible: true


            Label: APC PDU B
             Name: cAPCpduB
             Type: string

             Visible: true

      • Add your device to "/Devices/Power/PDU/Aggregate APC"
      • Set the hostname/ip for PDU A and PDU B in :menuselect: More ->  Custom


    Change History:

    • 1.1 initial release

    Tested: This ZenPack was tested with Zenoss 2.5.


    Tagged Releases:

    Known issues:

    Note: binary attachments ending in .zip will need to be unzipped before use.
    Comments (2)