247-IT Features Enterprise edition
UPS monitoring: monitor, warn, test
Three Enterprise features for anyone who watches UPS units for more than shutting down Hyper-V hosts: a monitoring-only mode for the whole installation or per UPS, warning thresholds for battery, load, temperature and input voltage, and the UPS self-test on demand or on a schedule. No separate license is required.
Who these features are for
Many UPS units, several brands
SNMP and NUT UPS units from different vendors in one overview, with the same thresholds, alerts and interfaces for every device.
Monitoring without shutdown logic
UPS units at sites where the software should not shut anything down run in monitoring-only mode per UPS, next to UPS units with automatic shutdown.
Values in your existing tools
Warnings and critical states go out as alerts, SNMP traps in UPS-MIB format and Windows events with fixed IDs; measurements reach Prometheus or PRTG through the health endpoint.
Sites without virtualisation
In global monitoring-only mode the interface hides everything related to Hyper-V hosts, VMs and additional servers. What remains is plain UPS monitoring.
From poll to notification
-
Poll
Each UPS is polled at its own interval over SNMP v1/v2c/v3 or NUT: status, battery charge, remaining runtime, voltages, load, temperature and further values. -
Warning thresholds
If battery, load, temperature or input voltage stay outside the configured limits for two consecutive polls, a warning goes out. This applies in both operating modes. -
Critical threshold
Battery charge, remaining runtime or the UPS's LOW BATTERY flag trigger after the configured number of consecutive polls. With automatic shutdown the emergency shutdown starts; in monitoring-only mode a single warning goes out instead. -
Hand-off
All configured alert channels, SNMP traps, the Windows event log and the health endpoint pass the state on to people and monitoring systems.
Monitoring-only mode
The software keeps polling the UPS, evaluates thresholds and sends alerts, but does not shut anything down. For a UPS set this way there is no emergency shutdown, no live migration and no early shutdown of additional servers. Hosts and servers assigned to a monitor-only UPS are not shut down by a combined outage of other UPS units either.
Where to set it
- Globally as the operating mode “Monitoring only (no shutdown)” on the Service tab of the desktop application or on the service page of the remote web interface
- Per UPS with “Monitor only (no shutdown)” in the UPS settings
- Mixed: some UPS units monitored only, for example in branch offices, others with automatic Hyper-V shutdown
Interface in global mode
- The Hyper-V host, VM and additional-server tabs are hidden
- The dashboard shows the banner “Monitoring only — no automatic shutdown”
- The host panel and the emergency-shutdown button are hidden
- Settings that only serve the shutdown — test mode, abort window, shutting down the local machine, migration thresholds — are hidden in the desktop application and the web interface; their saved values are kept
When the critical threshold is reached
| What | Behaviour |
|---|---|
| Triggerafter the configured number of consecutive polls | Battery charge or remaining runtime below the threshold, or the UPS reports LOW BATTERY |
| Alert | A single warning “UPS CRITICAL — threshold reached (monitoring only)” with the UPS name and reason, through every configured alert channel |
| Windows event | Event ID 2003, category Monitor |
| SNMP trapin the Standard trap format (UPS-MIB) | upsTrapAlarmEntryAdded with upsAlarmLowBattery, on mains return upsTrapAlarmEntryRemoved |
| Shutdown history | No entry, since nothing was shut down |
| Mains return | The normal power-restored message, the alarm is cleared |
No effect without an Enterprise license
Without an active Enterprise license the setting has no effect: the software shuts down as usual and writes a warning to the log. An expired license can therefore never cause a planned shutdown to be skipped.
Warn before it gets critical
Warning thresholds report conditions that do not justify a shutdown but need attention: an overloaded UPS, a warm battery room, unusual mains voltage. They never trigger an action on hosts or servers.
| Threshold | Warning at | Hysteresis | SNMP trap |
|---|---|---|---|
| Battery charge | ≤ X % | 2 % | previous trap format with the configured trap OID, as there is no matching standard alarm |
| Output load | ≥ X % | 2 % | upsAlarmOutputOverload |
| Battery temperature | ≥ X °C | 2 °C | upsAlarmTempBad |
| Input voltage minimumonly evaluated on mains | below X V | 5 V | upsAlarmInputBad |
| Input voltage maximum | above X V | 5 V | upsAlarmInputBad |
- Two polls to a warning. A single outlier does not trigger anything.
- Two polls to the all-clear, with hysteresis, so a value right at the limit does not keep switching between warning and all-clear.
- Separate alert trigger “Warning thresholds”, on by default and independent of the other triggers.
- Windows event 2004 in the Monitor category.
- SNMP traps in UPS-MIB format for load, temperature and input voltage:
upsTrapAlarmEntryAddedon the warning,upsTrapAlarmEntryRemovedon the all-clear. This applies to the Standard trap format; in the previous format every message goes out with the configured trap OID.
UPS self-test, on demand or scheduled
A battery test shows whether the battery still carries the load. The software starts it at the push of a button or on a schedule and reads the result with the normal poll. A failed test triggers the existing battery-health alert.
Starting a test
- Opt-in per UPS with “Allow self-test”, off by default
- On demand with “Start self-test now” in the desktop application and the remote web interface
- Weekly on a weekday at a given hour
- Monthly on a day between 1 and 28 at a given hour
- In the application's test mode nothing is sent to the UPS; the start is only logged
Checked right before the start
- UPS on mains (Online or Charging)
- UPS not on bypass
- Battery charge at least the configured minimum, default 90 %
- No outage and no shutdown in progress
- Scheduled: at most once per slot, never within 24 hours of the previous self-test. If a condition is not met at the scheduled hour, it is re-checked every minute within that hour; a missed slot is not caught up.
Command and requirements per protocol
| Protocol | Command | Requirement |
|---|---|---|
| SNMPAPC, CyberPower, Eaton (XUPS) | SET on the vendor's own test OID | SNMP v1/v2c: write community, stored DPAPI-encrypted like every credential. SNMPv3: user with write access |
| SNMPall others | RFC 1628 standard test via upsTestId | |
| NUT | INSTCMD test.battery.start.quick, fallback test.battery.start | NUT user with instcmds in upsd.users |
- Windows event 2005: self-test started
- Windows event 2006: self-test could not be started
The load briefly runs on battery
During a battery test the UPS briefly supplies the connected equipment from the battery. Many models briefly report "on battery" during the test. Such an alert within the first 5 minutes after the start goes out as "UPS — on battery during self-test" instead of a power-loss alert; monitoring and shutdown logic continue unchanged. Still schedule it inside a maintenance window and do not set the minimum battery charge too low.
What the software reads from the UPS
Protocols and vendors
- SNMP v1, v2c and v3 (SHA/MD5, AES/DES) plus NUT over TCP port 3493
- Vendor-specific evaluation for APC, Eaton, Socomec, Vertiv/Liebert, Huawei and CyberPower
- RFC 1628 (UPS-MIB) as the fallback for every other SNMP device
- More than 100 vendors through NUT and SNMP combined
- Custom OID profiles as a JSON file for devices none of the built-in mappings recognise
- Credentials stored DPAPI-encrypted
Values
| Value | Used for |
|---|---|
| Status | Online, battery, low battery, charging |
| Battery charge, runtime | critical threshold, warning threshold |
| Input, output voltage | input-voltage warning threshold |
| Load | warning threshold, energy report |
| Temperature | warning threshold |
| Bypass | own alert, self-test precondition |
| Battery replacement, self-test result | battery-health alert |
Which values a UPS actually provides depends on the model and its management card. The differences between vendors are covered in the guide Monitoring UPS Units From Multiple Vendors.
Where the notifications go
| Channel | Technology | Edition |
|---|---|---|
| SMTP with TLS/SSL or Microsoft 365 (Graph API) | Standard and up | |
| SNMP traptrap v2c to a receiver of your choice | Standard trap format: UPS-MIB (RFC 1628) traps, upsTrapOnBattery and upsTrapAlarmEntryAdded/-Removed with upsWellKnownAlarms; the UPS is named in upsIdentName | Standard and up |
| Microsoft Teams, SMS, webhook | Teams Workflows webhook, seven.io, JSON POST over HTTPS | Pro and up |
| Health endpointport 9099, 127.0.0.1 only by default, optional bearer token | /health JSON, /health/simple OK/WARN/CRIT/UNKNOWN, /metrics Prometheus, /prtg PRTG “HTTP Data Advanced” | Enterprise |
| Windows event logsource UpsHyperVShutdown | fixed event IDs for Microsoft Sentinel, Splunk and other SIEM systems | Enterprise |
| Remote web interface | browser-based operation over HTTPS, including Windows Server Core without a local GUI | Enterprise |
The trap format is chosen in the alert manager under SNMP trap → Trap format. New installations send in the Standard format (UPS-MIB, RFC 1628); existing installations keep the previous format after the update so that existing receiver rules keep working. For the monitoring system to show the traps by name, the UPS-MIB must be loaded there; most systems already ship it.
Event IDs in the Monitor category
| ID | Meaning |
|---|---|
| 2000 | Monitoring of a UPS started |
| 2001 | Monitoring of a UPS stopped |
| 2002 | Mains back after a triggered shutdown |
| 2003 | Critical threshold reached, monitoring only |
| 2004 | Warning threshold |
| 2005 | Self-test started |
| 2006 | Self-test could not be started |
Large fleets
- Any number of UPS units, no fixed limit — for example five UPS units at five sites in one installation, each with its own operating mode, warning thresholds and self-test (Standard edition: one UPS)
- From two UPS units on, the dashboard can switch to a compact table with one row per UPS
- The remote web interface moves UPS units that need attention to the top and can hide the rest
- PDF report covering every UPS in one document, with model and serial number
- Availability and energy reports plus a monthly manager report as PDF by e-mail
Mixed operation: head office and branch offices
A head office runs two Hyper-V hosts on two UPS units; two branch offices each have one UPS with a small server. The branch offices should be monitored, but the software should not shut anything down there.
| UPS | Operating mode | At the critical threshold |
|---|---|---|
| Head office AHyper-V host 1 | automatic shutdown | VMs and host shut down gracefully or migrate to the partner host |
| Head office BHyper-V host 2 | automatic shutdown | same as head office A |
| Branch 1server explicitly assigned | monitor only | warning, event 2003, SNMP trap, no shutdown |
| Branch 2server explicitly assigned | monitor only | same as branch 1 |
If only one head-office UPS fails, the shutdown only affects its host. In a combined outage of both, the software shuts down the hosts and servers of the affected UPS units; UPS units still on mains keep their hosts running. The branch servers stay up in every case because they are assigned to a monitor-only UPS. The explicit assignment matters: an additional server without a UPS assignment counts as “belongs to every UPS” and would be shut down with any UPS outage.
The same applies to the machine the monitoring runs on. It can be assigned to a UPS on the Service tab and then only shuts down when that UPS is affected. Without an assignment it shuts down with any triggering UPS; if it is assigned to a monitor-only UPS, no outage shuts it down automatically. Warning thresholds and the self-test can be set up for all four UPS units regardless of their operating mode.
In seven steps
- Install the service. Install and start the Windows Service from the interface. On Windows Server Core choose the “Service only” installation type with the remote web interface. The first account is then created in the browser with a one-time setup token that the service writes to
%ProgramData%\UPSHyperVShutdown\web-setup-token.txt(readable by SYSTEM and Administrators only). Details in the FAQ on the home page. - Add the UPS units. Enter address, protocol (SNMP v1/v2c/v3 or NUT) and credentials per UPS and test the connection.
- Choose the operating mode. Globally on the Service tab or per UPS with “Monitor only (no shutdown)”. In mixed setups assign hosts and servers explicitly to their UPS.
- Set the thresholds. Critical thresholds for battery charge and remaining runtime with the number of confirmation polls, plus the warning thresholds for battery, load, temperature and input voltage.
- Set up alert channels. E-mail, Teams, SMS, webhook or SNMP trap, each with its own test button. For SNMP traps choose the Standard trap format (UPS-MIB). The “Warning thresholds” trigger is on by default.
- Optionally allow the self-test. Enable “Allow self-test”, choose schedule and minimum battery charge. For SNMP store a write community or an SNMPv3 user with write access; for NUT add
instcmdsinupsd.users. - Connect monitoring. Enable the health endpoint, set bind address and bearer token if needed, point Prometheus or PRTG at it, load the UPS-MIB in the trap receiver and build SIEM rules on event IDs 2003 to 2006.
UPS monitoring FAQ
Which license do I need for the UPS monitoring features?
The Enterprise license. Monitoring-only mode, warning thresholds and the UPS self-test are part of the Enterprise edition; there is no separate license or edition for them. Enterprise also includes everything in Pro, such as multiple UPS units, reports and the additional alert channels. The 30-day trial unlocks every Enterprise feature.
How many UPS units can I monitor?
With Enterprise, as many as you like; there is no fixed limit. One installation can, for example, monitor five UPS units at five sites, each with its own operating mode, warning thresholds and self-test schedule. The Standard edition monitors exactly one UPS, Pro and above any number. From two UPS units on, the dashboard can switch to a compact table, and the remote web interface lists UPS units needing attention first.
Can I only monitor some UPS units and keep automatic shutdown for others?
Yes. The operating mode can be set for the whole installation or per UPS with the option “Monitor only (no shutdown)” in the UPS settings. The UPS units in branch offices can then be monitored only, while the UPS units feeding the Hyper-V hosts keep automatic shutdown. Hosts and servers assigned to a monitor-only UPS are not shut down by a combined outage of other UPS units either.
What happens in monitoring-only mode when the critical threshold is reached?
Nothing is shut down, nothing is migrated and no additional server is shut down early. After the configured number of consecutive polls, a single warning “UPS CRITICAL — threshold reached (monitoring only)” goes out through every configured alert channel. The software also writes Windows event 2003 and, in the Standard trap format, sends the SNMP trap upsTrapAlarmEntryAdded with upsAlarmLowBattery. No entry is added to the shutdown history. When mains power returns, the normal power-restored message follows and the alarm is cleared.
What does the setting do without an Enterprise license?
Nothing. The software keeps its normal behaviour, so it shuts down when the thresholds are reached, and writes a warning to the log. A missing or expired license therefore never leads to a shutdown being silently skipped.
How do the warning thresholds avoid false alarms?
A warning is only raised after two consecutive polls outside the range. The all-clear follows after two polls back in range, with a hysteresis of 2 percent for battery and load, 2 °C for temperature and 5 V for input voltage. The minimum input voltage is only evaluated while the UPS is on mains. Setting a threshold to 0 turns it off.
Which permissions does the UPS self-test need?
For SNMP v1/v2c a write community, for SNMPv3 a user with write access. The write community is stored DPAPI-encrypted like every other credential. For NUT the user needs instcmds in upsd.users; the software sends INSTCMD test.battery.start.quick and falls back to test.battery.start.
When does a self-test not start?
Right before starting, the software checks that the UPS is on mains (Online or Charging), not on bypass, that the battery charge is at least the configured minimum (default 90 percent), and that no outage or shutdown is in progress. A scheduled test runs at most once per slot and never within 24 hours of the previous self-test. If a test cannot be started, the software writes Windows event 2006. In the application's test mode nothing is sent to the UPS.
How do I feed the UPS values into Prometheus, PRTG or a SIEM?
Through the health endpoint: /health returns JSON, /health/simple plain text OK/WARN/CRIT/UNKNOWN, /metrics the Prometheus text format and /prtg the native format of the PRTG sensor “HTTP Data Advanced”. By default the endpoint listens on port 9099 and only on 127.0.0.1, optionally protected by a bearer token. For SIEM systems such as Microsoft Sentinel or Splunk the software writes fixed event IDs to the Windows Application log, including 2003 to 2006 for the UPS monitoring features.
UPS monitoring in the Enterprise edition
One-time license, 30-day free trial with every Enterprise feature. The setup guide covers the service, UPS units and alert channels.