# APC UPS by SNMP ## Overview The template to monitor APC UPS with NMC by Zabbix SNMP agent. Note: please, use the latest version of the firmware for your NMC in order for the template to work correctly. ## Requirements Zabbix version: 7.0 and higher. ## Tested versions This template has been tested on: - APC UPS ## Configuration > Zabbix should be configured according to the instructions in the [Templates out of the box](https://www.zabbix.com/documentation/7.0/manual/config/templates_out_of_the_box) section. ## Setup 1\. Create a host for APC UPS management IP as SNMPv2 interface. 2\. Link the template to the host. 3\. Customize macro values if needed. ### Macros used |Name|Description|Default| |----|-----------|-------| |{$BATTERY.TEMP.MAX.WARN}|
Maximum battery temperature for trigger expression.
|`55`| |{$BATTERY.CAPACITY.MIN.WARN}|Minimum battery capacity percentage for trigger expression.
|`50`| |{$UPS.OUTPUT.MAX.WARN}|Maximum output load in % for trigger expression.
|`80`| |{$UPS.INPUT_FREQ.MIN.WARN}|Minimum input frequency for trigger expression.
|`49.7`| |{$UPS.INPUT_FREQ.MAX.WARN}|Maximum input frequency for trigger expression.
|`50.3`| |{$UPS.INPUT_VOLT.MIN.WARN}|Minimum input voltage for trigger expression.
|`197`| |{$UPS.INPUT_VOLT.MAX.WARN}|Maximum input voltage for trigger expression.
|`243`| |{$TIME.PERIOD}|Time period for trigger expression.
|`15m`| |{$SNMP.TIMEOUT}|The time interval for SNMP agent availability trigger expression.
|`5m`| ### Items |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |APC UPS: Model|MIB: PowerNet-MIB
The UPS model name (e.g. 'APC Smart-UPS 600').
|SNMP agent|system.model[upsBasicIdentModel]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
An 8-character string identifying the serial number of
the UPS internal microprocessor. This number is set at
the factory. NOTE: This number does NOT correspond to
the serial number on the rear of the UPS.
|SNMP agent|system.sn[upsAdvIdentSerialNumber]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The status of the UPS batteries. A batteryLow(3) value
indicates the UPS will be unable to sustain the current
load, and its services will be lost if power is not restored.
The amount of run time in reserve at the time of low battery
can be configured by the upsAdvConfigLowBatteryRunTime.
A batteryInFaultCondition(4)value indicates that a battery
installed has an internal error condition.
|SNMP agent|battery.status[upsBasicBatteryStatus]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The remaining battery capacity expressed as
percentage of full capacity.
|SNMP agent|battery.capacity[upsHighPrecBatteryCapacity]**Preprocessing**
Custom multiplier: `0.1`
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The UPS battery run time remaining before battery
exhaustion.
|SNMP agent|battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]**Preprocessing**
Custom multiplier: `0.01`
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The actual battery bus voltage in Volts.
|SNMP agent|battery.voltage[upsHighPrecBatteryActualVoltage]**Preprocessing**
Custom multiplier: `0.1`
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The date when the UPS system's batteries were last replaced
in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value
is originally set at the factory. When the UPS batteries
are replaced, this value should be reset by the administrator.
For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.
|SNMP agent|battery.last_replace_date[upsBasicBatteryLastReplaceDate]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
Indicates whether the UPS batteries need replacement.
|SNMP agent|battery.replace_indicator[upsAdvBatteryReplaceIndicator]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The number of external battery packs connected to the UPS. If
the UPS does not use smart cells then the agent reports
ERROR_NO_SUCH_NAME.
|SNMP agent|battery.external_packs_count[upsAdvBatteryNumOfBattPacks]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The current internal UPS temperature in Celsius.
Temperatures below zero read as 0.
|SNMP agent|battery.temperature[upsHighPrecBatteryTemperature]**Preprocessing**
Custom multiplier: `0.1`
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The current utility line voltage in VAC.
|SNMP agent|input.voltage[upsHighPrecInputLineVoltage]**Preprocessing**
Custom multiplier: `0.1`
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The current input frequency to the UPS system in Hz.
|SNMP agent|input.frequency[upsHighPrecInputFrequency]**Preprocessing**
Custom multiplier: `0.1`
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The reason for the occurrence of the last transfer to UPS
battery power. The variable is set to:
- noTransfer(1) -- if there is no transfer yet.
- highLineVoltage(2) -- if the transfer to battery is caused
by an over voltage greater than the high transfer voltage.
- brownout(3) -- if the duration of the outage is greater than
five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- blackout(4) -- if the duration of the outage is greater than five
seconds and the line voltage is between 40% of the rated
output voltage and ground.
- smallMomentarySag(5) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and the low transfer voltage.
- deepMomentarySag(6) -- if the duration of the outage is less
than five seconds and the line voltage is between 40% of the
rated output voltage and ground. The variable is set to
- smallMomentarySpike(7) -- if the line failure is caused by a
rate of change of input voltage less than ten volts per cycle.
- largeMomentarySpike(8) -- if the line failure is caused by
a rate of change of input voltage greater than ten volts per cycle.
- selfTest(9) -- if the UPS was commanded to do a self test.
- rateOfVoltageChange(10) -- if the failure is due to the rate of change of
the line voltage.
|SNMP agent|input.fail[upsAdvInputLineFailCause]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The output voltage of the UPS system in VAC.
|SNMP agent|output.voltage[upsHighPrecOutputVoltage]**Preprocessing**
Custom multiplier: `0.1`
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The current UPS load expressed as percentage
of rated capacity.
|SNMP agent|output.load[upsHighPrecOutputLoad]**Preprocessing**
Custom multiplier: `0.1`
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The current in amperes drawn by the load on the UPS.
|SNMP agent|output.current[upsHighPrecOutputCurrent]**Preprocessing**
Custom multiplier: `0.1`
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The current state of the UPS. If the UPS is unable to
determine the state of the UPS this variable is set
to unknown(1).
During self-test most UPSes report onBattery(3) but
some that support it will report onBatteryTest(15).
To determine self-test status across all UPSes, refer
to the upsBasicStateOutputState OID.
|SNMP agent|output.status[upsBasicOutputStatus]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: SNMPv2-MIB
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.
|SNMP agent|system.net.uptime[sysUpTime.0]**Preprocessing**
Custom multiplier: `0.01`
MIB: HOST-RESOURCES-MIB
The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.
|SNMP agent|system.hw.uptime[hrSystemUptime.0]**Preprocessing**
Check for not supported value
⛔️Custom on fail: Set value to: `0`
Custom multiplier: `0.01`
The item is used to collect all SNMP traps unmatched by other snmptrap items
|SNMP trap|snmptrap.fallback| |APC UPS: System location|MIB: SNMPv2-MIB
The physical location of this node (e.g., `telephone closet, 3rd floor'). If the location is unknown, the value is the zero-length string.
|SNMP agent|system.location[sysLocation.0]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: SNMPv2-MIB
The textual identification of the contact person for this managed
node, together with information on how to contact this person. If no contact
information is known, the value is the zero-length string.
|SNMP agent|system.contact[sysContact.0]**Preprocessing**
Discard unchanged with heartbeat: `12h`
MIB: SNMPv2-MIB
The vendor's authoritative identification of the network management
subsystem contained in the entity. This value is allocated within the SMI enterprises
subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what
kind of box' is being managed. For example, if vendor`Flintstones, Inc.' was
assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1
to its `Fred Router'.
|SNMP agent|system.objectid[sysObjectID.0]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: SNMPv2-MIB
An administratively-assigned name for this managed node.By
convention, this is the node's fully-qualified domain name. If the name is unknown,
the value is the zero-length string.
|SNMP agent|system.name[sysName.0]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: SNMPv2-MIB
A textual description of the entity. This value should
include the full name and version identification of the system's hardware type, software operating-system, and
networking software.
|SNMP agent|system.descr[sysDescr.0]**Preprocessing**
Discard unchanged with heartbeat: `12h`
Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
Possible value:
0 - not available
1 - available
2 - unknown
|Zabbix internal|zabbix[host,snmp,available]**Preprocessing**
Discard unchanged with heartbeat: `6h`
A battery installed has an internal error condition.
|`last(/APC UPS by SNMP/battery.status[upsBasicBatteryStatus])=4`|Average|| |APC UPS: Battery is Low|The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.
|`last(/APC UPS by SNMP/battery.status[upsBasicBatteryStatus])=3`|Average|| |APC UPS: Battery has low capacity||`last(/APC UPS by SNMP/battery.capacity[upsHighPrecBatteryCapacity]) < {$BATTERY.CAPACITY.MIN.WARN}`|High|| |APC UPS: Battery needs replacement|A battery installed has an internal error condition.
|`last(/APC UPS by SNMP/battery.replace_indicator[upsAdvBatteryReplaceIndicator])=2`|High|| |APC UPS: Battery has high temperature||`min(/APC UPS by SNMP/battery.temperature[upsHighPrecBatteryTemperature],{$TIME.PERIOD}) > {$BATTERY.TEMP.MAX.WARN}`|High|| |APC UPS: Unacceptable input voltage||`min(/APC UPS by SNMP/input.voltage[upsHighPrecInputLineVoltage],{$TIME.PERIOD}) > 0 and (min(/APC UPS by SNMP/input.voltage[upsHighPrecInputLineVoltage],{$TIME.PERIOD}) > {$UPS.INPUT_VOLT.MAX.WARN} or max(/APC UPS by SNMP/input.voltage[upsHighPrecInputLineVoltage],{$TIME.PERIOD}) < {$UPS.INPUT_VOLT.MIN.WARN})`|High|| |APC UPS: Unacceptable input frequency||`min(/APC UPS by SNMP/input.frequency[upsHighPrecInputFrequency],{$TIME.PERIOD}) > 0 and (min(/APC UPS by SNMP/input.frequency[upsHighPrecInputFrequency],{$TIME.PERIOD}) > {$UPS.INPUT_FREQ.MAX.WARN} or max(/APC UPS by SNMP/input.frequency[upsHighPrecInputFrequency],{$TIME.PERIOD}) < {$UPS.INPUT_FREQ.MIN.WARN})`|High|| |APC UPS: Output load is high|A battery installed has an internal error condition.
|`min(/APC UPS by SNMP/output.load[upsHighPrecOutputLoad],{$TIME.PERIOD}) > {$UPS.OUTPUT.MAX.WARN}`|High|| |APC UPS: UPS is Timed Sleeping||`last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=5`|Average|| |APC UPS: UPS is Switched Bypass||`last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=9`|Average|| |APC UPS: UPS is Software Bypass||`last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=6`|Average|| |APC UPS: UPS is Sleeping Until Power Return||`last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=11`|Average|| |APC UPS: UPS is Rebooting||`last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=8`|Average|| |APC UPS: UPS is On Smart Trim||`last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=12`|Average|| |APC UPS: UPS is on Smart Boost||`last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=4`|Average|| |APC UPS: UPS is on battery||`last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=3`|Average|| |APC UPS: UPS is Off||`last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=7`|Average|| |APC UPS: UPS is Emergency Static Bypass||`last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=16`|Average|| |APC UPS: UPS is Hardware Failure Bypass||`last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=10`|Average|| |APC UPS: Host has been restarted|Uptime is less than 10 minutes.
|`(last(/APC UPS by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/APC UPS by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/APC UPS by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/APC UPS by SNMP/system.net.uptime[sysUpTime.0])<10m)`|Warning|**Manual close**: YesThe name of the system has changed. Acknowledge to close the problem manually.
|`last(/APC UPS by SNMP/system.name[sysName.0],#1)<>last(/APC UPS by SNMP/system.name[sysName.0],#2) and length(last(/APC UPS by SNMP/system.name[sysName.0]))>0`|Info|**Manual close**: Yes| |APC UPS: No SNMP data collection|SNMP is not available for polling. Please check device connectivity and SNMP settings.
|`max(/APC UPS by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0`|Warning|| ### LLD rule Input phases discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |Input phases discovery|The input phase identifier. OID upsPhaseInputPhaseIndex.1.1
|SNMP agent|input.phases.discovery| ### Item prototypes for Input phases discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |{#PHASEINDEX}: Phase input voltage|MIB: PowerNet-MIB
The input voltage in VAC, or -1 if it's unsupported
by this UPS.
|SNMP agent|phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The input current in 0.1 amperes, or -0.1 if it's
unsupported by this UPS.
|SNMP agent|phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]**Preprocessing**
Custom multiplier: `0.1`
Discard unchanged with heartbeat: `6h`
The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1
|SNMP agent|output.phases.discovery| ### Item prototypes for Output phases discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |{#PHASEINDEX}: Phase output voltage|MIB: PowerNet-MIB
The output voltage in VAC, or -1 if it's unsupported
by this UPS.
|SNMP agent|phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The output current in 0.1 amperes drawn
by the load on the UPS, or -1 if it's unsupported
by this UPS.
|SNMP agent|phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]**Preprocessing**
Custom multiplier: `0.1`
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The percentage of the UPS load capacity in VA at
redundancy @ (n + x) presently being used on this
output phase, or -1 if it's unsupported by this UPS.
|SNMP agent|phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The battery cartridge status.
bit 0 Disconnected
bit 1 Overvoltage
bit 2 NeedsReplacement
bit 3 OvertemperatureCritical
bit 4 Charger
bit 5 TemperatureSensor
bit 6 BusSoftStart
bit 7 OvertemperatureWarning
bit 8 GeneralError
bit 9 Communication
bit 10 DisconnectedFrame
bit 11 FirmwareMismatch
|SNMP agent|battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The current internal UPS temperature in Celsius.
Temperatures below zero read as 0.
|SNMP agent|battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]**Preprocessing**
Custom multiplier: `0.1`
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The battery pack serial number.
|SNMP agent|system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The battery cartridge estimated battery replace date.
|SNMP agent|battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The battery cartridge health.
bit 0 Battery lifetime okay
bit 1 Battery lifetime near end, order replacement cartridge
bit 2 Battery lifetime exceeded, replace battery
bit 3 Battery lifetime near end acknowledged, order replacement cartridge
bit 4 Battery lifetime exceeded acknowledged, replace battery
bit 5 Battery measured lifetime near end, order replacement cartridge
bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge
|SNMP agent|battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]**Preprocessing**
Discard unchanged with heartbeat: `6h`
The battery cartridge status:
bit 0 Disconnected
bit 1 Overvoltage
bit 2 NeedsReplacement
bit 3 OvertemperatureCritical
bit 4 Charger
bit 5 TemperatureSensor
bit 6 BusSoftStart
bit 7 OvertemperatureWarning
bit 8 GeneralError
bit 9 Communication
bit 10 DisconnectedFrame
bit 11 FirmwareMismatch
The battery cartridge health.
bit 0 Battery lifetime okay
bit 1 Battery lifetime near end, order replacement cartridge
bit 2 Battery lifetime exceeded, replace battery
bit 3 Battery lifetime near end acknowledged, order replacement cartridge
bit 4 Battery lifetime exceeded acknowledged, replace battery
bit 5 Battery measured lifetime near end, order replacement cartridge
bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge
Discovery of the number of external defective battery packs.
|SNMP agent|battery.packs.bad.discovery| ### Item prototypes for External bad battery packs discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |{#SNMPINDEX}: External battery packs bad|MIB: PowerNet-MIB
The number of external battery packs connected to the UPS that
are defective. If the UPS does not use smart cells then the
agent reports ERROR_NO_SUCH_NAME.
|SNMP agent|battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}]**Preprocessing**
Discard unchanged with heartbeat: `6h`
uioSensorStatusTable
|SNMP agent|external.sensor1.discovery| ### Item prototypes for External sensor port 1 discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |{#EXTERNAL_SENSOR1_NAME}: Temperature sensor|MIB: PowerNet-MIB
The sensor's current temperature reading in Celsius.
-1 indicates an invalid reading due to lost communications.
|SNMP agent|external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The sensor's current humidity reading - a relative humidity
percentage. -1 indicates an invalid reading due to either a
sensor that doesn't read humidity or lost communications.
|SNMP agent|external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The alarm status of the sensor. Possible values:
uioNormal (1),
uioWarning (2),
uioCritical (3),
sensorStatusNotApplicable (4)
|SNMP agent|external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}]**Preprocessing**
Discard unchanged with heartbeat: `6h`
The external sensor does not work or is not connected.
|`last(/APC UPS by SNMP/external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}])=4`|Info|| |{#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning|The external sensor has returned a value greater than the warning threshold.
|`last(/APC UPS by SNMP/external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}])=2`|Average|| |{#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical|The external sensor has returned a value greater than the critical threshold.
|`last(/APC UPS by SNMP/external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}])=3`|High|| ### LLD rule External sensor port 2 discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |External sensor port 2 discovery|uioSensorStatusTable
|SNMP agent|external.sensor2.discovery| ### Item prototypes for External sensor port 2 discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |{#EXTERNAL_SENSOR2_NAME}: Temperature sensor|MIB: PowerNet-MIB
The sensor's current temperature reading in Celsius.
-1 indicates an invalid reading due to lost communications.
|SNMP agent|external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The sensor's current humidity reading - a relative humidity
percentage. -1 indicates an invalid reading due to either a
sensor that doesn't read humidity or lost communications.
|SNMP agent|external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}]**Preprocessing**
Discard unchanged with heartbeat: `6h`
MIB: PowerNet-MIB
The alarm status of the sensor. Possible values:
uioNormal (1),
uioWarning (2),
uioCritical (3),
sensorStatusNotApplicable (4)
|SNMP agent|external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}]**Preprocessing**
Discard unchanged with heartbeat: `6h`
The external sensor does not work or is not connected.
|`last(/APC UPS by SNMP/external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}])=4`|Info|| |{#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning|The external sensor has returned a value greater than the warning threshold.
|`last(/APC UPS by SNMP/external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}])=2`|Average|| |{#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical|The external sensor has returned a value greater than the critical threshold.
|`last(/APC UPS by SNMP/external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}])=3`|High|| ## Feedback Please report any issues with the template at [`https://support.zabbix.com`](https://support.zabbix.com) You can also provide feedback, discuss the template, or ask for help at [`ZABBIX forums`](https://www.zabbix.com/forum/zabbix-suggestions-and-feedback)