UPS¶
This page gets Ferrule reading your UPS through its network card, over SNMP.
What Ferrule reads: the UPS's maker, model and firmware; whether it is running on mains, on battery or on bypass, and for how long; the battery's status, charge, voltage and temperature; how many minutes the battery would last now; the input voltage; the output load; and the alarms the UPS itself raises, such as a battery that needs replacing. What it can't: it changes nothing. It can't switch outlets or shut anything down.
Ferrule reads the standard UPS table, UPS-MIB (RFC 1628), which most UPS network cards answer, whoever made the UPS.
Several UPSes, one slot
One entry can list several UPSes that share the same community or SNMPv3 user.
Turn on SNMP on the UPS's network card¶
Open the network card's web page and find its SNMP settings:
- Turn on SNMP, read-only: SNMPv2c with a community, or SNMPv3 with a user and two passphrases of at least 8 characters.
- If the card lists RFC 1628 or UPS-MIB as a separate setting, turn it on.
- If it can limit SNMP to certain addresses, allow only the Docker host that runs Ferrule.
My card only speaks its maker's own MIB
Some cards speak only their maker's own SNMP table, or have RFC 1628 turned off. Then Test says the card has no UPS-MIB (RFC 1628). Look for an RFC 1628 setting on the card, or a firmware update. Ferrule doesn't read makers' own UPS tables.
What about PDUs?
Each maker's PDU speaks its own SNMP table, with no standard one to share, so Ferrule doesn't read PDUs.
Enter it in the setup wizard¶
On the wizard's What you have page, set UPS (UPS-MIB) to the number of groups you have. On its page:
- Name: what you call the group, such as
racks. - Addresses: each network card's name or IP address, separated by
commas, without
https://:192.168.1.20,192.168.1.21. - SNMP version: SNMPv2c or SNMPv3, and the community or the user and passphrases.
- Click Test.
When it works you see ✓ Connected: and what it found, such as
1 UPS, on mains. Any alert the UPS has right now is listed under it.
Editing the stack by hand
For SNMPv2c, the secret is the community. Write any $ as $$.
SOURCE_6=ups 192.168.1.20,192.168.1.21 name=racks version=2c
SOURCE_6_SECRET=<community>
For SNMPv3, add version=3 user=<user>, and put both passphrases in the
secret with a colon between them, as for
SNMP switches. See
Every variable.
Where it shows up¶
Each UPS gets a panel on the Power and servers tab: where its power comes from first, then the runtime left, the battery, the load, the input, and what the UPS is reporting.
It alerts when:
| Alert | When | Level |
|---|---|---|
| UPS on battery | The output comes from the battery: mains is out, or the UPS stopped using it | critical |
| UPS battery low | The UPS reports its battery low or depleted | critical |
| UPS battery needs replacing | The UPS raises its "battery bad" alarm | warning |
| UPS overloaded | The output load is 90% or more | warning |
| UPS runtime low | 10 minutes of battery or less at the present load; 5 or less is critical | warning, critical |
| Source unreachable | The UPS's card stops answering | critical |
Why these lines?
A clean shutdown of a few servers and their storage takes three to five minutes. Under five minutes it may not finish; under ten there is little room for a shutdown that starts late, or a battery that holds less than the UPS thinks. At 90% load, one more server switched on, or the fans spinning up on battery, can take the UPS over its rating.
If something's wrong¶
The Docker host must reach each network card on UDP port 161.
| What you see | What to do |
|---|---|
| no answer from ...; is SNMPv2c on, is the community right, and is UDP 161 reachable? | A card ignores a wrong community without a word, so check the community first, then that SNMP is on and UDP 161 is open. |
| it answers SNMP but has no UPS-MIB (RFC 1628) | See My card only speaks its maker's own MIB, above. |
| refused SNMPv3: ... | Check the user and passphrases, as for SNMP switches. |
| none of the N UPSes answered | No UPS in the list answered: check the credentials and the firewall. |
See Troubleshooting for more.