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.4 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 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 |
|---|---|---|---|
| Model | MIB: PowerNet-MIB The UPS model name (e.g. 'APC Smart-UPS 600'). |
SNMP agent | system.model[upsBasicIdentModel] Preprocessing
|
| 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
|
| 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
|
| Battery capacity | MIB: PowerNet-MIB The remaining battery capacity expressed as percentage of full capacity. |
SNMP agent | battery.capacity[upsHighPrecBatteryCapacity] Preprocessing
|
| Battery runtime remaining | MIB: PowerNet-MIB The UPS battery run time remaining before battery exhaustion. |
SNMP agent | battery.runtime_remaining[upsAdvBatteryRunTimeRemaining] Preprocessing
|
| Battery voltage | MIB: PowerNet-MIB The actual battery bus voltage in Volts. |
SNMP agent | battery.voltage[upsHighPrecBatteryActualVoltage] Preprocessing
|
| 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
|
| Battery replace indicator | MIB: PowerNet-MIB Indicates whether the UPS batteries need replacement. |
SNMP agent | battery.replace_indicator[upsAdvBatteryReplaceIndicator] Preprocessing
|
| 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
|
| Battery temperature | MIB: PowerNet-MIB The current internal UPS temperature in Celsius. Temperatures below zero read as 0. |
SNMP agent | battery.temperature[upsHighPrecBatteryTemperature] Preprocessing
|
| Input voltage | MIB: PowerNet-MIB The current utility line voltage in VAC. |
SNMP agent | input.voltage[upsHighPrecInputLineVoltage] Preprocessing
|
| Input frequency | MIB: PowerNet-MIB The current input frequency to the UPS system in Hz. |
SNMP agent | input.frequency[upsHighPrecInputFrequency] Preprocessing
|
| 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
|
| Output voltage | MIB: PowerNet-MIB The output voltage of the UPS system in VAC. |
SNMP agent | output.voltage[upsHighPrecOutputVoltage] Preprocessing
|
| Output load | MIB: PowerNet-MIB The current UPS load expressed as percentage of rated capacity. |
SNMP agent | output.load[upsHighPrecOutputLoad] Preprocessing
|
| Output current | MIB: PowerNet-MIB The current in amperes drawn by the load on the UPS. |
SNMP agent | output.current[upsHighPrecOutputCurrent] Preprocessing
|
| 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
|
| 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
|
| 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
|
| SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP trap | snmptrap.fallback |
| 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
|
| 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
|
| 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 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
|
| 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
|
| 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
|
| SNMP agent availability | Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list. Possible values: 0 - not available 1 - available 2 - unknown |
Zabbix internal | zabbix[host,snmp,available] |
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 |
|---|---|---|---|---|
| APC UPS: {#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 |
|---|---|---|---|---|
| APC UPS: {#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 |
|---|---|---|---|---|
| APC UPS: {#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status is not okay | The battery cartridge status: |
find(/APC UPS by SNMP/battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}],,"regexp","^(0{16})$")=0 |
Warning | |
| APC UPS: {#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 | ||
| APC UPS: {#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery lifetime is not okay | The battery cartridge health. |
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 |
|---|---|---|---|---|
| APC UPS: {#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 | |
| APC UPS: {#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 | |
| APC UPS: {#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 |
|---|---|---|---|---|
| APC UPS: {#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 | |
| APC UPS: {#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 | |
| APC UPS: {#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
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
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.2 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 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 |
|---|---|---|---|
| Model | MIB: PowerNet-MIB The UPS model name (e.g. 'APC Smart-UPS 600'). |
SNMP agent | system.model[upsBasicIdentModel] Preprocessing
|
| 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
|
| 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
|
| Battery capacity | MIB: PowerNet-MIB The remaining battery capacity expressed as percentage of full capacity. |
SNMP agent | battery.capacity[upsHighPrecBatteryCapacity] Preprocessing
|
| Battery runtime remaining | MIB: PowerNet-MIB The UPS battery run time remaining before battery exhaustion. |
SNMP agent | battery.runtime_remaining[upsAdvBatteryRunTimeRemaining] Preprocessing
|
| Battery voltage | MIB: PowerNet-MIB The actual battery bus voltage in Volts. |
SNMP agent | battery.voltage[upsHighPrecBatteryActualVoltage] Preprocessing
|
| 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
|
| Battery replace indicator | MIB: PowerNet-MIB Indicates whether the UPS batteries need replacement. |
SNMP agent | battery.replace_indicator[upsAdvBatteryReplaceIndicator] Preprocessing
|
| 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
|
| Battery temperature | MIB: PowerNet-MIB The current internal UPS temperature in Celsius. Temperatures below zero read as 0. |
SNMP agent | battery.temperature[upsHighPrecBatteryTemperature] Preprocessing
|
| Input voltage | MIB: PowerNet-MIB The current utility line voltage in VAC. |
SNMP agent | input.voltage[upsHighPrecInputLineVoltage] Preprocessing
|
| Input frequency | MIB: PowerNet-MIB The current input frequency to the UPS system in Hz. |
SNMP agent | input.frequency[upsHighPrecInputFrequency] Preprocessing
|
| 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
|
| Output voltage | MIB: PowerNet-MIB The output voltage of the UPS system in VAC. |
SNMP agent | output.voltage[upsHighPrecOutputVoltage] Preprocessing
|
| Output load | MIB: PowerNet-MIB The current UPS load expressed as percentage of rated capacity. |
SNMP agent | output.load[upsHighPrecOutputLoad] Preprocessing
|
| Output current | MIB: PowerNet-MIB The current in amperes drawn by the load on the UPS. |
SNMP agent | output.current[upsHighPrecOutputCurrent] Preprocessing
|
| 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
|
| 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
|
| 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
|
| SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP trap | snmptrap.fallback |
| 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
|
| 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
|
| 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 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
|
| 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
|
| 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
|
| SNMP agent availability | Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list. Possible values: 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 |
|---|---|---|---|---|
| APC UPS: {#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 |
|---|---|---|---|---|
| APC UPS: {#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 |
|---|---|---|---|---|
| APC UPS: {#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status is not okay | The battery cartridge status: |
find(/APC UPS by SNMP/battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}],,"regexp","^(0{16})$")=0 |
Warning | |
| APC UPS: {#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 | ||
| APC UPS: {#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery lifetime is not okay | The battery cartridge health. |
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 |
|---|---|---|---|---|
| APC UPS: {#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 | |
| APC UPS: {#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 | |
| APC UPS: {#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 |
|---|---|---|---|---|
| APC UPS: {#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 | |
| APC UPS: {#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 | |
| APC UPS: {#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
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
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 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 |
|---|---|---|---|
| Model | MIB: PowerNet-MIB The UPS model name (e.g. 'APC Smart-UPS 600'). |
SNMP agent | system.model[upsBasicIdentModel] Preprocessing
|
| 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
|
| 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
|
| Battery capacity | MIB: PowerNet-MIB The remaining battery capacity expressed as percentage of full capacity. |
SNMP agent | battery.capacity[upsHighPrecBatteryCapacity] Preprocessing
|
| Battery runtime remaining | MIB: PowerNet-MIB The UPS battery run time remaining before battery exhaustion. |
SNMP agent | battery.runtime_remaining[upsAdvBatteryRunTimeRemaining] Preprocessing
|
| Battery voltage | MIB: PowerNet-MIB The actual battery bus voltage in Volts. |
SNMP agent | battery.voltage[upsHighPrecBatteryActualVoltage] Preprocessing
|
| 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
|
| Battery replace indicator | MIB: PowerNet-MIB Indicates whether the UPS batteries need replacement. |
SNMP agent | battery.replace_indicator[upsAdvBatteryReplaceIndicator] Preprocessing
|
| 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
|
| Battery temperature | MIB: PowerNet-MIB The current internal UPS temperature in Celsius. Temperatures below zero read as 0. |
SNMP agent | battery.temperature[upsHighPrecBatteryTemperature] Preprocessing
|
| Input voltage | MIB: PowerNet-MIB The current utility line voltage in VAC. |
SNMP agent | input.voltage[upsHighPrecInputLineVoltage] Preprocessing
|
| Input frequency | MIB: PowerNet-MIB The current input frequency to the UPS system in Hz. |
SNMP agent | input.frequency[upsHighPrecInputFrequency] Preprocessing
|
| 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
|
| Output voltage | MIB: PowerNet-MIB The output voltage of the UPS system in VAC. |
SNMP agent | output.voltage[upsHighPrecOutputVoltage] Preprocessing
|
| Output load | MIB: PowerNet-MIB The current UPS load expressed as percentage of rated capacity. |
SNMP agent | output.load[upsHighPrecOutputLoad] Preprocessing
|
| Output current | MIB: PowerNet-MIB The current in amperes drawn by the load on the UPS. |
SNMP agent | output.current[upsHighPrecOutputCurrent] Preprocessing
|
| 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
|
| 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
|
| 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
|
| SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP trap | snmptrap.fallback |
| 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
|
| 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
|
| 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 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
|
| 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
|
| 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
|
| SNMP agent availability | Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list. Possible values: 0 - not available 1 - available 2 - unknown |
Zabbix internal | zabbix[host,snmp,available] |
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 |
|---|---|---|---|---|
| APC UPS: {#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 |
|---|---|---|---|---|
| APC UPS: {#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 |
|---|---|---|---|---|
| APC UPS: {#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status is not okay | The battery cartridge status: |
find(/APC UPS by SNMP/battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}],,"regexp","^(0{16})$")=0 |
Warning | |
| APC UPS: {#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 | ||
| APC UPS: {#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery lifetime is not okay | The battery cartridge health. |
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 |
|---|---|---|---|---|
| APC UPS: {#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 | |
| APC UPS: {#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 | |
| APC UPS: {#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 |
|---|---|---|---|---|
| APC UPS: {#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 | |
| APC UPS: {#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 | |
| APC UPS: {#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
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
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: 6.4 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 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 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: |
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. |
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
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
APC UPS by SNMP
Overview
For Zabbix version: 6.2 and higher. 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.
Setup
See Zabbix template operation for basic instructions.
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.
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
| Name | Description | Default |
|---|---|---|
| {$BATTERY.CAPACITY.MIN.WARN} | Minimum battery capacity percentage for trigger expression. |
50 |
| {$BATTERY.TEMP.MAX.WARN} | Maximum battery temperature for trigger expression. |
55 |
| {$SNMP.TIMEOUT} | The time interval for SNMP agent availability trigger expression. |
5m |
| {$TIME.PERIOD} | Time period for trigger expression. |
15m |
| {$UPS.INPUT_FREQ.MAX.WARN} | Maximum input frequency for trigger expression. |
50.3 |
| {$UPS.INPUT_FREQ.MIN.WARN} | Minimum input frequency for trigger expression. |
49.7 |
| {$UPS.INPUT_VOLT.MAX.WARN} | Maximum input voltage for trigger expression. |
243 |
| {$UPS.INPUT_VOLT.MIN.WARN} | Minimum input voltage for trigger expression. |
197 |
| {$UPS.OUTPUT.MAX.WARN} | Maximum output load in % for trigger expression. |
80 |
Template links
There are no template links in this template.
Discovery rules
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| External bad battery packs discovery | Discovery of the number of external defective battery packs. |
SNMP | battery.packs.bad.discovery |
| External battery packs discovery | SNMP | battery.packs.discovery Filter: AND- {#CARTRIDGE_STATUS} NOT_MATCHES_REGEX |
|
| External sensor port 1 discovery | uioSensorStatusTable |
SNMP | external.sensor1.discovery Overrides: Temp |
| External sensor port 2 discovery | uioSensorStatusTable |
SNMP | external.sensor2.discovery Overrides: Temp |
| Input phases discovery | The input phase identifier. OID upsPhaseInputPhaseIndex.1.1 |
SNMP | input.phases.discovery |
| Output phases discovery | The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1 |
SNMP | output.phases.discovery |
Items collected
| Group | Name | Description | Type | Key and additional info |
|---|---|---|---|---|
| General | Model | MIB: PowerNet-MIB The UPS model name (e.g. 'APC Smart-UPS 600'). |
SNMP | system.model[upsBasicIdentModel] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | 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 | system.sn[upsAdvIdentSerialNumber] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP_TRAP | snmptrap.fallback |
| General | 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 | system.location[sysLocation.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | 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 | system.contact[sysContact.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | 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 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 | system.objectid[sysObjectID.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | 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 | system.name[sysName.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | 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 | system.descr[sysDescr.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | {#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number | MIB: PowerNet-MIB The battery pack serial number. |
SNMP | system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | 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 | battery.status[upsBasicBatteryStatus] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Battery capacity | MIB: PowerNet-MIB The remaining battery capacity expressed as percentage of full capacity. |
SNMP | battery.capacity[upsHighPrecBatteryCapacity] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Battery runtime remaining | MIB: PowerNet-MIB The UPS battery run time remaining before battery exhaustion. |
SNMP | battery.runtime_remaining[upsAdvBatteryRunTimeRemaining] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Battery voltage | MIB: PowerNet-MIB The actual battery bus voltage in Volts. |
SNMP | battery.voltage[upsHighPrecBatteryActualVoltage] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | 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 | battery.last_replace_date[upsBasicBatteryLastReplaceDate] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Battery replace indicator | MIB: PowerNet-MIB Indicates whether the UPS batteries need replacement. |
SNMP | battery.replace_indicator[upsAdvBatteryReplaceIndicator] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | 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 | battery.external_packs_count[upsAdvBatteryNumOfBattPacks] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Battery temperature | MIB: PowerNet-MIB The current internal UPS temperature in Celsius. Temperatures below zero read as 0. |
SNMP | battery.temperature[upsHighPrecBatteryTemperature] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Input voltage | MIB: PowerNet-MIB The current utility line voltage in VAC. |
SNMP | input.voltage[upsHighPrecInputLineVoltage] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Input frequency | MIB: PowerNet-MIB The current input frequency to the UPS system in Hz. |
SNMP | input.frequency[upsHighPrecInputFrequency] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | 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 | input.fail[upsAdvInputLineFailCause] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Output voltage | MIB: PowerNet-MIB The output voltage of the UPS system in VAC. |
SNMP | output.voltage[upsHighPrecOutputVoltage] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Output load | MIB: PowerNet-MIB The current UPS load expressed as percentage of rated capacity. |
SNMP | output.load[upsHighPrecOutputLoad] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Output current | MIB: PowerNet-MIB The current in amperes drawn by the load on the UPS. |
SNMP | output.current[upsHighPrecOutputCurrent] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | 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 | output.status[upsBasicOutputStatus] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | 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 | system.net.uptime[sysUpTime.0] Preprocessing: - MULTIPLIER: |
| Status | 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 | system.hw.uptime[hrSystemUptime.0] Preprocessing: - CHECK_NOT_SUPPORTED ⛔️ON_FAIL: - MULTIPLIER: |
| Status | 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 |
INTERNAL | zabbix[host,snmp,available] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#PHASEINDEX}: Phase input voltage | MIB: PowerNet-MIB The input voltage in VAC, or -1 if it's unsupported by this UPS. |
SNMP | phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#PHASEINDEX}: Phase output voltage | MIB: PowerNet-MIB The output voltage in VAC, or -1 if it's unsupported by this UPS. |
SNMP | phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature | MIB: PowerNet-MIB The battery pack temperature in Celsius. |
SNMP | battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date | MIB: PowerNet-MIB The battery cartridge estimated battery replace date. |
SNMP | battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| System name has changed | System name has changed. Ack to close. |
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 |
| Battery has an internal error condition | A battery installed has an internal error condition. |
last(/APC UPS by SNMP/battery.status[upsBasicBatteryStatus])=4 |
AVERAGE | |
| 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 | |
| Battery has low capacity | - |
last(/APC UPS by SNMP/battery.capacity[upsHighPrecBatteryCapacity]) < {$BATTERY.CAPACITY.MIN.WARN} |
HIGH | |
| Battery needs replacement | A battery installed has an internal error condition. |
last(/APC UPS by SNMP/battery.replace_indicator[upsAdvBatteryReplaceIndicator])=2 |
HIGH | |
| Battery has high temperature | - |
min(/APC UPS by SNMP/battery.temperature[upsHighPrecBatteryTemperature],{$TIME.PERIOD}) > {$BATTERY.TEMP.MAX.WARN} |
HIGH | |
| 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 | |
| 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 | |
| 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 | |
| UPS is Timed Sleeping | - |
last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=5 |
AVERAGE | |
| UPS is Switched Bypass | - |
last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=9 |
AVERAGE | |
| UPS is Software Bypass | - |
last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=6 |
AVERAGE | |
| UPS is Sleeping Until Power Return | - |
last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=11 |
AVERAGE | |
| UPS is Rebooting | - |
last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=8 |
AVERAGE | |
| UPS is On Smart Trim | - |
last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=12 |
AVERAGE | |
| UPS is on Smart Boost | - |
last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=4 |
AVERAGE | |
| UPS is on battery | - |
last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=3 |
AVERAGE | |
| UPS is Off | - |
last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=7 |
AVERAGE | |
| UPS is Emergency Static Bypass | - |
last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=16 |
AVERAGE | |
| UPS is Hardware Failure Bypass | - |
last(/APC UPS by SNMP/output.status[upsBasicOutputStatus])=10 |
AVERAGE | |
| 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: - No SNMP data collection |
| 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 | |
| {#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 | |
| {#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 | |
| {#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 |
| {#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 | |
| {#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.
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums.
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: 6.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 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 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: |
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. |
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
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
APC UPS SNMP
Overview
For Zabbix version: 5.4 and higher
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.
Setup
See Zabbix template operation for basic instructions.
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.
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
| Name | Description | Default |
|---|---|---|
| {$BATTERY.CAPACITY.MIN.WARN} | Minimum battery capacity percentage for trigger expression. |
50 |
| {$BATTERY.TEMP.MAX.WARN} | Maximum battery temperature for trigger expression. |
55 |
| {$SNMP.TIMEOUT} | The time interval for SNMP agent availability trigger expression. |
5m |
| {$TIME.PERIOD} | Time period for trigger expression. |
15m |
| {$UPS.INPUT_FREQ.MAX.WARN} | Maximum input frequency for trigger expression. |
50.3 |
| {$UPS.INPUT_FREQ.MIN.WARN} | Minimum input frequency for trigger expression. |
49.7 |
| {$UPS.INPUT_VOLT.MAX.WARN} | Maximum input voltage for trigger expression. |
243 |
| {$UPS.INPUT_VOLT.MIN.WARN} | Minimum input voltage for trigger expression. |
197 |
| {$UPS.OUTPUT.MAX.WARN} | Maximum output load in % for trigger expression. |
80 |
Template links
There are no template links in this template.
Discovery rules
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Input phases discovery | The input phase identifier. OID upsPhaseInputPhaseIndex.1.1 |
SNMP | input.phases.discovery |
| Output phases discovery | The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1 |
SNMP | output.phases.discovery |
| External battery packs discovery | - |
SNMP | battery.packs.discovery Filter: AND- {#CARTRIDGE_STATUS} NOT_MATCHES_REGEX |
| External bad battery packs discovery | Discovery of the number of external defective battery packs. |
SNMP | battery.packs.bad.discovery |
| External sensor port 1 discovery | uioSensorStatusTable |
SNMP | external.sensor1.discovery Overrides: Temp |
| External sensor port 2 discovery | uioSensorStatusTable |
SNMP | external.sensor2.discovery Overrides: Temp |
Items collected
| Group | Name | Description | Type | Key and additional info |
|---|---|---|---|---|
| General | Model | MIB: PowerNet-MIB The UPS model name (e.g. 'APC Smart-UPS 600'). |
SNMP | system.model[upsBasicIdentModel] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | 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 | system.sn[upsAdvIdentSerialNumber] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP_TRAP | snmptrap.fallback |
| General | 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 | system.location[sysLocation.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | 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 | system.contact[sysContact.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | 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 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 | system.objectid[sysObjectID.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | 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 | system.name[sysName.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | 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 | system.descr[sysDescr.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | {#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number | MIB: PowerNet-MIB The battery pack serial number. |
SNMP | system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | 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 | battery.status[upsBasicBatteryStatus] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Battery capacity | MIB: PowerNet-MIB The remaining battery capacity expressed as percentage of full capacity. |
SNMP | battery.capacity[upsHighPrecBatteryCapacity] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Battery runtime remaining | MIB: PowerNet-MIB The UPS battery run time remaining before battery exhaustion. |
SNMP | battery.runtime_remaining[upsAdvBatteryRunTimeRemaining] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Battery voltage | MIB: PowerNet-MIB The actual battery bus voltage in Volts. |
SNMP | battery.voltage[upsHighPrecBatteryActualVoltage] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | 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 | battery.last_replace_date[upsBasicBatteryLastReplaceDate] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Battery replace indicator | MIB: PowerNet-MIB Indicates whether the UPS batteries need replacement. |
SNMP | battery.replace_indicator[upsAdvBatteryReplaceIndicator] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | 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 | battery.external_packs_count[upsAdvBatteryNumOfBattPacks] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Battery temperature | MIB: PowerNet-MIB The current internal UPS temperature in Celsius. Temperatures below zero read as 0. |
SNMP | battery.temperature[upsHighPrecBatteryTemperature] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Input voltage | MIB: PowerNet-MIB The current utility line voltage in VAC. |
SNMP | input.voltage[upsHighPrecInputLineVoltage] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Input frequency | MIB: PowerNet-MIB The current input frequency to the UPS system in Hz. |
SNMP | input.frequency[upsHighPrecInputFrequency] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | 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 | input.fail[upsAdvInputLineFailCause] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Output voltage | MIB: PowerNet-MIB The output voltage of the UPS system in VAC. |
SNMP | output.voltage[upsHighPrecOutputVoltage] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Output load | MIB: PowerNet-MIB The current UPS load expressed as percentage of rated capacity. |
SNMP | output.load[upsHighPrecOutputLoad] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Output current | MIB: PowerNet-MIB The current in amperes drawn by the load on the UPS. |
SNMP | output.current[upsHighPrecOutputCurrent] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | 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 | output.status[upsBasicOutputStatus] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Uptime | MIB: SNMPv2-MIB The time (in hundredths of a second) since the network management portion of the system was last re-initialized. |
SNMP | system.uptime[sysUpTime.0] Preprocessing: - MULTIPLIER: |
| Status | 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 |
INTERNAL | zabbix[host,snmp,available] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#PHASEINDEX}: Phase input voltage | MIB: PowerNet-MIB The input voltage in VAC, or -1 if it's unsupported by this UPS. |
SNMP | phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#PHASEINDEX}: Phase output voltage | MIB: PowerNet-MIB The output voltage in VAC, or -1 if it's unsupported by this UPS. |
SNMP | phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature | MIB: PowerNet-MIB The battery pack temperature in Celsius. |
SNMP | battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date | MIB: PowerNet-MIB The battery cartridge estimated battery replace date. |
SNMP | battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| System name has changed (new name: {ITEM.VALUE}) | System name has changed. Ack to close. |
last(/APC UPS SNMP/system.name[sysName.0],#1)<>last(/APC UPS SNMP/system.name[sysName.0],#2) and length(last(/APC UPS SNMP/system.name[sysName.0]))>0 |
INFO | Manual close: YES |
| Battery has an internal error condition | A battery installed has an internal error condition. |
last(/APC UPS SNMP/battery.status[upsBasicBatteryStatus])=4 |
AVERAGE | |
| 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 SNMP/battery.status[upsBasicBatteryStatus])=3 |
AVERAGE | |
| Battery has low capacity (below {$BATTERY.CAPACITY.MIN.WARN}%) | - |
last(/APC UPS SNMP/battery.capacity[upsHighPrecBatteryCapacity]) < {$BATTERY.CAPACITY.MIN.WARN} |
HIGH | |
| Battery needs replacement | A battery installed has an internal error condition. |
last(/APC UPS SNMP/battery.replace_indicator[upsAdvBatteryReplaceIndicator])=2 |
HIGH | |
| Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD}) | - |
min(/APC UPS SNMP/battery.temperature[upsHighPrecBatteryTemperature],{$TIME.PERIOD}) > {$BATTERY.TEMP.MAX.WARN} |
HIGH | |
| Unacceptable input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD}) | - |
min(/APC UPS SNMP/input.voltage[upsHighPrecInputLineVoltage],{$TIME.PERIOD}) > 0 and (min(/APC UPS SNMP/input.voltage[upsHighPrecInputLineVoltage],{$TIME.PERIOD}) > {$UPS.INPUT_VOLT.MAX.WARN} or max(/APC UPS SNMP/input.voltage[upsHighPrecInputLineVoltage],{$TIME.PERIOD}) < {$UPS.INPUT_VOLT.MIN.WARN}) |
HIGH | |
| Unacceptable input frequency (out of range {$UPS.INPUT_FREQ.MIN.WARN}-{$UPS.INPUT_FREQ.MAX.WARN}Hz for {$TIME.PERIOD}) | - |
min(/APC UPS SNMP/input.frequency[upsHighPrecInputFrequency],{$TIME.PERIOD}) > 0 and (min(/APC UPS SNMP/input.frequency[upsHighPrecInputFrequency],{$TIME.PERIOD}) > {$UPS.INPUT_FREQ.MAX.WARN} or max(/APC UPS SNMP/input.frequency[upsHighPrecInputFrequency],{$TIME.PERIOD}) < {$UPS.INPUT_FREQ.MIN.WARN}) |
HIGH | |
| Output load is high (over {$UPS.OUTPUT.MAX.WARN}% for {$TIME.PERIOD}) | A battery installed has an internal error condition. |
min(/APC UPS SNMP/output.load[upsHighPrecOutputLoad],{$TIME.PERIOD}) > {$UPS.OUTPUT.MAX.WARN} |
HIGH | |
| UPS is Timed Sleeping | - |
last(/APC UPS SNMP/output.status[upsBasicOutputStatus])=5 |
AVERAGE | |
| UPS is Switched Bypass | - |
last(/APC UPS SNMP/output.status[upsBasicOutputStatus])=9 |
AVERAGE | |
| UPS is Software Bypass | - |
last(/APC UPS SNMP/output.status[upsBasicOutputStatus])=6 |
AVERAGE | |
| UPS is Sleeping Until Power Return | - |
last(/APC UPS SNMP/output.status[upsBasicOutputStatus])=11 |
AVERAGE | |
| UPS is Rebooting | - |
last(/APC UPS SNMP/output.status[upsBasicOutputStatus])=8 |
AVERAGE | |
| UPS is On Smart Trim | - |
last(/APC UPS SNMP/output.status[upsBasicOutputStatus])=12 |
AVERAGE | |
| UPS is on Smart Boost | - |
last(/APC UPS SNMP/output.status[upsBasicOutputStatus])=4 |
AVERAGE | |
| UPS is on battery | - |
last(/APC UPS SNMP/output.status[upsBasicOutputStatus])=3 |
AVERAGE | |
| UPS is Off | - |
last(/APC UPS SNMP/output.status[upsBasicOutputStatus])=7 |
AVERAGE | |
| UPS is Emergency Static Bypass | - |
last(/APC UPS SNMP/output.status[upsBasicOutputStatus])=16 |
AVERAGE | |
| UPS is Hardware Failure Bypass | - |
last(/APC UPS SNMP/output.status[upsBasicOutputStatus])=10 |
AVERAGE | |
| {HOST.NAME} has been restarted (uptime < 10m) | Uptime is less than 10 minutes |
last(/APC UPS SNMP/system.uptime[sysUpTime.0])<10m |
WARNING | Manual close: YES Depends on: - No SNMP data collection |
| No SNMP data collection | SNMP is not available for polling. Please check device connectivity and SNMP settings. |
max(/APC UPS SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 |
WARNING | |
| {#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD}) | - |
min(/APC UPS SNMP/phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}],{$TIME.PERIOD}) > {$UPS.INPUT_VOLT.MAX.WARN} or max(/APC UPS SNMP/phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}],{$TIME.PERIOD}) < {$UPS.INPUT_VOLT.MIN.WARN} |
HIGH | |
| {#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} output voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD}) | - |
min(/APC UPS SNMP/phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}],{$TIME.PERIOD}) > {$UPS.INPUT_VOLT.MAX.WARN} or max(/APC UPS SNMP/phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}],{$TIME.PERIOD}) < {$UPS.INPUT_VOLT.MIN.WARN} |
HIGH | |
| {#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 SNMP/battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}],,"regexp","^(0{16})$")=0 |
WARNING | |
| {#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD}) | - |
min(/APC UPS 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 SNMP/battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}],,"regexp","^(0)[0 | 1]{15}$")=1` | WARNING |
| {#EXTERNAL_SENSOR1_NAME}: Sensor has status Not Applicable | The external sensor does not work or is not connected. |
last(/APC UPS 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 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 SNMP/external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}])=3 |
HIGH | |
| {#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable | The external sensor does not work or is not connected. |
last(/APC UPS 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 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 SNMP/external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}])=3 |
HIGH |
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.
Template Power APC UPS SNMP
Overview
For Zabbix version: 5.0 and higher
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.
Setup
See Zabbix template operation for basic instructions.
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.
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
| Name | Description | Default |
|---|---|---|
| {$BATTERY.CAPACITY.MIN.WARN} | Minimum battery capacity percentage for trigger expression. |
50 |
| {$BATTERY.TEMP.MAX.WARN} | Maximum battery temperature for trigger expression. |
55 |
| {$SNMP.TIMEOUT} | The time interval for SNMP agent availability trigger expression. |
5m |
| {$TIME.PERIOD} | Time period for trigger expression. |
15m |
| {$UPS.INPUT_FREQ.MAX.WARN} | Maximum input frequency for trigger expression. |
50.3 |
| {$UPS.INPUT_FREQ.MIN.WARN} | Minimum input frequency for trigger expression. |
49.7 |
| {$UPS.INPUT_VOLT.MAX.WARN} | Maximum input voltage for trigger expression. |
243 |
| {$UPS.INPUT_VOLT.MIN.WARN} | Minimum input voltage for trigger expression. |
197 |
| {$UPS.OUTPUT.MAX.WARN} | Maximum output load in % for trigger expression. |
80 |
Template links
There are no template links in this template.
Discovery rules
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Input phases discovery | The input phase identifier. OID upsPhaseInputPhaseIndex.1.1 |
SNMP | input.phases.discovery |
| Output phases discovery | The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1 |
SNMP | output.phases.discovery |
| External battery packs discovery | SNMP | battery.packs.discovery Filter: AND- A: {#CARTRIDGE_STATUS} NOT_MATCHES_REGEX |
|
| External bad battery packs discovery | Discovery of the number of external defective battery packs. |
SNMP | battery.packs.bad.discovery |
| External sensor port 1 discovery | uioSensorStatusTable |
SNMP | external.sensor1.discovery Overrides: Temp |
| External sensor port 2 discovery | uioSensorStatusTable |
SNMP | external.sensor2.discovery Overrides: Temp |
Items collected
| Group | Name | Description | Type | Key and additional info |
|---|---|---|---|---|
| General | Model | MIB: PowerNet-MIB The UPS model name (e.g. 'APC Smart-UPS 600'). |
SNMP | system.model[upsBasicIdentModel] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | 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 | system.sn[upsAdvIdentSerialNumber] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | SNMP traps (fallback) | The item is used to collect all SNMP traps unmatched by other snmptrap items |
SNMP_TRAP | snmptrap.fallback |
| General | 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 | system.location[sysLocation.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | 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 | system.contact[sysContact.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | 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 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 | system.objectid[sysObjectID.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | 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 | system.name[sysName.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | 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 | system.descr[sysDescr.0] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| General | {#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number | MIB: PowerNet-MIB The battery pack serial number. |
SNMP | system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | 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 | battery.status[upsBasicBatteryStatus] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Battery capacity | MIB: PowerNet-MIB The remaining battery capacity expressed as percentage of full capacity. |
SNMP | battery.capacity[upsHighPrecBatteryCapacity] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Battery runtime remaining | MIB: PowerNet-MIB The UPS battery run time remaining before battery exhaustion. |
SNMP | battery.runtime_remaining[upsAdvBatteryRunTimeRemaining] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Battery voltage | MIB: PowerNet-MIB The actual battery bus voltage in Volts. |
SNMP | battery.voltage[upsHighPrecBatteryActualVoltage] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | 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 | battery.last_replace_date[upsBasicBatteryLastReplaceDate] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Battery replace indicator | MIB: PowerNet-MIB Indicates whether the UPS batteries need replacement. |
SNMP | battery.replace_indicator[upsAdvBatteryReplaceIndicator] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | 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 | battery.external_packs_count[upsAdvBatteryNumOfBattPacks] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Battery temperature | MIB: PowerNet-MIB The current internal UPS temperature in Celsius. Temperatures below zero read as 0. |
SNMP | battery.temperature[upsHighPrecBatteryTemperature] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Input voltage | MIB: PowerNet-MIB The current utility line voltage in VAC. |
SNMP | input.voltage[upsHighPrecInputLineVoltage] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Input frequency | MIB: PowerNet-MIB The current input frequency to the UPS system in Hz. |
SNMP | input.frequency[upsHighPrecInputFrequency] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | 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 | input.fail[upsAdvInputLineFailCause] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Output voltage | MIB: PowerNet-MIB The output voltage of the UPS system in VAC. |
SNMP | output.voltage[upsHighPrecOutputVoltage] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Output load | MIB: PowerNet-MIB The current UPS load expressed as percentage of rated capacity. |
SNMP | output.load[upsHighPrecOutputLoad] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Output current | MIB: PowerNet-MIB The current in amperes drawn by the load on the UPS. |
SNMP | output.current[upsHighPrecOutputCurrent] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | 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 | output.status[upsBasicOutputStatus] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | Uptime | MIB: SNMPv2-MIB The time (in hundredths of a second) since the network management portion of the system was last re-initialized. |
SNMP | system.uptime[sysUpTime.0] Preprocessing: - MULTIPLIER: |
| Status | 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 |
INTERNAL | zabbix[host,snmp,available] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#PHASEINDEX}: Phase input voltage | MIB: PowerNet-MIB The input voltage in VAC, or -1 if it's unsupported by this UPS. |
SNMP | phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#PHASEINDEX}: Phase output voltage | MIB: PowerNet-MIB The output voltage in VAC, or -1 if it's unsupported by this UPS. |
SNMP | phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature | MIB: PowerNet-MIB The battery pack temperature in Celsius. |
SNMP | battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}] Preprocessing: - MULTIPLIER: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date | MIB: PowerNet-MIB The battery cartridge estimated battery replace date. |
SNMP | battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Status | {#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 | external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Triggers
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| System name has changed (new name: {ITEM.VALUE}) | System name has changed. Ack to close. |
{TEMPLATE_NAME:system.name[sysName.0].diff()}=1 and {TEMPLATE_NAME:system.name[sysName.0].strlen()}>0 |
INFO | Manual close: YES |
| Battery has an internal error condition | A battery installed has an internal error condition. |
{TEMPLATE_NAME:battery.status[upsBasicBatteryStatus].last()}=4 |
AVERAGE | |
| Battery is Low | The UPS will be unable to sustain the current load, and its services will be lost if power is not restored. |
{TEMPLATE_NAME:battery.status[upsBasicBatteryStatus].last()}=3 |
AVERAGE | |
| Battery has low capacity (below {$BATTERY.CAPACITY.MIN.WARN}%) | {TEMPLATE_NAME:battery.capacity[upsHighPrecBatteryCapacity].last()} < {$BATTERY.CAPACITY.MIN.WARN} |
HIGH | ||
| Battery needs replacement | A battery installed has an internal error condition. |
{TEMPLATE_NAME:battery.replace_indicator[upsAdvBatteryReplaceIndicator].last()}=2 |
HIGH | |
| Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD}) | {TEMPLATE_NAME:battery.temperature[upsHighPrecBatteryTemperature].min({$TIME.PERIOD})} > {$BATTERY.TEMP.MAX.WARN} |
HIGH | ||
| Unacceptable input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD}) | {TEMPLATE_NAME:input.voltage[upsHighPrecInputLineVoltage].min({$TIME.PERIOD})} > 0 and ({TEMPLATE_NAME:input.voltage[upsHighPrecInputLineVoltage].min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {TEMPLATE_NAME:input.voltage[upsHighPrecInputLineVoltage].max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}) |
HIGH | ||
| Unacceptable input frequency (out of range {$UPS.INPUT_FREQ.MIN.WARN}-{$UPS.INPUT_FREQ.MAX.WARN}Hz for {$TIME.PERIOD}) | {TEMPLATE_NAME:input.frequency[upsHighPrecInputFrequency].min({$TIME.PERIOD})} > 0 and ({TEMPLATE_NAME:input.frequency[upsHighPrecInputFrequency].min({$TIME.PERIOD})} > {$UPS.INPUT_FREQ.MAX.WARN} or {TEMPLATE_NAME:input.frequency[upsHighPrecInputFrequency].max({$TIME.PERIOD})} < {$UPS.INPUT_FREQ.MIN.WARN}) |
HIGH | ||
| Output load is high (over {$UPS.OUTPUT.MAX.WARN}% for {$TIME.PERIOD}) | A battery installed has an internal error condition. |
{TEMPLATE_NAME:output.load[upsHighPrecOutputLoad].min({$TIME.PERIOD})} > {$UPS.OUTPUT.MAX.WARN} |
HIGH | |
| UPS is Timed Sleeping | {TEMPLATE_NAME:output.status[upsBasicOutputStatus].last()}=5 |
AVERAGE | ||
| UPS is Switched Bypass | {TEMPLATE_NAME:output.status[upsBasicOutputStatus].last()}=9 |
AVERAGE | ||
| UPS is Software Bypass | {TEMPLATE_NAME:output.status[upsBasicOutputStatus].last()}=6 |
AVERAGE | ||
| UPS is Sleeping Until Power Return | {TEMPLATE_NAME:output.status[upsBasicOutputStatus].last()}=11 |
AVERAGE | ||
| UPS is Rebooting | {TEMPLATE_NAME:output.status[upsBasicOutputStatus].last()}=8 |
AVERAGE | ||
| UPS is On Smart Trim | {TEMPLATE_NAME:output.status[upsBasicOutputStatus].last()}=12 |
AVERAGE | ||
| UPS is on Smart Boost | {TEMPLATE_NAME:output.status[upsBasicOutputStatus].last()}=4 |
AVERAGE | ||
| UPS is on battery | {TEMPLATE_NAME:output.status[upsBasicOutputStatus].last()}=3 |
AVERAGE | ||
| UPS is Off | {TEMPLATE_NAME:output.status[upsBasicOutputStatus].last()}=7 |
AVERAGE | ||
| UPS is Emergency Static Bypass | {TEMPLATE_NAME:output.status[upsBasicOutputStatus].last()}=16 |
AVERAGE | ||
| UPS is Hardware Failure Bypass | {TEMPLATE_NAME:output.status[upsBasicOutputStatus].last()}=10 |
AVERAGE | ||
| {HOST.NAME} has been restarted (uptime < 10m) | Uptime is less than 10 minutes |
{TEMPLATE_NAME:system.uptime[sysUpTime.0].last()}<10m |
WARNING | Manual close: YES Depends on: - No SNMP data collection |
| No SNMP data collection | SNMP is not available for polling. Please check device connectivity and SNMP settings. |
{TEMPLATE_NAME:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0 |
WARNING | |
| {#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD}) | {TEMPLATE_NAME:phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}].min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {TEMPLATE_NAME:phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}].max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN} |
HIGH | ||
| {#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} output voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD}) | {TEMPLATE_NAME:phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}].min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {TEMPLATE_NAME:phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}].max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN} |
HIGH | ||
| {#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 |
{TEMPLATE_NAME:battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}].regexp("^(0{16})$")}=0 |
WARNING | |
| {#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD}) | {TEMPLATE_NAME:battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}].min({$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 |
`{TEMPLATE_NAME:battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}].regexp("^(0)[0 | 1]{15}$")}=1` | WARNING |
| {#EXTERNAL_SENSOR1_NAME}: Sensor has status Not Applicable | The external sensor does not work or is not connected. |
{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=4 |
INFO | |
| {#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning | The external sensor has returned a value greater than the warning threshold. |
{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=2 |
AVERAGE | |
| {#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical | The external sensor has returned a value greater than the critical threshold. |
{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=3 |
HIGH | |
| {#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable | The external sensor does not work or is not connected. |
{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=4 |
INFO | |
| {#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning | The external sensor has returned a value greater than the warning threshold. |
{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=2 |
AVERAGE | |
| {#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical | The external sensor has returned a value greater than the critical threshold. |
{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=3 |
HIGH |
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.