# 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**

| |APC UPS: Serial number|

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**

| |APC UPS: Battery status|

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**

| |APC UPS: Battery capacity|

MIB: PowerNet-MIB

The remaining battery capacity expressed as

percentage of full capacity.

|SNMP agent|battery.capacity[upsHighPrecBatteryCapacity]

**Preprocessing**

| |APC UPS: Battery runtime remaining|

MIB: PowerNet-MIB

The UPS battery run time remaining before battery

exhaustion.

|SNMP agent|battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]

**Preprocessing**

| |APC UPS: Battery voltage|

MIB: PowerNet-MIB

The actual battery bus voltage in Volts.

|SNMP agent|battery.voltage[upsHighPrecBatteryActualVoltage]

**Preprocessing**

| |APC UPS: Battery last replace date|

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**

| |APC UPS: Battery replace indicator|

MIB: PowerNet-MIB

Indicates whether the UPS batteries need replacement.

|SNMP agent|battery.replace_indicator[upsAdvBatteryReplaceIndicator]

**Preprocessing**

| |APC UPS: External battery packs count|

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**

| |APC UPS: Battery temperature|

MIB: PowerNet-MIB

The current internal UPS temperature in Celsius.

Temperatures below zero read as 0.

|SNMP agent|battery.temperature[upsHighPrecBatteryTemperature]

**Preprocessing**

| |APC UPS: Input voltage|

MIB: PowerNet-MIB

The current utility line voltage in VAC.

|SNMP agent|input.voltage[upsHighPrecInputLineVoltage]

**Preprocessing**

| |APC UPS: Input frequency|

MIB: PowerNet-MIB

The current input frequency to the UPS system in Hz.

|SNMP agent|input.frequency[upsHighPrecInputFrequency]

**Preprocessing**

| |APC UPS: Input fail cause|

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**

| |APC UPS: Output voltage|

MIB: PowerNet-MIB

The output voltage of the UPS system in VAC.

|SNMP agent|output.voltage[upsHighPrecOutputVoltage]

**Preprocessing**

| |APC UPS: Output load|

MIB: PowerNet-MIB

The current UPS load expressed as percentage

of rated capacity.

|SNMP agent|output.load[upsHighPrecOutputLoad]

**Preprocessing**

| |APC UPS: Output current|

MIB: PowerNet-MIB

The current in amperes drawn by the load on the UPS.

|SNMP agent|output.current[upsHighPrecOutputCurrent]

**Preprocessing**

| |APC UPS: Output status|

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**

| |APC UPS: Uptime (network)|

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**

| |APC UPS: Uptime (hardware)|

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**

| |APC UPS: SNMP traps (fallback)|

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**

| |APC UPS: System contact details|

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**

| |APC UPS: System object ID|

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**

| |APC UPS: System name|

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**

| |APC UPS: System description|

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**

| |APC UPS: SNMP agent availability|

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**

| ### Triggers |Name|Description|Expression|Severity|Dependencies and additional info| |----|-----------|----------|--------|--------------------------------| |APC UPS: Battery has an internal error condition|

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**: Yes
**Depends on**:
| |APC UPS: System name has changed|

The 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**

| |{#PHASEINDEX}: Phase input current|

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**

| ### Trigger prototypes for Input phases discovery |Name|Description|Expression|Severity|Dependencies and additional info| |----|-----------|----------|--------|--------------------------------| |{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} input voltage||`min(/APC UPS by SNMP/phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}],{$TIME.PERIOD}) > {$UPS.INPUT_VOLT.MAX.WARN} or max(/APC UPS by SNMP/phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}],{$TIME.PERIOD}) < {$UPS.INPUT_VOLT.MIN.WARN}`|High|| ### LLD rule Output phases discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |Output phases discovery|

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**

| |{#PHASEINDEX}: Phase output current|

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**

| |{#PHASEINDEX}: Phase output load, %|

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**

| ### Trigger prototypes for Output phases discovery |Name|Description|Expression|Severity|Dependencies and additional info| |----|-----------|----------|--------|--------------------------------| |{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} output voltage||`min(/APC UPS by SNMP/phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}],{$TIME.PERIOD}) > {$UPS.INPUT_VOLT.MAX.WARN} or max(/APC UPS by SNMP/phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}],{$TIME.PERIOD}) < {$UPS.INPUT_VOLT.MIN.WARN}`|High|| ### LLD rule External battery packs discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |External battery packs discovery||SNMP agent|battery.packs.discovery| ### Item prototypes for External battery packs discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status|

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**

| |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature|

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**

| |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number|

MIB: PowerNet-MIB

The battery pack serial number.

|SNMP agent|system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]

**Preprocessing**

| |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date|

MIB: PowerNet-MIB

The battery cartridge estimated battery replace date.

|SNMP agent|battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]

**Preprocessing**

| |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery pack cartridge health|

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**

| ### Trigger prototypes for External battery packs discovery |Name|Description|Expression|Severity|Dependencies and additional info| |----|-----------|----------|--------|--------------------------------| |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status is not okay|

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

|`find(/APC UPS by SNMP/battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}],,"regexp","^(0{16})$")=0`|Warning|| |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery has high temperature||`min(/APC UPS by SNMP/battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}],{$TIME.PERIOD}) > {$BATTERY.TEMP.MAX.WARN}`|High|| |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery lifetime is not okay|

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

|`find(/APC UPS by SNMP/battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}],,"regexp","^(0)[0\|1]{15}$")=1`|Warning|| ### LLD rule External bad battery packs discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |External bad battery packs discovery|

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**

| ### LLD rule External sensor port 1 discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |External sensor port 1 discovery|

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**

| |{#EXTERNAL_SENSOR1_NAME}: Humidity sensor|

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**

| |{#EXTERNAL_SENSOR1_NAME}: Sensor alarm status|

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**

| ### Trigger prototypes for External sensor port 1 discovery |Name|Description|Expression|Severity|Dependencies and additional info| |----|-----------|----------|--------|--------------------------------| |{#EXTERNAL_SENSOR1_NAME}: Sensor has status Not Applicable|

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**

| |{#EXTERNAL_SENSOR2_NAME}: Humidity sensor|

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**

| |{#EXTERNAL_SENSOR2_NAME}: Sensor alarm status|

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**

| ### Trigger prototypes for External sensor port 2 discovery |Name|Description|Expression|Severity|Dependencies and additional info| |----|-----------|----------|--------|--------------------------------| |{#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable|

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)