UPS Monitoring

NetXMS can monitor Uninterruptible Power Supplies (UPS) through the UPS subagent (ups.nsm) or via SNMP. This covers monitoring battery status, input/output power, load, and remaining runtime.

Monitoring Methods

UPS Subagent (ups.nsm)

The UPS subagent connects to UPS devices via serial port or USB to collect monitoring data. This is typically used for locally connected UPS units.

SNMP

Network-managed UPS devices with SNMP support (using network management cards like APC AP9630) can be monitored directly via SNMP. This is the preferred method for enterprise rack-mounted UPS units.

UPS Subagent Configuration

Loading the Subagent

SubAgent = ups.nsm

Connection Configuration

[UPS]
Device = 0:/dev/ttyS0:APC:MainUPS
Device = 1:/dev/ttyUSB0:MEGATEC:"Server Room UPS"

Device entry format: id:port:protocol[:name]

Component Description

id

Numeric identifier 0-127 (used as the metric argument)

port

Communication port path. For serial: /dev/ttyS0 (Linux) or COM1: (Windows); serial line parameters can be appended as device[,speed[,dataBits[,parity[,stopBits]]]], e.g. /dev/ttyS0,2400,8,n,1 (parity: n = none, o = odd, e = even). For USB protocol: device serial number or ANY for first available device. For MEC0003: USB instance ID (e.g. 186144F5) or ANY. Field values may be enclosed in single or double quotes.

protocol

UPS protocol type (case-insensitive, see table below)

name

Optional descriptive name. Defaults to <PROTOCOL>-<port> if omitted. Use quotes for names with spaces.

Examples:

[UPS]
Device = 0:/dev/ttyS0:APC
Device = 1:/dev/ttyS1:BCMXCP:"Eaton UPS"
Device = 2:ANY:USB
Device = 3:ANY:MEC0003
Device = 4:186144F5:MEC0003

Supported UPS Protocols

Protocol Description

APC

APC Smart-UPS via serial cable (940-0024C or similar). Supports all metrics.

BCMXCP

Eaton (formerly Best Power/Powerware) BCMXCP-compatible UPS. Does not support MfgDate or NominalBatteryVoltage.

MEGATEC

UPS devices using the Megatec Q1 protocol (many brands)

METASYS

Meta System UPS devices. Does not support MfgDate, BatteryLevel, NominalBatteryVoltage, LineFrequency, or EstimatedRuntime.

MICRODOWELL

Microdowell UPS devices. Supports all metrics.

USB

UPS connected via USB HID (Windows only). Supported metrics: model, serial number, battery voltage, nominal battery voltage, battery level, power load, estimated runtime, online status.

MEC0003

MEC0003 protocol for off-brand USB UPS devices (VID 0x0001/PID 0x0000, Windows only)

UPS Metrics

The UPS subagent provides the following parameters (replace 0 with your numeric device ID):

Battery Status

Parameter Description

UPS.BatteryLevel(0)

Battery charge level (percentage)

UPS.BatteryVoltage(0)

Battery voltage (V)

UPS.NominalBatteryVoltage(0)

Nominal battery voltage (V)

UPS.EstimatedRuntime(0)

Estimated on-battery runtime (minutes)

UPS.OnlineStatus(0)

Online status: 0 = online (AC power), 1 = on battery, 2 = on battery (low)

Input/Output Power

Parameter Description

UPS.InputVoltage(0)

Input AC voltage (V)

UPS.LineFrequency(0)

Input line frequency (Hz)

UPS.OutputVoltage(0)

Output AC voltage (V)

UPS.Load(0)

Output load (percentage of capacity)

Device Information

Parameter Description

UPS.Model(0)

UPS model identification

UPS.SerialNumber(0)

UPS serial number

UPS.Firmware(0)

UPS firmware version

UPS.MfgDate(0)

Manufacturing date

UPS.Temperature(0)

Internal UPS temperature (°C)

UPS.ConnectionStatus(0)

Subagent connection to device: 1 = connected, 0 = disconnected

List

List Description

UPS.DeviceList

All configured devices as id device protocol name lines

SNMP-Based UPS Monitoring

Network-managed UPS devices use the UPS-MIB (RFC 1628) or vendor-specific MIBs.

Standard UPS-MIB OIDs

OID Description

upsEstimatedMinutesRemaining

Estimated battery minutes remaining

upsEstimatedChargeRemaining

Battery charge percentage

upsBatteryVoltage

Battery voltage (0.1V units)

upsInputVoltage

Input voltage (RMS)

upsInputFrequency

Input frequency (0.1 Hz)

upsOutputVoltage

Output voltage (RMS)

upsOutputCurrent

Output current (0.1A)

upsOutputPercentLoad

Output load percentage

APC-Specific SNMP OIDs (PowerNet-MIB)

APC UPS devices with network management cards expose additional metrics:

OID Description

upsAdvBatteryCapacity

Battery capacity percentage

upsAdvBatteryRunTimeRemaining

Runtime remaining (in ticks)

upsAdvBatteryTemperature

Battery temperature

upsAdvInputLineVoltage

Input line voltage

upsAdvOutputLoad

Output load percentage

upsAdvBatteryReplaceIndicator

Battery replacement needed (1=no, 2=yes)

Metric Warning Critical

Battery level

<50%

<20%

Estimated runtime

<30 minutes

<10 minutes

Output load

>70%

>90%

Battery temperature

>35°C

>45°C

Input voltage

<200V or >250V

<190V or >260V (for 230V nominal)

Event-Based Monitoring

Configure alerts for critical UPS state changes:

  • Power failure (switched to battery)

  • Power restored (back to online)

  • Low battery warning

  • Battery replacement needed

  • UPS overload condition

The UPS subagent does not generate events itself (it only logs connection state changes), so detect these conditions with DCI thresholds:

  • UPS.OnlineStatus — activates on value 1 (on battery) or 2 (on battery, low); return to 0 indicates power restored

  • UPS.BatteryLevel — activates on low battery charge percentage

  • UPS.Load — activates on overload condition

For network-managed UPS devices monitored via SNMP, SNMP traps can additionally signal state changes. See Thresholds and SNMP Traps for configuration.

Troubleshooting

Subagent Connection Issues

  1. Verify the serial/USB port path and permissions

  2. Check that the UPS cable is the correct type for the protocol

  3. Verify the UPS type setting matches your device

  4. Check agent log for UPS communication errors

SNMP Monitoring Issues

  1. Verify SNMP is enabled on the UPS network management card

  2. Check SNMP community string/credentials

  3. Verify the UPS management card IP is reachable

  4. Walk the UPS-MIB to confirm available OIDs