Submitted by: Nick Anderson
Description:
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)
- Data Sources
- aggregateAPCpduAB Template
- Thresholds
- Critical (Min/Max)
- Error (Min/Max)
- Warning (Min/Max)
- Graph Definitions
- Amp Load
Screenshots:
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
Default:
Visible: true
Label: APC PDU B
Name: cAPCpduB
Type: string
Default:
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
History:
Change History:
- 1.1 initial release
Tested: This ZenPack was tested with Zenoss 2.5.
Source:
- http://zenpacks.zenoss.org/trac-zenpacks/browser/zenpacks/ZenPacks.community.aggregateAPCpduAB
- The aggregateAPCpduAB ZenPack can also be found on the author's github profile. http://github.com/nickanderson/ZenPacks.community.aggregateAPCpduAB
Tagged Releases:
Known issues: