Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/zabbix/zabbix.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Chudinov <maxim.chudinov@zabbix.com>2021-03-31 12:17:15 +0300
committerMaxim Chudinov <maxim.chudinov@zabbix.com>2021-03-31 12:17:15 +0300
commit40998827d807c26830bfb3a00c8e335fda1389fa (patch)
tree6be90d7020a2ff712ce60d6069dfd5354fa8e0fe /templates
parent69634bae64eab48505006f734c57742bee2abab0 (diff)
parent30e33cfef785e76be1251bb2dc7026c1dfa89dc1 (diff)
.........T [ZBXNEXT-6571] added templates for APC UPSs Galaxy 3500, Smart-UPS, Smart-UPS SRT, Symmetra RM
Merge in ZBX/zabbix from feature/ZBXNEXT-6571-5.3 to master * commit '30e33cfef785e76be1251bb2dc7026c1dfa89dc1': .........T [ZBXNEXT-6571] added templates for APC UPSs Galaxy 3500, Smart-UPS, Smart-UPS SRT, Symmetra RM
Diffstat (limited to 'templates')
-rw-r--r--templates/power/apc/apc_ups_galaxy_3500_snmp/README.md159
-rw-r--r--templates/power/apc/apc_ups_galaxy_3500_snmp/template_power_apc_ups_galaxy_3500_snmp.yaml1498
-rw-r--r--templates/power/apc/apc_ups_smart_2200_rm_snmp/README.md159
-rw-r--r--templates/power/apc/apc_ups_smart_2200_rm_snmp/template_power_apc_ups_smart_2200_rm_snmp.yaml1498
-rw-r--r--templates/power/apc/apc_ups_smart_3000_xlm_snmp/README.md159
-rw-r--r--templates/power/apc/apc_ups_smart_3000_xlm_snmp/template_power_apc_ups_smart_3000_xlm_snmp.yaml1498
-rw-r--r--templates/power/apc/apc_ups_smart_rt_1000_rm_xl_snmp/README.md159
-rw-r--r--templates/power/apc/apc_ups_smart_rt_1000_rm_xl_snmp/template_power_apc_ups_smart_rt_1000_rm_xl_snmp.yaml1498
-rw-r--r--templates/power/apc/apc_ups_smart_rt_1000_xl_snmp/README.md159
-rw-r--r--templates/power/apc/apc_ups_smart_rt_1000_xl_snmp/template_power_apc_ups_smart_rt_1000_xl_snmp.yaml1498
-rw-r--r--templates/power/apc/apc_ups_smart_srt_5000_snmp/README.md159
-rw-r--r--templates/power/apc/apc_ups_smart_srt_5000_snmp/template_power_apc_ups_smart_srt_5000_snmp.yaml1498
-rw-r--r--templates/power/apc/apc_ups_smart_srt_8000_snmp/README.md159
-rw-r--r--templates/power/apc/apc_ups_smart_srt_8000_snmp/template_power_apc_ups_smart_srt_8000_snmp.yaml1498
-rw-r--r--templates/power/apc/apc_ups_snmp/README.md155
-rw-r--r--templates/power/apc/apc_ups_snmp/template_power_apc_ups_snmp.yaml (renamed from templates/power/apc_ups_snmp/template_power_apc_ups_snmp.yaml)124
-rw-r--r--templates/power/apc/apc_ups_symmetra_lx_snmp/README.md (renamed from templates/power/apc_ups_snmp/README.md)18
-rw-r--r--templates/power/apc/apc_ups_symmetra_lx_snmp/template_power_apc_ups_symmetra_lx_snmp.yaml1498
-rw-r--r--templates/power/apc/apc_ups_symmetra_rm_snmp/README.md159
-rw-r--r--templates/power/apc/apc_ups_symmetra_rm_snmp/template_power_apc_ups_symmetra_rm_snmp.yaml1498
20 files changed, 15024 insertions, 27 deletions
diff --git a/templates/power/apc/apc_ups_galaxy_3500_snmp/README.md b/templates/power/apc/apc_ups_galaxy_3500_snmp/README.md
new file mode 100644
index 00000000000..5719bc1dec2
--- /dev/null
+++ b/templates/power/apc/apc_ups_galaxy_3500_snmp/README.md
@@ -0,0 +1,159 @@
+
+# APC UPS Galaxy 3500 SNMP
+
+## Overview
+
+For Zabbix version: 5.4 and higher
+The template to monitor APC UPS Galaxy 3500 by Zabbix SNMP agent.
+Note: please, use the latest version of the firmware for your NMC in order for the template to work correctly.
+
+
+
+This template was tested on:
+
+- APC UPS Galaxy 3500
+
+## Setup
+
+> See [Zabbix template operation](https://www.zabbix.com/documentation/5.4/manual/config/templates_out_of_the_box/network_devices) for basic instructions.
+
+1\. Create a host for APC UPS Galaxy 3500 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} |<p>Minimum battery capacity percentage for trigger expression.</p> |`50` |
+|{$BATTERY.TEMP.MAX.WARN} |<p>Maximum battery temperature for trigger expression.</p> |`55` |
+|{$ICMP.LOSS.WARN} |<p>-</p> |`20` |
+|{$ICMP.RESPONSE_TIME.WARN} |<p>-</p> |`0.15` |
+|{$SNMP.TIMEOUT} |<p>The time interval for SNMP agent availability trigger expression.</p> |`5m` |
+|{$TIME.PERIOD} |<p>Time period for trigger expression.</p> |`15m` |
+|{$UPS.INPUT_FREQ.MAX.WARN} |<p>Maximum input frequency for trigger expression.</p> |`50.3` |
+|{$UPS.INPUT_FREQ.MIN.WARN} |<p>Minimum input frequency for trigger expression.</p> |`49.7` |
+|{$UPS.INPUT_VOLT.MAX.WARN} |<p>Maximum input voltage for trigger expression.</p> |`243` |
+|{$UPS.INPUT_VOLT.MIN.WARN} |<p>Minimum input voltage for trigger expression.</p> |`197` |
+|{$UPS.OUTPUT.MAX.WARN} |<p>Maximum output load in % for trigger expression.</p> |`80` |
+
+## Template links
+
+There are no template links in this template.
+
+## Discovery rules
+
+|Name|Description|Type|Key and additional info|
+|----|-----------|----|----|
+|Input phases discovery |<p>The input phase identifier. OID upsPhaseInputPhaseIndex.1.1</p> |SNMP |input.phases.discovery |
+|Output phases discovery |<p>The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1</p> |SNMP |output.phases.discovery |
+|External battery packs discovery | |SNMP |battery.packs.discovery<p>**Filter**:</p>AND <p>- A: {#CARTRIDGE_STATUS} NOT_MATCHES_REGEX `^$`</p> |
+|External bad battery packs discovery |<p>Discovery of the number of external defective battery packs.</p> |SNMP |battery.packs.bad.discovery |
+|External sensor port 1 discovery |<p>uioSensorStatusTable</p> |SNMP |external.sensor1.discovery |
+|External sensor port 2 discovery |<p>uioSensorStatusTable</p> |SNMP |external.sensor2.discovery |
+
+## Items collected
+
+|Group|Name|Description|Type|Key and additional info|
+|-----|----|-----------|----|---------------------|
+|General |Model |<p>MIB: PowerNet-MIB</p><p>The UPS model name (e.g. 'APC Smart-UPS 600').</p> |SNMP |system.model[upsBasicIdentModel]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Serial number |<p>MIB: PowerNet-MIB</p><p>An 8-character string identifying the serial number of</p><p> the UPS internal microprocessor. This number is set at</p><p> the factory. NOTE: This number does NOT correspond to</p><p> the serial number on the rear of the UPS.</p> |SNMP |system.sn[upsAdvIdentSerialNumber]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery status |<p>MIB: PowerNet-MIB</p><p>The status of the UPS batteries. A batteryLow(3) value</p><p> indicates the UPS will be unable to sustain the current</p><p> load, and its services will be lost if power is not restored.</p><p> The amount of run time in reserve at the time of low battery</p><p> can be configured by the upsAdvConfigLowBatteryRunTime.</p><p> A batteryInFaultCondition(4)value indicates that a battery</p><p> installed has an internal error condition.</p> |SNMP |battery.status[upsBasicBatteryStatus]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery capacity |<p>MIB: PowerNet-MIB</p><p>The remaining battery capacity expressed as</p><p> percentage of full capacity.</p> |SNMP |battery.capacity[upsHighPrecBatteryCapacity]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery runtime remaining |<p>MIB: PowerNet-MIB</p><p>The UPS battery run time remaining before battery</p><p> exhaustion.</p> |SNMP |battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery voltage |<p>MIB: PowerNet-MIB</p><p>The actual battery bus voltage in Volts.</p> |SNMP |battery.voltage[upsHighPrecBatteryActualVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery last replace date |<p>MIB: PowerNet-MIB</p><p>The date when the UPS system's batteries were last replaced</p><p> in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value</p><p> is originally set at the factory. When the UPS batteries</p><p> are replaced, this value should be reset by the administrator.</p><p> For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.</p> |SNMP |battery.last_replace_date[upsBasicBatteryLastReplaceDate]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery replace indicator |<p>MIB: PowerNet-MIB</p><p>Indicates whether the UPS batteries need replacement.</p> |SNMP |battery.replace_indicator[upsAdvBatteryReplaceIndicator]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |External battery packs count |<p>MIB: PowerNet-MIB</p><p>The number of external battery packs connected to the UPS. If</p><p> the UPS does not use smart cells then the agent reports</p><p> ERROR_NO_SUCH_NAME.</p> |SNMP |battery.external_packs_count[upsAdvBatteryNumOfBattPacks]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery temperature |<p>MIB: PowerNet-MIB</p><p>The current internal UPS temperature in Celsius.</p><p> Temperatures below zero read as 0.</p> |SNMP |battery.temperature[upsHighPrecBatteryTemperature]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input voltage |<p>MIB: PowerNet-MIB</p><p>The current utility line voltage in VAC.</p> |SNMP |input.voltage[upsHighPrecInputLineVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input frequency |<p>MIB: PowerNet-MIB</p><p>The current input frequency to the UPS system in Hz.</p> |SNMP |input.frequency[upsHighPrecInputFrequency]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input fail cause |<p>MIB: PowerNet-MIB</p><p>The reason for the occurrence of the last transfer to UPS</p><p>battery power. The variable is set to:</p><p>- noTransfer(1) -- if there is no transfer yet.</p><p>- highLineVoltage(2) -- if the transfer to battery is caused</p><p>by an over voltage greater than the high transfer voltage.</p><p>- brownout(3) -- if the duration of the outage is greater than</p><p>five seconds and the line voltage is between 40% of the</p><p>rated output voltage and the low transfer voltage.</p><p>- blackout(4) -- if the duration of the outage is greater than five</p><p>seconds and the line voltage is between 40% of the rated</p><p>output voltage and ground.</p><p>- smallMomentarySag(5) -- if the duration of the outage is less</p><p>than five seconds and the line voltage is between 40% of the</p><p>rated output voltage and the low transfer voltage.</p><p>- deepMomentarySag(6) -- if the duration of the outage is less</p><p>than five seconds and the line voltage is between 40% of the</p><p>rated output voltage and ground. The variable is set to</p><p>- smallMomentarySpike(7) -- if the line failure is caused by a</p><p>rate of change of input voltage less than ten volts per cycle.</p><p>- largeMomentarySpike(8) -- if the line failure is caused by</p><p>a rate of change of input voltage greater than ten volts per cycle.</p><p>- selfTest(9) -- if the UPS was commanded to do a self test.</p><p>- rateOfVoltageChange(10) -- if the failure is due to the rate of change of</p><p>the line voltage.</p> |SNMP |input.fail[upsAdvInputLineFailCause]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output voltage |<p>MIB: PowerNet-MIB</p><p>The output voltage of the UPS system in VAC.</p> |SNMP |output.voltage[upsHighPrecOutputVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output load |<p>MIB: PowerNet-MIB</p><p>The current UPS load expressed as percentage</p><p>of rated capacity.</p> |SNMP |output.load[upsHighPrecOutputLoad]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output current |<p>MIB: PowerNet-MIB</p><p>The current in amperes drawn by the load on the UPS.</p> |SNMP |output.current[upsHighPrecOutputCurrent]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output status |<p>MIB: PowerNet-MIB</p><p>The current state of the UPS. If the UPS is unable to</p><p> determine the state of the UPS this variable is set</p><p> to unknown(1).</p><p>During self-test most UPSes report onBattery(3) but</p><p> some that support it will report onBatteryTest(15).</p><p> To determine self-test status across all UPSes, refer</p><p> to the upsBasicStateOutputState OID.</p> |SNMP |output.status[upsBasicOutputStatus]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |SNMP traps (fallback) |<p>Item is used to collect all SNMP traps unmatched by other snmptrap items</p> |SNMP_TRAP |snmptrap.fallback |
+|General |System location |<p>MIB: SNMPv2-MIB</p><p>The physical location of this node (e.g., `telephone closet,</p><p>3rd floor'). If the location is unknown, the value is the zero-length string.</p> |SNMP |system.location[sysLocation.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System contact details |<p>MIB: SNMPv2-MIB</p><p>The textual identification of the contact person for this managed</p><p>node, together with information on how to contact this person. If no contact</p><p>information is known, the value is the zero-length string.</p> |SNMP |system.contact[sysContact.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
+|General |System object ID |<p>MIB: SNMPv2-MIB</p><p>The vendor's authoritative identification of the network management</p><p>subsystem contained in the entity. This value is allocated within the SMI enterprises</p><p>subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what</p><p>kind of box' is being managed. For example, if vendor`Flintstones, Inc.' was</p><p>assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1</p><p>to its `Fred Router'.</p> |SNMP |system.objectid[sysObjectID.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System name |<p>MIB: SNMPv2-MIB</p><p>An administratively-assigned name for this managed node.By</p><p>convention, this is the node's fully-qualified domain name. If the name is unknown,</p><p>the value is the zero-length string.</p> |SNMP |system.name<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System description |<p>MIB: SNMPv2-MIB</p><p>A textual description of the entity. This value should</p><p>include the full name and version identification of the system's hardware type, software operating-system, and</p><p>networking software.</p> |SNMP |system.descr[sysDescr.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
+|General |{#PHASEINDEX}: Phase input voltage |<p>MIB: PowerNet-MIB</p><p>The input voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase input current |<p>MIB: PowerNet-MIB</p><p>The input current in 0.1 amperes, or -0.1 if it's</p><p> unsupported by this UPS.</p> |SNMP |phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output voltage |<p>MIB: PowerNet-MIB</p><p>The output voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output current |<p>MIB: PowerNet-MIB</p><p>The output current in 0.1 amperes drawn</p><p> by the load on the UPS, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output load, % |<p>MIB: PowerNet-MIB</p><p>The percentage of the UPS load capacity in VA at</p><p> redundancy @ (n + x) presently being used on this</p><p> output phase, or -1 if it's unsupported by this UPS.</p> |SNMP |phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status |<p>MIB: PowerNet-MIB</p><p>The battery cartridge status.</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |SNMP |battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature |<p>MIB: PowerNet-MIB</p><p>The battery pack temperature in Celsius.</p> |SNMP |battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number |<p>MIB: PowerNet-MIB</p><p>The battery pack serial number.</p> |SNMP |system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date |<p>MIB: PowerNet-MIB</p><p>The battery cartridge estimated battery replace date.</p> |SNMP |battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery pack cartridge health |<p>MIB: PowerNet-MIB</p><p>The battery cartridge health.</p><p> bit 0 Battery lifetime okay</p><p> bit 1 Battery lifetime near end, order replacement cartridge</p><p> bit 2 Battery lifetime exceeded, replace battery</p><p> bit 3 Battery lifetime near end acknowledged, order replacement cartridge</p><p> bit 4 Battery lifetime exceeded acknowledged, replace battery</p><p> bit 5 Battery measured lifetime near end, order replacement cartridge</p><p> bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge</p> |SNMP |battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#SNMPINDEX}: External battery packs bad |<p>MIB: PowerNet-MIB</p><p>The number of external battery packs connected to the UPS that</p><p>are defective. If the UPS does not use smart cells then the</p><p>agent reports ERROR_NO_SUCH_NAME.</p> |SNMP |battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Temperature sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current temperature reading in Celsius.</p><p> -1 indicates an invalid reading due to lost communications.</p> |SNMP |external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Humidity sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current humidity reading - a relative humidity</p><p> percentage. -1 indicates an invalid reading due to either a</p><p> sensor that doesn't read humidity or lost communications.</p> |SNMP |external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Sensor alarm status |<p>MIB: PowerNet-MIB</p><p>The alarm status of the sensor. Possible values:</p><p>uioNormal (1),</p><p>uioWarning (2),</p><p>uioCritical (3),</p><p>sensorStatusNotApplicable (4)</p> |SNMP |external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Temperature sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current temperature reading in Celsius.</p><p> -1 indicates an invalid reading due to lost communications.</p> |SNMP |external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Humidity sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current humidity reading - a relative humidity</p><p> percentage. -1 indicates an invalid reading due to either a</p><p> sensor that doesn't read humidity or lost communications.</p> |SNMP |external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Sensor alarm status |<p>MIB: PowerNet-MIB</p><p>The alarm status of the sensor. Possible values:</p><p>uioNormal (1),</p><p>uioWarning (2),</p><p>uioCritical (3),</p><p>sensorStatusNotApplicable (4)</p> |SNMP |external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|Status |Uptime |<p>MIB: SNMPv2-MIB</p><p>The time (in hundredths of a second) since the network management</p><p>portion of the system was last re-initialized.</p> |SNMP |system.uptime[sysUpTime.0]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p> |
+|Status |SNMP agent availability |<p>-</p> |INTERNAL |zabbix[host,snmp,available] |
+|Status |ICMP ping |<p>-</p> |SIMPLE |icmpping |
+|Status |ICMP loss |<p>-</p> |SIMPLE |icmppingloss |
+|Status |ICMP response time |<p>-</p> |SIMPLE |icmppingsec |
+
+## Triggers
+
+|Name|Description|Expression|Severity|Dependencies and additional info|
+|----|-----------|----|----|----|
+|Battery has an internal error condition |<p>A battery installed has an internal error condition.</p> |`{TEMPLATE_NAME:battery.status[upsBasicBatteryStatus].last()}=4` |AVERAGE | |
+|Battery is Low |<p>The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.</p> |`{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 |<p>A battery installed has an internal error condition.</p> |`{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}) |<p>A battery installed has an internal error condition.</p> |`{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 | |
+|System name has changed (new name: {ITEM.VALUE}) |<p>System name has changed. Ack to close.</p> |`{TEMPLATE_NAME:system.name.diff()}=1 and {TEMPLATE_NAME:system.name.strlen()}>0` |INFO |<p>Manual close: YES</p> |
+|{#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 |<p>The battery cartridge status:</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |`{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 |<p>The battery cartridge health.</p><p> bit 0 Battery lifetime okay</p><p> bit 1 Battery lifetime near end, order replacement cartridge</p><p> bit 2 Battery lifetime exceeded, replace battery</p><p> bit 3 Battery lifetime near end acknowledged, order replacement cartridge</p><p> bit 4 Battery lifetime exceeded acknowledged, replace battery</p><p> bit 5 Battery measured lifetime near end, order replacement cartridge</p><p> bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge</p> |`{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 |<p>The external sensor does not work or is not connected.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=4` |INFO | |
+|{#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning |<p>The external sensor has returned a value greater than the warning threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=2` |AVERAGE | |
+|{#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical |<p>The external sensor has returned a value greater than the critical threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=3` |HIGH | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable |<p>The external sensor does not work or is not connected.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=4` |INFO | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning |<p>The external sensor has returned a value greater than the warning threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=2` |AVERAGE | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical |<p>The external sensor has returned a value greater than the critical threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=3` |HIGH | |
+|{HOST.NAME} has been restarted (uptime < 10m) |<p>Uptime is less than 10 minutes</p> |`{TEMPLATE_NAME:system.uptime[sysUpTime.0].last()}<10m` |WARNING |<p>Manual close: YES</p><p>**Depends on**:</p><p>- No SNMP data collection</p> |
+|No SNMP data collection |<p>SNMP is not available for polling. Please check device connectivity and SNMP settings.</p> |`{TEMPLATE_NAME:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0` |WARNING |<p>**Depends on**:</p><p>- Unavailable by ICMP ping</p> |
+|Unavailable by ICMP ping |<p>Last three attempts returned timeout. Please check device connectivity.</p> |`{TEMPLATE_NAME:icmpping.max(#3)}=0` |HIGH | |
+|High ICMP ping loss |<p>-</p> |`{TEMPLATE_NAME:icmppingloss.min(5m)}>{$ICMP.LOSS.WARN} and {TEMPLATE_NAME:icmppingloss.min(5m)}<100` |WARNING |<p>**Depends on**:</p><p>- Unavailable by ICMP ping</p> |
+|High ICMP ping response time |<p>-</p> |`{TEMPLATE_NAME:icmppingsec.avg(5m)}>{$ICMP.RESPONSE_TIME.WARN}` |WARNING |<p>**Depends on**:</p><p>- High ICMP ping loss</p><p>- Unavailable by ICMP ping</p> |
+
+## 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](https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups).
+
diff --git a/templates/power/apc/apc_ups_galaxy_3500_snmp/template_power_apc_ups_galaxy_3500_snmp.yaml b/templates/power/apc/apc_ups_galaxy_3500_snmp/template_power_apc_ups_galaxy_3500_snmp.yaml
new file mode 100644
index 00000000000..c7c910f8606
--- /dev/null
+++ b/templates/power/apc/apc_ups_galaxy_3500_snmp/template_power_apc_ups_galaxy_3500_snmp.yaml
@@ -0,0 +1,1498 @@
+zabbix_export:
+ version: '5.4'
+ date: '2021-03-24T17:25:41Z'
+ groups:
+ -
+ name: Templates/Power
+ templates:
+ -
+ template: 'APC UPS Galaxy 3500 SNMP'
+ name: 'APC UPS Galaxy 3500 SNMP'
+ description: |
+ Template Power APC UPS Galaxy 3500
+
+ MIBs used:
+ PowerNet-MIB
+ SNMPv2-MIB
+
+ You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
+
+ Template tooling version used: 0.38
+ groups:
+ -
+ name: Templates/Power
+ applications:
+ -
+ name: General
+ -
+ name: Status
+ items:
+ -
+ name: 'Battery capacity'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.1.0
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ MIB: PowerNet-MIB
+ The remaining battery capacity expressed as
+ percentage of full capacity.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()} < {$BATTERY.CAPACITY.MIN.WARN}'
+ name: 'Battery has low capacity (below {$BATTERY.CAPACITY.MIN.WARN}%)'
+ opdata: 'Current capacity: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'External battery packs count'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.5.0
+ key: 'battery.external_packs_count[upsAdvBatteryNumOfBattPacks]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery last replace date'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.1.3.0
+ key: 'battery.last_replace_date[upsBasicBatteryLastReplaceDate]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery replace indicator'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.4.0
+ key: 'battery.replace_indicator[upsAdvBatteryReplaceIndicator]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ Indicates whether the UPS batteries need replacement.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsAdvBatteryReplaceIndicator'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=2'
+ name: 'Battery needs replacement'
+ priority: HIGH
+ description: 'A battery installed has an internal error condition.'
+ -
+ name: 'Battery runtime remaining'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.3.0
+ key: 'battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]'
+ history: 7d
+ value_type: FLOAT
+ units: s
+ description: |
+ MIB: PowerNet-MIB
+ The UPS battery run time remaining before battery
+ exhaustion.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.01'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.1.1.0
+ key: 'battery.status[upsBasicBatteryStatus]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=4'
+ name: 'Battery has an internal error condition'
+ priority: AVERAGE
+ description: 'A battery installed has an internal error condition.'
+ -
+ expression: '{last()}=3'
+ name: 'Battery is Low'
+ priority: AVERAGE
+ description: 'The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.'
+ -
+ name: 'Battery temperature'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.2.0
+ key: 'battery.temperature[upsHighPrecBatteryTemperature]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The current internal UPS temperature in Celsius.
+ Temperatures below zero read as 0.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$BATTERY.TEMP.MAX.WARN}'
+ name: 'Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD})'
+ opdata: 'Current temperature: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Battery voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.4.0
+ key: 'battery.voltage[upsHighPrecBatteryActualVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The actual battery bus voltage in Volts.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'ICMP ping'
+ type: SIMPLE
+ key: icmpping
+ history: 1w
+ applications:
+ -
+ name: Status
+ valuemap:
+ name: 'Service state'
+ triggers:
+ -
+ expression: '{max(#3)}=0'
+ name: 'Unavailable by ICMP ping'
+ priority: HIGH
+ description: 'Last three attempts returned timeout. Please check device connectivity.'
+ -
+ name: 'ICMP loss'
+ type: SIMPLE
+ key: icmppingloss
+ history: 1w
+ value_type: FLOAT
+ units: '%'
+ applications:
+ -
+ name: Status
+ triggers:
+ -
+ expression: '{min(5m)}>{$ICMP.LOSS.WARN} and {min(5m)}<100'
+ name: 'High ICMP ping loss'
+ opdata: 'Loss: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ dependencies:
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC UPS Galaxy 3500 SNMP:icmpping.max(#3)}=0'
+ -
+ name: 'ICMP response time'
+ type: SIMPLE
+ key: icmppingsec
+ history: 1w
+ value_type: FLOAT
+ units: s
+ applications:
+ -
+ name: Status
+ triggers:
+ -
+ expression: '{avg(5m)}>{$ICMP.RESPONSE_TIME.WARN}'
+ name: 'High ICMP ping response time'
+ opdata: 'Value: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ dependencies:
+ -
+ name: 'High ICMP ping loss'
+ expression: '{APC UPS Galaxy 3500 SNMP:icmppingloss.min(5m)}>{$ICMP.LOSS.WARN} and {APC UPS Galaxy 3500 SNMP:icmppingloss.min(5m)}<100'
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC UPS Galaxy 3500 SNMP:icmpping.max(#3)}=0'
+ -
+ name: 'Input fail cause'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.2.5.0
+ key: 'input.fail[upsAdvInputLineFailCause]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsAdvInputLineFailCause'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Input frequency'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.3.4.0
+ key: 'input.frequency[upsHighPrecInputFrequency]'
+ history: 7d
+ value_type: FLOAT
+ units: Hz
+ description: |
+ MIB: PowerNet-MIB
+ The current input frequency to the UPS system in Hz.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > 0 and ({min({$TIME.PERIOD})} > {$UPS.INPUT_FREQ.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_FREQ.MIN.WARN})'
+ name: 'Unacceptable input frequency (out of range {$UPS.INPUT_FREQ.MIN.WARN}-{$UPS.INPUT_FREQ.MAX.WARN}Hz for {$TIME.PERIOD})'
+ opdata: 'Current frequency: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Input voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.3.1.0
+ key: 'input.voltage[upsHighPrecInputLineVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The current utility line voltage in VAC.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > 0 and ({min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN})'
+ name: 'Unacceptable input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Output current'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.4.0
+ key: 'output.current[upsHighPrecOutputCurrent]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ MIB: PowerNet-MIB
+ The current in amperes drawn by the load on the UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Output load'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.3.0
+ key: 'output.load[upsHighPrecOutputLoad]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ MIB: PowerNet-MIB
+ The current UPS load expressed as percentage
+ of rated capacity.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.OUTPUT.MAX.WARN}'
+ name: 'Output load is high (over {$UPS.OUTPUT.MAX.WARN}% for {$TIME.PERIOD})'
+ opdata: 'Current load: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ description: 'A battery installed has an internal error condition.'
+ -
+ name: 'Output status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.1.1.0
+ key: 'output.status[upsBasicOutputStatus]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=16'
+ name: 'UPS is Emergency Static Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=10'
+ name: 'UPS is Hardware Failure Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=7'
+ name: 'UPS is Off'
+ priority: AVERAGE
+ -
+ expression: '{last()}=3'
+ name: 'UPS is on battery'
+ priority: AVERAGE
+ -
+ expression: '{last()}=4'
+ name: 'UPS is on Smart Boost'
+ priority: AVERAGE
+ -
+ expression: '{last()}=12'
+ name: 'UPS is On Smart Trim'
+ priority: AVERAGE
+ -
+ expression: '{last()}=8'
+ name: 'UPS is Rebooting'
+ priority: AVERAGE
+ -
+ expression: '{last()}=11'
+ name: 'UPS is Sleeping Until Power Return'
+ priority: AVERAGE
+ -
+ expression: '{last()}=6'
+ name: 'UPS is Software Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=9'
+ name: 'UPS is Switched Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=5'
+ name: 'UPS is Timed Sleeping'
+ priority: AVERAGE
+ -
+ name: 'Output voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.1.0
+ key: 'output.voltage[upsHighPrecOutputVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The output voltage of the UPS system in VAC.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'SNMP traps (fallback)'
+ type: SNMP_TRAP
+ key: snmptrap.fallback
+ history: 2w
+ trends: '0'
+ value_type: LOG
+ description: 'Item is used to collect all SNMP traps unmatched by other snmptrap items'
+ applications:
+ -
+ name: General
+ logtimefmt: 'hh:mm:sszyyyy/MM/dd'
+ -
+ name: 'System contact details'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.4.0
+ key: 'system.contact[sysContact.0]'
+ delay: 1h
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: CONTACT
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1d
+ -
+ name: 'System description'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.1.0
+ key: 'system.descr[sysDescr.0]'
+ delay: 1h
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1d
+ -
+ name: 'System location'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.6.0
+ key: 'system.location[sysLocation.0]'
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: LOCATION
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ -
+ name: Model
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.1.1.1.0
+ key: 'system.model[upsBasicIdentModel]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The UPS model name (e.g. 'APC Smart-UPS 600').
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'System name'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.5.0
+ key: system.name
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: NAME
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ triggers:
+ -
+ expression: '{diff()}=1 and {strlen()}>0'
+ name: 'System name has changed (new name: {ITEM.VALUE})'
+ priority: INFO
+ description: 'System name has changed. Ack to close.'
+ manual_close: 'YES'
+ -
+ name: 'System object ID'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.2.0
+ key: 'system.objectid[sysObjectID.0]'
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: SNMPv2-MIB
+ The vendor's authoritative identification of the network management
+ subsystem contained in the entity. This value is allocated within the SMI enterprises
+ subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what
+ kind of box' is being managed. For example, if vendor`Flintstones, Inc.' was
+ assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1
+ to its `Fred Router'.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ -
+ name: 'Serial number'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.1.2.3.0
+ key: 'system.sn[upsAdvIdentSerialNumber]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: Uptime
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.3.0
+ key: 'system.uptime[sysUpTime.0]'
+ delay: 30s
+ history: 2w
+ trends: 0d
+ units: uptime
+ description: |
+ MIB: SNMPv2-MIB
+ The time (in hundredths of a second) since the network management
+ portion of the system was last re-initialized.
+ applications:
+ -
+ name: Status
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.01'
+ triggers:
+ -
+ expression: '{last()}<10m'
+ name: '{HOST.NAME} has been restarted (uptime < 10m)'
+ priority: WARNING
+ description: 'Uptime is less than 10 minutes'
+ manual_close: 'YES'
+ dependencies:
+ -
+ name: 'No SNMP data collection'
+ expression: '{APC UPS Galaxy 3500 SNMP:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0'
+ -
+ name: 'SNMP agent availability'
+ type: INTERNAL
+ key: 'zabbix[host,snmp,available]'
+ history: 7d
+ applications:
+ -
+ name: Status
+ valuemap:
+ name: zabbix.host.available
+ triggers:
+ -
+ expression: '{max({$SNMP.TIMEOUT})}=0'
+ name: 'No SNMP data collection'
+ opdata: 'Current state: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: 'SNMP is not available for polling. Please check device connectivity and SNMP settings.'
+ dependencies:
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC UPS Galaxy 3500 SNMP:icmpping.max(#3)}=0'
+ discovery_rules:
+ -
+ name: 'External bad battery packs discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_PACKS},1.3.6.1.4.1.318.1.1.1.2.2.6]'
+ key: battery.packs.bad.discovery
+ delay: 1h
+ description: 'Discovery of the number of external defective battery packs.'
+ item_prototypes:
+ -
+ name: '{#SNMPINDEX}: External battery packs bad'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.6.0
+ key: 'battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'External battery packs discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#CARTRIDGE_STATUS},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.7,{#BATTERY_PACK},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.1,{#CARTRIDGE_INDEX},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.2]'
+ key: battery.packs.discovery
+ delay: 1h
+ filter:
+ evaltype: AND
+ conditions:
+ -
+ macro: '{#CARTRIDGE_STATUS}'
+ value: ^$
+ operator: NOT_MATCHES_REGEX
+ formulaid: A
+ item_prototypes:
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.8.{#SNMPINDEX}'
+ key: 'battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The battery cartridge estimated battery replace date.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery pack cartridge health'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.7.{#SNMPINDEX}'
+ key: 'battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{regexp("^(0)[0|1]{15}$")}=1'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery lifetime is not okay'
+ opdata: 'Current bit set: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: |
+ 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
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.10.{#SNMPINDEX}'
+ key: 'battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{regexp("^(0{16})$")}=0'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status is not okay'
+ opdata: 'Current bit set: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: |
+ 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
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.5.{#SNMPINDEX}'
+ key: 'battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The battery pack temperature in Celsius.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$BATTERY.TEMP.MAX.WARN}'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD})'
+ opdata: 'Current temperature: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.4.{#SNMPINDEX}'
+ key: 'system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The battery pack serial number.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'External sensor port 1 discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_SENSOR1_NAME},1.3.6.1.4.1.318.1.1.25.1.2.1.3]'
+ key: external.sensor1.discovery
+ delay: 1h
+ description: uioSensorStatusTable
+ item_prototypes:
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Humidity sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.7.1.1
+ key: 'external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor alarm status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.9.1.1
+ key: 'external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ The alarm status of the sensor. Possible values:
+ uioNormal (1),
+ uioWarning (2),
+ uioCritical (3),
+ sensorStatusNotApplicable (4)
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{last()}=3'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical'
+ priority: HIGH
+ description: 'The external sensor has returned a value greater than the critical threshold.'
+ -
+ expression: '{last()}=4'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Not Applicable'
+ priority: INFO
+ description: 'The external sensor does not work or is not connected.'
+ -
+ expression: '{last()}=2'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning'
+ priority: AVERAGE
+ description: 'The external sensor has returned a value greater than the warning threshold.'
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Temperature sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.6.1.1
+ key: 'external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The sensor's current temperature reading in Celsius.
+ -1 indicates an invalid reading due to lost communications.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ overrides:
+ -
+ name: Temp
+ step: '1'
+ filter:
+ conditions:
+ -
+ macro: '{#EXTERNAL_SENSOR1_NAME}'
+ value: Temp
+ formulaid: A
+ operations:
+ -
+ operationobject: ITEM_PROTOTYPE
+ operator: LIKE
+ value: Humidity
+ status: ENABLED
+ discover: NO_DISCOVER
+ -
+ name: 'External sensor port 2 discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_SENSOR2_NAME},1.3.6.1.4.1.318.1.1.25.1.2.2.3]'
+ key: external.sensor2.discovery
+ delay: 1h
+ description: uioSensorStatusTable
+ item_prototypes:
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Humidity sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.7.1.1
+ key: 'external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor alarm status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.9.1.1
+ key: 'external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ The alarm status of the sensor. Possible values:
+ uioNormal (1),
+ uioWarning (2),
+ uioCritical (3),
+ sensorStatusNotApplicable (4)
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{last()}=3'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical'
+ priority: HIGH
+ description: 'The external sensor has returned a value greater than the critical threshold.'
+ -
+ expression: '{last()}=4'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable'
+ priority: INFO
+ description: 'The external sensor does not work or is not connected.'
+ -
+ expression: '{last()}=2'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning'
+ priority: AVERAGE
+ description: 'The external sensor has returned a value greater than the warning threshold.'
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Temperature sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.6.1.1
+ key: 'external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The sensor's current temperature reading in Celsius.
+ -1 indicates an invalid reading due to lost communications.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ overrides:
+ -
+ name: Temp
+ step: '1'
+ filter:
+ conditions:
+ -
+ macro: '{#EXTERNAL_SENSOR2_NAME}'
+ value: Temp
+ formulaid: A
+ operations:
+ -
+ operationobject: ITEM_PROTOTYPE
+ operator: LIKE
+ value: Humidity
+ status: ENABLED
+ discover: NO_DISCOVER
+ -
+ name: 'Input phases discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#PHASEINDEX},1.3.6.1.4.1.318.1.1.1.9.2.3.1.2.1.1]'
+ key: input.phases.discovery
+ delay: 1h
+ description: 'The input phase identifier. OID upsPhaseInputPhaseIndex.1.1'
+ item_prototypes:
+ -
+ name: '{#PHASEINDEX}: Phase input current'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.2.3.1.6.1.1.{#PHASEINDEX}'
+ key: 'phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ MIB: PowerNet-MIB
+ The input current in 0.1 amperes, or -0.1 if it's
+ unsupported by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase input voltage'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.2.3.1.3.1.1.{#PHASEINDEX}'
+ key: 'phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The input voltage in VAC, or -1 if it's unsupported
+ by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}'
+ name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Output phases discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#PHASEINDEX},1.3.6.1.4.1.318.1.1.1.9.3.3.1.2.1.1]'
+ key: output.phases.discovery
+ delay: 1h
+ description: 'The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1'
+ item_prototypes:
+ -
+ name: '{#PHASEINDEX}: Phase output current'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.4.1.1.{#PHASEINDEX}'
+ key: 'phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output load, %'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.10.1.1.{#PHASEINDEX}'
+ key: 'phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output voltage'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.3.1.1.{#PHASEINDEX}'
+ key: 'phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The output voltage in VAC, or -1 if it's unsupported
+ by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}'
+ name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} output voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ macros:
+ -
+ macro: '{$BATTERY.CAPACITY.MIN.WARN}'
+ value: '50'
+ description: 'Minimum battery capacity percentage for trigger expression.'
+ -
+ macro: '{$BATTERY.TEMP.MAX.WARN}'
+ value: '55'
+ description: 'Maximum battery temperature for trigger expression.'
+ -
+ macro: '{$ICMP.LOSS.WARN}'
+ value: '20'
+ -
+ macro: '{$ICMP.RESPONSE_TIME.WARN}'
+ value: '0.15'
+ -
+ macro: '{$SNMP.TIMEOUT}'
+ value: 5m
+ description: 'The time interval for SNMP agent availability trigger expression.'
+ -
+ macro: '{$TIME.PERIOD}'
+ value: 15m
+ description: 'Time period for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_FREQ.MAX.WARN}'
+ value: '50.3'
+ description: 'Maximum input frequency for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_FREQ.MIN.WARN}'
+ value: '49.7'
+ description: 'Minimum input frequency for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_VOLT.MAX.WARN}'
+ value: '243'
+ description: 'Maximum input voltage for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_VOLT.MIN.WARN}'
+ value: '197'
+ description: 'Minimum input voltage for trigger expression.'
+ -
+ macro: '{$UPS.OUTPUT.MAX.WARN}'
+ value: '80'
+ description: 'Maximum output load in % for trigger expression.'
+ valuemaps:
+ -
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ mappings:
+ -
+ value: '1'
+ newvalue: Normal
+ -
+ value: '2'
+ newvalue: Warning
+ -
+ value: '3'
+ newvalue: Critical
+ -
+ value: '4'
+ newvalue: 'Not applicable'
+ -
+ name: 'PowerNet-MIB::upsAdvBatteryReplaceIndicator'
+ mappings:
+ -
+ value: '1'
+ newvalue: 'no Battery Needs Replacing'
+ -
+ value: '2'
+ newvalue: 'battery Needs Replacing'
+ -
+ name: 'PowerNet-MIB::upsAdvInputLineFailCause'
+ mappings:
+ -
+ value: '1'
+ newvalue: 'no Transfer'
+ -
+ value: '2'
+ newvalue: 'High Line Voltage'
+ -
+ value: '3'
+ newvalue: Brownout
+ -
+ value: '4'
+ newvalue: Blackout
+ -
+ value: '5'
+ newvalue: 'Small Momentary Sag'
+ -
+ value: '6'
+ newvalue: 'Deep Momentary Sag'
+ -
+ value: '7'
+ newvalue: 'Small Momentary Spike'
+ -
+ value: '8'
+ newvalue: 'Large Momentary Spike'
+ -
+ value: '9'
+ newvalue: 'Self Test'
+ -
+ value: '10'
+ newvalue: 'Rate of Voltage Change'
+ -
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ mappings:
+ -
+ value: '1'
+ newvalue: Unknown
+ -
+ value: '2'
+ newvalue: Normal
+ -
+ value: '3'
+ newvalue: Low
+ -
+ value: '4'
+ newvalue: 'In Fault Condition'
+ -
+ name: 'Service state'
+ mappings:
+ -
+ value: '0'
+ newvalue: Down
+ -
+ value: '1'
+ newvalue: Up
+ -
+ name: zabbix.host.available
+ mappings:
+ -
+ value: '0'
+ newvalue: 'not available'
+ -
+ value: '1'
+ newvalue: available
+ -
+ value: '2'
+ newvalue: unknown
+ graphs:
+ -
+ name: 'Capacity of the UPS batteries'
+ type: PIE
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC UPS Galaxy 3500 SNMP'
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
+ -
+ name: Output
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC UPS Galaxy 3500 SNMP'
+ key: 'output.current[upsHighPrecOutputCurrent]'
+ -
+ sortorder: '1'
+ color: 2774A4
+ item:
+ host: 'APC UPS Galaxy 3500 SNMP'
+ key: 'output.load[upsHighPrecOutputLoad]'
+ -
+ name: Voltage
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC UPS Galaxy 3500 SNMP'
+ key: 'input.voltage[upsHighPrecInputLineVoltage]'
+ -
+ sortorder: '1'
+ color: 2774A4
+ item:
+ host: 'APC UPS Galaxy 3500 SNMP'
+ key: 'output.voltage[upsHighPrecOutputVoltage]'
diff --git a/templates/power/apc/apc_ups_smart_2200_rm_snmp/README.md b/templates/power/apc/apc_ups_smart_2200_rm_snmp/README.md
new file mode 100644
index 00000000000..e49c5229d06
--- /dev/null
+++ b/templates/power/apc/apc_ups_smart_2200_rm_snmp/README.md
@@ -0,0 +1,159 @@
+
+# APC Smart-UPS 2200 RM SNMP
+
+## Overview
+
+For Zabbix version: 5.4 and higher
+The template to monitor APC Smart-UPS 2200 RM by Zabbix SNMP agent.
+Note: please, use the latest version of the firmware for your NMC in order for the template to work correctly.
+
+
+
+This template was tested on:
+
+- APC Smart-UPS 2200 RM
+
+## Setup
+
+> See [Zabbix template operation](https://www.zabbix.com/documentation/5.4/manual/config/templates_out_of_the_box/network_devices) for basic instructions.
+
+1\. Create a host for APC Smart-UPS 2200 RM 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} |<p>Minimum battery capacity percentage for trigger expression.</p> |`50` |
+|{$BATTERY.TEMP.MAX.WARN} |<p>Maximum battery temperature for trigger expression.</p> |`55` |
+|{$ICMP.LOSS.WARN} |<p>-</p> |`20` |
+|{$ICMP.RESPONSE_TIME.WARN} |<p>-</p> |`0.15` |
+|{$SNMP.TIMEOUT} |<p>The time interval for SNMP agent availability trigger expression.</p> |`5m` |
+|{$TIME.PERIOD} |<p>Time period for trigger expression.</p> |`15m` |
+|{$UPS.INPUT_FREQ.MAX.WARN} |<p>Maximum input frequency for trigger expression.</p> |`50.3` |
+|{$UPS.INPUT_FREQ.MIN.WARN} |<p>Minimum input frequency for trigger expression.</p> |`49.7` |
+|{$UPS.INPUT_VOLT.MAX.WARN} |<p>Maximum input voltage for trigger expression.</p> |`243` |
+|{$UPS.INPUT_VOLT.MIN.WARN} |<p>Minimum input voltage for trigger expression.</p> |`197` |
+|{$UPS.OUTPUT.MAX.WARN} |<p>Maximum output load in % for trigger expression.</p> |`80` |
+
+## Template links
+
+There are no template links in this template.
+
+## Discovery rules
+
+|Name|Description|Type|Key and additional info|
+|----|-----------|----|----|
+|Input phases discovery |<p>The input phase identifier. OID upsPhaseInputPhaseIndex.1.1</p> |SNMP |input.phases.discovery |
+|Output phases discovery |<p>The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1</p> |SNMP |output.phases.discovery |
+|External battery packs discovery | |SNMP |battery.packs.discovery<p>**Filter**:</p>AND <p>- A: {#CARTRIDGE_STATUS} NOT_MATCHES_REGEX `^$`</p> |
+|External bad battery packs discovery |<p>Discovery of the number of external defective battery packs.</p> |SNMP |battery.packs.bad.discovery |
+|External sensor port 1 discovery |<p>uioSensorStatusTable</p> |SNMP |external.sensor1.discovery |
+|External sensor port 2 discovery |<p>uioSensorStatusTable</p> |SNMP |external.sensor2.discovery |
+
+## Items collected
+
+|Group|Name|Description|Type|Key and additional info|
+|-----|----|-----------|----|---------------------|
+|General |Model |<p>MIB: PowerNet-MIB</p><p>The UPS model name (e.g. 'APC Smart-UPS 600').</p> |SNMP |system.model[upsBasicIdentModel]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Serial number |<p>MIB: PowerNet-MIB</p><p>An 8-character string identifying the serial number of</p><p> the UPS internal microprocessor. This number is set at</p><p> the factory. NOTE: This number does NOT correspond to</p><p> the serial number on the rear of the UPS.</p> |SNMP |system.sn[upsAdvIdentSerialNumber]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery status |<p>MIB: PowerNet-MIB</p><p>The status of the UPS batteries. A batteryLow(3) value</p><p> indicates the UPS will be unable to sustain the current</p><p> load, and its services will be lost if power is not restored.</p><p> The amount of run time in reserve at the time of low battery</p><p> can be configured by the upsAdvConfigLowBatteryRunTime.</p><p> A batteryInFaultCondition(4)value indicates that a battery</p><p> installed has an internal error condition.</p> |SNMP |battery.status[upsBasicBatteryStatus]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery capacity |<p>MIB: PowerNet-MIB</p><p>The remaining battery capacity expressed as</p><p> percentage of full capacity.</p> |SNMP |battery.capacity[upsHighPrecBatteryCapacity]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery runtime remaining |<p>MIB: PowerNet-MIB</p><p>The UPS battery run time remaining before battery</p><p> exhaustion.</p> |SNMP |battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery voltage |<p>MIB: PowerNet-MIB</p><p>The actual battery bus voltage in Volts.</p> |SNMP |battery.voltage[upsHighPrecBatteryActualVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery last replace date |<p>MIB: PowerNet-MIB</p><p>The date when the UPS system's batteries were last replaced</p><p> in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value</p><p> is originally set at the factory. When the UPS batteries</p><p> are replaced, this value should be reset by the administrator.</p><p> For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.</p> |SNMP |battery.last_replace_date[upsBasicBatteryLastReplaceDate]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery replace indicator |<p>MIB: PowerNet-MIB</p><p>Indicates whether the UPS batteries need replacement.</p> |SNMP |battery.replace_indicator[upsAdvBatteryReplaceIndicator]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |External battery packs count |<p>MIB: PowerNet-MIB</p><p>The number of external battery packs connected to the UPS. If</p><p> the UPS does not use smart cells then the agent reports</p><p> ERROR_NO_SUCH_NAME.</p> |SNMP |battery.external_packs_count[upsAdvBatteryNumOfBattPacks]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery temperature |<p>MIB: PowerNet-MIB</p><p>The current internal UPS temperature in Celsius.</p><p> Temperatures below zero read as 0.</p> |SNMP |battery.temperature[upsHighPrecBatteryTemperature]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input voltage |<p>MIB: PowerNet-MIB</p><p>The current utility line voltage in VAC.</p> |SNMP |input.voltage[upsHighPrecInputLineVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input frequency |<p>MIB: PowerNet-MIB</p><p>The current input frequency to the UPS system in Hz.</p> |SNMP |input.frequency[upsHighPrecInputFrequency]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input fail cause |<p>MIB: PowerNet-MIB</p><p>The reason for the occurrence of the last transfer to UPS</p><p>battery power. The variable is set to:</p><p>- noTransfer(1) -- if there is no transfer yet.</p><p>- highLineVoltage(2) -- if the transfer to battery is caused</p><p>by an over voltage greater than the high transfer voltage.</p><p>- brownout(3) -- if the duration of the outage is greater than</p><p>five seconds and the line voltage is between 40% of the</p><p>rated output voltage and the low transfer voltage.</p><p>- blackout(4) -- if the duration of the outage is greater than five</p><p>seconds and the line voltage is between 40% of the rated</p><p>output voltage and ground.</p><p>- smallMomentarySag(5) -- if the duration of the outage is less</p><p>than five seconds and the line voltage is between 40% of the</p><p>rated output voltage and the low transfer voltage.</p><p>- deepMomentarySag(6) -- if the duration of the outage is less</p><p>than five seconds and the line voltage is between 40% of the</p><p>rated output voltage and ground. The variable is set to</p><p>- smallMomentarySpike(7) -- if the line failure is caused by a</p><p>rate of change of input voltage less than ten volts per cycle.</p><p>- largeMomentarySpike(8) -- if the line failure is caused by</p><p>a rate of change of input voltage greater than ten volts per cycle.</p><p>- selfTest(9) -- if the UPS was commanded to do a self test.</p><p>- rateOfVoltageChange(10) -- if the failure is due to the rate of change of</p><p>the line voltage.</p> |SNMP |input.fail[upsAdvInputLineFailCause]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output voltage |<p>MIB: PowerNet-MIB</p><p>The output voltage of the UPS system in VAC.</p> |SNMP |output.voltage[upsHighPrecOutputVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output load |<p>MIB: PowerNet-MIB</p><p>The current UPS load expressed as percentage</p><p>of rated capacity.</p> |SNMP |output.load[upsHighPrecOutputLoad]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output current |<p>MIB: PowerNet-MIB</p><p>The current in amperes drawn by the load on the UPS.</p> |SNMP |output.current[upsHighPrecOutputCurrent]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output status |<p>MIB: PowerNet-MIB</p><p>The current state of the UPS. If the UPS is unable to</p><p> determine the state of the UPS this variable is set</p><p> to unknown(1).</p><p>During self-test most UPSes report onBattery(3) but</p><p> some that support it will report onBatteryTest(15).</p><p> To determine self-test status across all UPSes, refer</p><p> to the upsBasicStateOutputState OID.</p> |SNMP |output.status[upsBasicOutputStatus]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |SNMP traps (fallback) |<p>Item is used to collect all SNMP traps unmatched by other snmptrap items</p> |SNMP_TRAP |snmptrap.fallback |
+|General |System location |<p>MIB: SNMPv2-MIB</p><p>The physical location of this node (e.g., `telephone closet,</p><p>3rd floor'). If the location is unknown, the value is the zero-length string.</p> |SNMP |system.location[sysLocation.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System contact details |<p>MIB: SNMPv2-MIB</p><p>The textual identification of the contact person for this managed</p><p>node, together with information on how to contact this person. If no contact</p><p>information is known, the value is the zero-length string.</p> |SNMP |system.contact[sysContact.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
+|General |System object ID |<p>MIB: SNMPv2-MIB</p><p>The vendor's authoritative identification of the network management</p><p>subsystem contained in the entity. This value is allocated within the SMI enterprises</p><p>subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what</p><p>kind of box' is being managed. For example, if vendor`Flintstones, Inc.' was</p><p>assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1</p><p>to its `Fred Router'.</p> |SNMP |system.objectid[sysObjectID.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System name |<p>MIB: SNMPv2-MIB</p><p>An administratively-assigned name for this managed node.By</p><p>convention, this is the node's fully-qualified domain name. If the name is unknown,</p><p>the value is the zero-length string.</p> |SNMP |system.name<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System description |<p>MIB: SNMPv2-MIB</p><p>A textual description of the entity. This value should</p><p>include the full name and version identification of the system's hardware type, software operating-system, and</p><p>networking software.</p> |SNMP |system.descr[sysDescr.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
+|General |{#PHASEINDEX}: Phase input voltage |<p>MIB: PowerNet-MIB</p><p>The input voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase input current |<p>MIB: PowerNet-MIB</p><p>The input current in 0.1 amperes, or -0.1 if it's</p><p> unsupported by this UPS.</p> |SNMP |phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output voltage |<p>MIB: PowerNet-MIB</p><p>The output voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output current |<p>MIB: PowerNet-MIB</p><p>The output current in 0.1 amperes drawn</p><p> by the load on the UPS, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output load, % |<p>MIB: PowerNet-MIB</p><p>The percentage of the UPS load capacity in VA at</p><p> redundancy @ (n + x) presently being used on this</p><p> output phase, or -1 if it's unsupported by this UPS.</p> |SNMP |phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status |<p>MIB: PowerNet-MIB</p><p>The battery cartridge status.</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |SNMP |battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature |<p>MIB: PowerNet-MIB</p><p>The battery pack temperature in Celsius.</p> |SNMP |battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number |<p>MIB: PowerNet-MIB</p><p>The battery pack serial number.</p> |SNMP |system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date |<p>MIB: PowerNet-MIB</p><p>The battery cartridge estimated battery replace date.</p> |SNMP |battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery pack cartridge health |<p>MIB: PowerNet-MIB</p><p>The battery cartridge health.</p><p> bit 0 Battery lifetime okay</p><p> bit 1 Battery lifetime near end, order replacement cartridge</p><p> bit 2 Battery lifetime exceeded, replace battery</p><p> bit 3 Battery lifetime near end acknowledged, order replacement cartridge</p><p> bit 4 Battery lifetime exceeded acknowledged, replace battery</p><p> bit 5 Battery measured lifetime near end, order replacement cartridge</p><p> bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge</p> |SNMP |battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#SNMPINDEX}: External battery packs bad |<p>MIB: PowerNet-MIB</p><p>The number of external battery packs connected to the UPS that</p><p>are defective. If the UPS does not use smart cells then the</p><p>agent reports ERROR_NO_SUCH_NAME.</p> |SNMP |battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Temperature sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current temperature reading in Celsius.</p><p> -1 indicates an invalid reading due to lost communications.</p> |SNMP |external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Humidity sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current humidity reading - a relative humidity</p><p> percentage. -1 indicates an invalid reading due to either a</p><p> sensor that doesn't read humidity or lost communications.</p> |SNMP |external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Sensor alarm status |<p>MIB: PowerNet-MIB</p><p>The alarm status of the sensor. Possible values:</p><p>uioNormal (1),</p><p>uioWarning (2),</p><p>uioCritical (3),</p><p>sensorStatusNotApplicable (4)</p> |SNMP |external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Temperature sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current temperature reading in Celsius.</p><p> -1 indicates an invalid reading due to lost communications.</p> |SNMP |external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Humidity sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current humidity reading - a relative humidity</p><p> percentage. -1 indicates an invalid reading due to either a</p><p> sensor that doesn't read humidity or lost communications.</p> |SNMP |external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Sensor alarm status |<p>MIB: PowerNet-MIB</p><p>The alarm status of the sensor. Possible values:</p><p>uioNormal (1),</p><p>uioWarning (2),</p><p>uioCritical (3),</p><p>sensorStatusNotApplicable (4)</p> |SNMP |external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|Status |Uptime |<p>MIB: SNMPv2-MIB</p><p>The time (in hundredths of a second) since the network management</p><p>portion of the system was last re-initialized.</p> |SNMP |system.uptime[sysUpTime.0]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p> |
+|Status |SNMP agent availability |<p>-</p> |INTERNAL |zabbix[host,snmp,available] |
+|Status |ICMP ping |<p>-</p> |SIMPLE |icmpping |
+|Status |ICMP loss |<p>-</p> |SIMPLE |icmppingloss |
+|Status |ICMP response time |<p>-</p> |SIMPLE |icmppingsec |
+
+## Triggers
+
+|Name|Description|Expression|Severity|Dependencies and additional info|
+|----|-----------|----|----|----|
+|Battery has an internal error condition |<p>A battery installed has an internal error condition.</p> |`{TEMPLATE_NAME:battery.status[upsBasicBatteryStatus].last()}=4` |AVERAGE | |
+|Battery is Low |<p>The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.</p> |`{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 |<p>A battery installed has an internal error condition.</p> |`{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}) |<p>A battery installed has an internal error condition.</p> |`{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 | |
+|System name has changed (new name: {ITEM.VALUE}) |<p>System name has changed. Ack to close.</p> |`{TEMPLATE_NAME:system.name.diff()}=1 and {TEMPLATE_NAME:system.name.strlen()}>0` |INFO |<p>Manual close: YES</p> |
+|{#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 |<p>The battery cartridge status:</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |`{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 |<p>The battery cartridge health.</p><p> bit 0 Battery lifetime okay</p><p> bit 1 Battery lifetime near end, order replacement cartridge</p><p> bit 2 Battery lifetime exceeded, replace battery</p><p> bit 3 Battery lifetime near end acknowledged, order replacement cartridge</p><p> bit 4 Battery lifetime exceeded acknowledged, replace battery</p><p> bit 5 Battery measured lifetime near end, order replacement cartridge</p><p> bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge</p> |`{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 |<p>The external sensor does not work or is not connected.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=4` |INFO | |
+|{#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning |<p>The external sensor has returned a value greater than the warning threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=2` |AVERAGE | |
+|{#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical |<p>The external sensor has returned a value greater than the critical threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=3` |HIGH | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable |<p>The external sensor does not work or is not connected.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=4` |INFO | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning |<p>The external sensor has returned a value greater than the warning threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=2` |AVERAGE | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical |<p>The external sensor has returned a value greater than the critical threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=3` |HIGH | |
+|{HOST.NAME} has been restarted (uptime < 10m) |<p>Uptime is less than 10 minutes</p> |`{TEMPLATE_NAME:system.uptime[sysUpTime.0].last()}<10m` |WARNING |<p>Manual close: YES</p><p>**Depends on**:</p><p>- No SNMP data collection</p> |
+|No SNMP data collection |<p>SNMP is not available for polling. Please check device connectivity and SNMP settings.</p> |`{TEMPLATE_NAME:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0` |WARNING |<p>**Depends on**:</p><p>- Unavailable by ICMP ping</p> |
+|Unavailable by ICMP ping |<p>Last three attempts returned timeout. Please check device connectivity.</p> |`{TEMPLATE_NAME:icmpping.max(#3)}=0` |HIGH | |
+|High ICMP ping loss |<p>-</p> |`{TEMPLATE_NAME:icmppingloss.min(5m)}>{$ICMP.LOSS.WARN} and {TEMPLATE_NAME:icmppingloss.min(5m)}<100` |WARNING |<p>**Depends on**:</p><p>- Unavailable by ICMP ping</p> |
+|High ICMP ping response time |<p>-</p> |`{TEMPLATE_NAME:icmppingsec.avg(5m)}>{$ICMP.RESPONSE_TIME.WARN}` |WARNING |<p>**Depends on**:</p><p>- High ICMP ping loss</p><p>- Unavailable by ICMP ping</p> |
+
+## 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](https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups).
+
diff --git a/templates/power/apc/apc_ups_smart_2200_rm_snmp/template_power_apc_ups_smart_2200_rm_snmp.yaml b/templates/power/apc/apc_ups_smart_2200_rm_snmp/template_power_apc_ups_smart_2200_rm_snmp.yaml
new file mode 100644
index 00000000000..aa50adadcaf
--- /dev/null
+++ b/templates/power/apc/apc_ups_smart_2200_rm_snmp/template_power_apc_ups_smart_2200_rm_snmp.yaml
@@ -0,0 +1,1498 @@
+zabbix_export:
+ version: '5.4'
+ date: '2021-03-24T17:27:21Z'
+ groups:
+ -
+ name: Templates/Power
+ templates:
+ -
+ template: 'APC Smart-UPS 2200 RM SNMP'
+ name: 'APC Smart-UPS 2200 RM SNMP'
+ description: |
+ Template Power APC Smart-UPS 2200 RM
+
+ MIBs used:
+ PowerNet-MIB
+ SNMPv2-MIB
+
+ You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
+
+ Template tooling version used: 0.38
+ groups:
+ -
+ name: Templates/Power
+ applications:
+ -
+ name: General
+ -
+ name: Status
+ items:
+ -
+ name: 'Battery capacity'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.1.0
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ MIB: PowerNet-MIB
+ The remaining battery capacity expressed as
+ percentage of full capacity.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()} < {$BATTERY.CAPACITY.MIN.WARN}'
+ name: 'Battery has low capacity (below {$BATTERY.CAPACITY.MIN.WARN}%)'
+ opdata: 'Current capacity: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'External battery packs count'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.5.0
+ key: 'battery.external_packs_count[upsAdvBatteryNumOfBattPacks]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery last replace date'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.1.3.0
+ key: 'battery.last_replace_date[upsBasicBatteryLastReplaceDate]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery replace indicator'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.4.0
+ key: 'battery.replace_indicator[upsAdvBatteryReplaceIndicator]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ Indicates whether the UPS batteries need replacement.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsAdvBatteryReplaceIndicator'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=2'
+ name: 'Battery needs replacement'
+ priority: HIGH
+ description: 'A battery installed has an internal error condition.'
+ -
+ name: 'Battery runtime remaining'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.3.0
+ key: 'battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]'
+ history: 7d
+ value_type: FLOAT
+ units: s
+ description: |
+ MIB: PowerNet-MIB
+ The UPS battery run time remaining before battery
+ exhaustion.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.01'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.1.1.0
+ key: 'battery.status[upsBasicBatteryStatus]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=4'
+ name: 'Battery has an internal error condition'
+ priority: AVERAGE
+ description: 'A battery installed has an internal error condition.'
+ -
+ expression: '{last()}=3'
+ name: 'Battery is Low'
+ priority: AVERAGE
+ description: 'The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.'
+ -
+ name: 'Battery temperature'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.2.0
+ key: 'battery.temperature[upsHighPrecBatteryTemperature]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The current internal UPS temperature in Celsius.
+ Temperatures below zero read as 0.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$BATTERY.TEMP.MAX.WARN}'
+ name: 'Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD})'
+ opdata: 'Current temperature: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Battery voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.4.0
+ key: 'battery.voltage[upsHighPrecBatteryActualVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The actual battery bus voltage in Volts.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'ICMP ping'
+ type: SIMPLE
+ key: icmpping
+ history: 1w
+ applications:
+ -
+ name: Status
+ valuemap:
+ name: 'Service state'
+ triggers:
+ -
+ expression: '{max(#3)}=0'
+ name: 'Unavailable by ICMP ping'
+ priority: HIGH
+ description: 'Last three attempts returned timeout. Please check device connectivity.'
+ -
+ name: 'ICMP loss'
+ type: SIMPLE
+ key: icmppingloss
+ history: 1w
+ value_type: FLOAT
+ units: '%'
+ applications:
+ -
+ name: Status
+ triggers:
+ -
+ expression: '{min(5m)}>{$ICMP.LOSS.WARN} and {min(5m)}<100'
+ name: 'High ICMP ping loss'
+ opdata: 'Loss: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ dependencies:
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC Smart-UPS 2200 RM SNMP:icmpping.max(#3)}=0'
+ -
+ name: 'ICMP response time'
+ type: SIMPLE
+ key: icmppingsec
+ history: 1w
+ value_type: FLOAT
+ units: s
+ applications:
+ -
+ name: Status
+ triggers:
+ -
+ expression: '{avg(5m)}>{$ICMP.RESPONSE_TIME.WARN}'
+ name: 'High ICMP ping response time'
+ opdata: 'Value: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ dependencies:
+ -
+ name: 'High ICMP ping loss'
+ expression: '{APC Smart-UPS 2200 RM SNMP:icmppingloss.min(5m)}>{$ICMP.LOSS.WARN} and {APC Smart-UPS 2200 RM SNMP:icmppingloss.min(5m)}<100'
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC Smart-UPS 2200 RM SNMP:icmpping.max(#3)}=0'
+ -
+ name: 'Input fail cause'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.2.5.0
+ key: 'input.fail[upsAdvInputLineFailCause]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsAdvInputLineFailCause'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Input frequency'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.3.4.0
+ key: 'input.frequency[upsHighPrecInputFrequency]'
+ history: 7d
+ value_type: FLOAT
+ units: Hz
+ description: |
+ MIB: PowerNet-MIB
+ The current input frequency to the UPS system in Hz.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > 0 and ({min({$TIME.PERIOD})} > {$UPS.INPUT_FREQ.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_FREQ.MIN.WARN})'
+ name: 'Unacceptable input frequency (out of range {$UPS.INPUT_FREQ.MIN.WARN}-{$UPS.INPUT_FREQ.MAX.WARN}Hz for {$TIME.PERIOD})'
+ opdata: 'Current frequency: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Input voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.3.1.0
+ key: 'input.voltage[upsHighPrecInputLineVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The current utility line voltage in VAC.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > 0 and ({min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN})'
+ name: 'Unacceptable input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Output current'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.4.0
+ key: 'output.current[upsHighPrecOutputCurrent]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ MIB: PowerNet-MIB
+ The current in amperes drawn by the load on the UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Output load'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.3.0
+ key: 'output.load[upsHighPrecOutputLoad]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ MIB: PowerNet-MIB
+ The current UPS load expressed as percentage
+ of rated capacity.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.OUTPUT.MAX.WARN}'
+ name: 'Output load is high (over {$UPS.OUTPUT.MAX.WARN}% for {$TIME.PERIOD})'
+ opdata: 'Current load: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ description: 'A battery installed has an internal error condition.'
+ -
+ name: 'Output status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.1.1.0
+ key: 'output.status[upsBasicOutputStatus]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=16'
+ name: 'UPS is Emergency Static Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=10'
+ name: 'UPS is Hardware Failure Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=7'
+ name: 'UPS is Off'
+ priority: AVERAGE
+ -
+ expression: '{last()}=3'
+ name: 'UPS is on battery'
+ priority: AVERAGE
+ -
+ expression: '{last()}=4'
+ name: 'UPS is on Smart Boost'
+ priority: AVERAGE
+ -
+ expression: '{last()}=12'
+ name: 'UPS is On Smart Trim'
+ priority: AVERAGE
+ -
+ expression: '{last()}=8'
+ name: 'UPS is Rebooting'
+ priority: AVERAGE
+ -
+ expression: '{last()}=11'
+ name: 'UPS is Sleeping Until Power Return'
+ priority: AVERAGE
+ -
+ expression: '{last()}=6'
+ name: 'UPS is Software Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=9'
+ name: 'UPS is Switched Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=5'
+ name: 'UPS is Timed Sleeping'
+ priority: AVERAGE
+ -
+ name: 'Output voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.1.0
+ key: 'output.voltage[upsHighPrecOutputVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The output voltage of the UPS system in VAC.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'SNMP traps (fallback)'
+ type: SNMP_TRAP
+ key: snmptrap.fallback
+ history: 2w
+ trends: '0'
+ value_type: LOG
+ description: 'Item is used to collect all SNMP traps unmatched by other snmptrap items'
+ applications:
+ -
+ name: General
+ logtimefmt: 'hh:mm:sszyyyy/MM/dd'
+ -
+ name: 'System contact details'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.4.0
+ key: 'system.contact[sysContact.0]'
+ delay: 1h
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: CONTACT
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1d
+ -
+ name: 'System description'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.1.0
+ key: 'system.descr[sysDescr.0]'
+ delay: 1h
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1d
+ -
+ name: 'System location'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.6.0
+ key: 'system.location[sysLocation.0]'
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: LOCATION
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ -
+ name: Model
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.1.1.1.0
+ key: 'system.model[upsBasicIdentModel]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The UPS model name (e.g. 'APC Smart-UPS 600').
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'System name'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.5.0
+ key: system.name
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: NAME
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ triggers:
+ -
+ expression: '{diff()}=1 and {strlen()}>0'
+ name: 'System name has changed (new name: {ITEM.VALUE})'
+ priority: INFO
+ description: 'System name has changed. Ack to close.'
+ manual_close: 'YES'
+ -
+ name: 'System object ID'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.2.0
+ key: 'system.objectid[sysObjectID.0]'
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: SNMPv2-MIB
+ The vendor's authoritative identification of the network management
+ subsystem contained in the entity. This value is allocated within the SMI enterprises
+ subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what
+ kind of box' is being managed. For example, if vendor`Flintstones, Inc.' was
+ assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1
+ to its `Fred Router'.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ -
+ name: 'Serial number'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.1.2.3.0
+ key: 'system.sn[upsAdvIdentSerialNumber]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: Uptime
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.3.0
+ key: 'system.uptime[sysUpTime.0]'
+ delay: 30s
+ history: 2w
+ trends: 0d
+ units: uptime
+ description: |
+ MIB: SNMPv2-MIB
+ The time (in hundredths of a second) since the network management
+ portion of the system was last re-initialized.
+ applications:
+ -
+ name: Status
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.01'
+ triggers:
+ -
+ expression: '{last()}<10m'
+ name: '{HOST.NAME} has been restarted (uptime < 10m)'
+ priority: WARNING
+ description: 'Uptime is less than 10 minutes'
+ manual_close: 'YES'
+ dependencies:
+ -
+ name: 'No SNMP data collection'
+ expression: '{APC Smart-UPS 2200 RM SNMP:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0'
+ -
+ name: 'SNMP agent availability'
+ type: INTERNAL
+ key: 'zabbix[host,snmp,available]'
+ history: 7d
+ applications:
+ -
+ name: Status
+ valuemap:
+ name: zabbix.host.available
+ triggers:
+ -
+ expression: '{max({$SNMP.TIMEOUT})}=0'
+ name: 'No SNMP data collection'
+ opdata: 'Current state: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: 'SNMP is not available for polling. Please check device connectivity and SNMP settings.'
+ dependencies:
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC Smart-UPS 2200 RM SNMP:icmpping.max(#3)}=0'
+ discovery_rules:
+ -
+ name: 'External bad battery packs discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_PACKS},1.3.6.1.4.1.318.1.1.1.2.2.6]'
+ key: battery.packs.bad.discovery
+ delay: 1h
+ description: 'Discovery of the number of external defective battery packs.'
+ item_prototypes:
+ -
+ name: '{#SNMPINDEX}: External battery packs bad'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.6.0
+ key: 'battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'External battery packs discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#CARTRIDGE_STATUS},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.7,{#BATTERY_PACK},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.1,{#CARTRIDGE_INDEX},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.2]'
+ key: battery.packs.discovery
+ delay: 1h
+ filter:
+ evaltype: AND
+ conditions:
+ -
+ macro: '{#CARTRIDGE_STATUS}'
+ value: ^$
+ operator: NOT_MATCHES_REGEX
+ formulaid: A
+ item_prototypes:
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.8.{#SNMPINDEX}'
+ key: 'battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The battery cartridge estimated battery replace date.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery pack cartridge health'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.7.{#SNMPINDEX}'
+ key: 'battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{regexp("^(0)[0|1]{15}$")}=1'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery lifetime is not okay'
+ opdata: 'Current bit set: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: |
+ 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
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.10.{#SNMPINDEX}'
+ key: 'battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{regexp("^(0{16})$")}=0'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status is not okay'
+ opdata: 'Current bit set: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: |
+ 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
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.5.{#SNMPINDEX}'
+ key: 'battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The battery pack temperature in Celsius.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$BATTERY.TEMP.MAX.WARN}'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD})'
+ opdata: 'Current temperature: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.4.{#SNMPINDEX}'
+ key: 'system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The battery pack serial number.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'External sensor port 1 discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_SENSOR1_NAME},1.3.6.1.4.1.318.1.1.25.1.2.1.3]'
+ key: external.sensor1.discovery
+ delay: 1h
+ description: uioSensorStatusTable
+ item_prototypes:
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Humidity sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.7.1.1
+ key: 'external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor alarm status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.9.1.1
+ key: 'external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ The alarm status of the sensor. Possible values:
+ uioNormal (1),
+ uioWarning (2),
+ uioCritical (3),
+ sensorStatusNotApplicable (4)
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{last()}=3'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical'
+ priority: HIGH
+ description: 'The external sensor has returned a value greater than the critical threshold.'
+ -
+ expression: '{last()}=4'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Not Applicable'
+ priority: INFO
+ description: 'The external sensor does not work or is not connected.'
+ -
+ expression: '{last()}=2'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning'
+ priority: AVERAGE
+ description: 'The external sensor has returned a value greater than the warning threshold.'
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Temperature sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.6.1.1
+ key: 'external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The sensor's current temperature reading in Celsius.
+ -1 indicates an invalid reading due to lost communications.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ overrides:
+ -
+ name: Temp
+ step: '1'
+ filter:
+ conditions:
+ -
+ macro: '{#EXTERNAL_SENSOR1_NAME}'
+ value: Temp
+ formulaid: A
+ operations:
+ -
+ operationobject: ITEM_PROTOTYPE
+ operator: LIKE
+ value: Humidity
+ status: ENABLED
+ discover: NO_DISCOVER
+ -
+ name: 'External sensor port 2 discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_SENSOR2_NAME},1.3.6.1.4.1.318.1.1.25.1.2.2.3]'
+ key: external.sensor2.discovery
+ delay: 1h
+ description: uioSensorStatusTable
+ item_prototypes:
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Humidity sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.7.1.1
+ key: 'external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor alarm status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.9.1.1
+ key: 'external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ The alarm status of the sensor. Possible values:
+ uioNormal (1),
+ uioWarning (2),
+ uioCritical (3),
+ sensorStatusNotApplicable (4)
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{last()}=3'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical'
+ priority: HIGH
+ description: 'The external sensor has returned a value greater than the critical threshold.'
+ -
+ expression: '{last()}=4'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable'
+ priority: INFO
+ description: 'The external sensor does not work or is not connected.'
+ -
+ expression: '{last()}=2'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning'
+ priority: AVERAGE
+ description: 'The external sensor has returned a value greater than the warning threshold.'
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Temperature sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.6.1.1
+ key: 'external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The sensor's current temperature reading in Celsius.
+ -1 indicates an invalid reading due to lost communications.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ overrides:
+ -
+ name: Temp
+ step: '1'
+ filter:
+ conditions:
+ -
+ macro: '{#EXTERNAL_SENSOR2_NAME}'
+ value: Temp
+ formulaid: A
+ operations:
+ -
+ operationobject: ITEM_PROTOTYPE
+ operator: LIKE
+ value: Humidity
+ status: ENABLED
+ discover: NO_DISCOVER
+ -
+ name: 'Input phases discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#PHASEINDEX},1.3.6.1.4.1.318.1.1.1.9.2.3.1.2.1.1]'
+ key: input.phases.discovery
+ delay: 1h
+ description: 'The input phase identifier. OID upsPhaseInputPhaseIndex.1.1'
+ item_prototypes:
+ -
+ name: '{#PHASEINDEX}: Phase input current'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.2.3.1.6.1.1.{#PHASEINDEX}'
+ key: 'phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ MIB: PowerNet-MIB
+ The input current in 0.1 amperes, or -0.1 if it's
+ unsupported by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase input voltage'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.2.3.1.3.1.1.{#PHASEINDEX}'
+ key: 'phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The input voltage in VAC, or -1 if it's unsupported
+ by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}'
+ name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Output phases discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#PHASEINDEX},1.3.6.1.4.1.318.1.1.1.9.3.3.1.2.1.1]'
+ key: output.phases.discovery
+ delay: 1h
+ description: 'The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1'
+ item_prototypes:
+ -
+ name: '{#PHASEINDEX}: Phase output current'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.4.1.1.{#PHASEINDEX}'
+ key: 'phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output load, %'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.10.1.1.{#PHASEINDEX}'
+ key: 'phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output voltage'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.3.1.1.{#PHASEINDEX}'
+ key: 'phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The output voltage in VAC, or -1 if it's unsupported
+ by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}'
+ name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} output voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ macros:
+ -
+ macro: '{$BATTERY.CAPACITY.MIN.WARN}'
+ value: '50'
+ description: 'Minimum battery capacity percentage for trigger expression.'
+ -
+ macro: '{$BATTERY.TEMP.MAX.WARN}'
+ value: '55'
+ description: 'Maximum battery temperature for trigger expression.'
+ -
+ macro: '{$ICMP.LOSS.WARN}'
+ value: '20'
+ -
+ macro: '{$ICMP.RESPONSE_TIME.WARN}'
+ value: '0.15'
+ -
+ macro: '{$SNMP.TIMEOUT}'
+ value: 5m
+ description: 'The time interval for SNMP agent availability trigger expression.'
+ -
+ macro: '{$TIME.PERIOD}'
+ value: 15m
+ description: 'Time period for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_FREQ.MAX.WARN}'
+ value: '50.3'
+ description: 'Maximum input frequency for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_FREQ.MIN.WARN}'
+ value: '49.7'
+ description: 'Minimum input frequency for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_VOLT.MAX.WARN}'
+ value: '243'
+ description: 'Maximum input voltage for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_VOLT.MIN.WARN}'
+ value: '197'
+ description: 'Minimum input voltage for trigger expression.'
+ -
+ macro: '{$UPS.OUTPUT.MAX.WARN}'
+ value: '80'
+ description: 'Maximum output load in % for trigger expression.'
+ valuemaps:
+ -
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ mappings:
+ -
+ value: '1'
+ newvalue: Normal
+ -
+ value: '2'
+ newvalue: Warning
+ -
+ value: '3'
+ newvalue: Critical
+ -
+ value: '4'
+ newvalue: 'Not applicable'
+ -
+ name: 'PowerNet-MIB::upsAdvBatteryReplaceIndicator'
+ mappings:
+ -
+ value: '1'
+ newvalue: 'no Battery Needs Replacing'
+ -
+ value: '2'
+ newvalue: 'battery Needs Replacing'
+ -
+ name: 'PowerNet-MIB::upsAdvInputLineFailCause'
+ mappings:
+ -
+ value: '1'
+ newvalue: 'no Transfer'
+ -
+ value: '2'
+ newvalue: 'High Line Voltage'
+ -
+ value: '3'
+ newvalue: Brownout
+ -
+ value: '4'
+ newvalue: Blackout
+ -
+ value: '5'
+ newvalue: 'Small Momentary Sag'
+ -
+ value: '6'
+ newvalue: 'Deep Momentary Sag'
+ -
+ value: '7'
+ newvalue: 'Small Momentary Spike'
+ -
+ value: '8'
+ newvalue: 'Large Momentary Spike'
+ -
+ value: '9'
+ newvalue: 'Self Test'
+ -
+ value: '10'
+ newvalue: 'Rate of Voltage Change'
+ -
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ mappings:
+ -
+ value: '1'
+ newvalue: Unknown
+ -
+ value: '2'
+ newvalue: Normal
+ -
+ value: '3'
+ newvalue: Low
+ -
+ value: '4'
+ newvalue: 'In Fault Condition'
+ -
+ name: 'Service state'
+ mappings:
+ -
+ value: '0'
+ newvalue: Down
+ -
+ value: '1'
+ newvalue: Up
+ -
+ name: zabbix.host.available
+ mappings:
+ -
+ value: '0'
+ newvalue: 'not available'
+ -
+ value: '1'
+ newvalue: available
+ -
+ value: '2'
+ newvalue: unknown
+ graphs:
+ -
+ name: 'Capacity of the UPS batteries'
+ type: PIE
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC Smart-UPS 2200 RM SNMP'
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
+ -
+ name: Output
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC Smart-UPS 2200 RM SNMP'
+ key: 'output.current[upsHighPrecOutputCurrent]'
+ -
+ sortorder: '1'
+ color: 2774A4
+ item:
+ host: 'APC Smart-UPS 2200 RM SNMP'
+ key: 'output.load[upsHighPrecOutputLoad]'
+ -
+ name: Voltage
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC Smart-UPS 2200 RM SNMP'
+ key: 'input.voltage[upsHighPrecInputLineVoltage]'
+ -
+ sortorder: '1'
+ color: 2774A4
+ item:
+ host: 'APC Smart-UPS 2200 RM SNMP'
+ key: 'output.voltage[upsHighPrecOutputVoltage]'
diff --git a/templates/power/apc/apc_ups_smart_3000_xlm_snmp/README.md b/templates/power/apc/apc_ups_smart_3000_xlm_snmp/README.md
new file mode 100644
index 00000000000..72643db9c92
--- /dev/null
+++ b/templates/power/apc/apc_ups_smart_3000_xlm_snmp/README.md
@@ -0,0 +1,159 @@
+
+# APC Smart-UPS 3000 XLM SNMP
+
+## Overview
+
+For Zabbix version: 5.4 and higher
+The template to monitor APC Smart-UPS 3000 XLM by Zabbix SNMP agent.
+Note: please, use the latest version of the firmware for your NMC in order for the template to work correctly.
+
+
+
+This template was tested on:
+
+- APC Smart-UPS 3000 XLM
+
+## Setup
+
+> See [Zabbix template operation](https://www.zabbix.com/documentation/5.4/manual/config/templates_out_of_the_box/network_devices) for basic instructions.
+
+1\. Create a host for APC Smart-UPS 3000 XLM 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} |<p>Minimum battery capacity percentage for trigger expression.</p> |`50` |
+|{$BATTERY.TEMP.MAX.WARN} |<p>Maximum battery temperature for trigger expression.</p> |`55` |
+|{$ICMP.LOSS.WARN} |<p>-</p> |`20` |
+|{$ICMP.RESPONSE_TIME.WARN} |<p>-</p> |`0.15` |
+|{$SNMP.TIMEOUT} |<p>The time interval for SNMP agent availability trigger expression.</p> |`5m` |
+|{$TIME.PERIOD} |<p>Time period for trigger expression.</p> |`15m` |
+|{$UPS.INPUT_FREQ.MAX.WARN} |<p>Maximum input frequency for trigger expression.</p> |`50.3` |
+|{$UPS.INPUT_FREQ.MIN.WARN} |<p>Minimum input frequency for trigger expression.</p> |`49.7` |
+|{$UPS.INPUT_VOLT.MAX.WARN} |<p>Maximum input voltage for trigger expression.</p> |`243` |
+|{$UPS.INPUT_VOLT.MIN.WARN} |<p>Minimum input voltage for trigger expression.</p> |`197` |
+|{$UPS.OUTPUT.MAX.WARN} |<p>Maximum output load in % for trigger expression.</p> |`80` |
+
+## Template links
+
+There are no template links in this template.
+
+## Discovery rules
+
+|Name|Description|Type|Key and additional info|
+|----|-----------|----|----|
+|Input phases discovery |<p>The input phase identifier. OID upsPhaseInputPhaseIndex.1.1</p> |SNMP |input.phases.discovery |
+|Output phases discovery |<p>The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1</p> |SNMP |output.phases.discovery |
+|External battery packs discovery | |SNMP |battery.packs.discovery<p>**Filter**:</p>AND <p>- A: {#CARTRIDGE_STATUS} NOT_MATCHES_REGEX `^$`</p> |
+|External bad battery packs discovery |<p>Discovery of the number of external defective battery packs.</p> |SNMP |battery.packs.bad.discovery |
+|External sensor port 1 discovery |<p>uioSensorStatusTable</p> |SNMP |external.sensor1.discovery |
+|External sensor port 2 discovery |<p>uioSensorStatusTable</p> |SNMP |external.sensor2.discovery |
+
+## Items collected
+
+|Group|Name|Description|Type|Key and additional info|
+|-----|----|-----------|----|---------------------|
+|General |Model |<p>MIB: PowerNet-MIB</p><p>The UPS model name (e.g. 'APC Smart-UPS 600').</p> |SNMP |system.model[upsBasicIdentModel]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Serial number |<p>MIB: PowerNet-MIB</p><p>An 8-character string identifying the serial number of</p><p> the UPS internal microprocessor. This number is set at</p><p> the factory. NOTE: This number does NOT correspond to</p><p> the serial number on the rear of the UPS.</p> |SNMP |system.sn[upsAdvIdentSerialNumber]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery status |<p>MIB: PowerNet-MIB</p><p>The status of the UPS batteries. A batteryLow(3) value</p><p> indicates the UPS will be unable to sustain the current</p><p> load, and its services will be lost if power is not restored.</p><p> The amount of run time in reserve at the time of low battery</p><p> can be configured by the upsAdvConfigLowBatteryRunTime.</p><p> A batteryInFaultCondition(4)value indicates that a battery</p><p> installed has an internal error condition.</p> |SNMP |battery.status[upsBasicBatteryStatus]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery capacity |<p>MIB: PowerNet-MIB</p><p>The remaining battery capacity expressed as</p><p> percentage of full capacity.</p> |SNMP |battery.capacity[upsHighPrecBatteryCapacity]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery runtime remaining |<p>MIB: PowerNet-MIB</p><p>The UPS battery run time remaining before battery</p><p> exhaustion.</p> |SNMP |battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery voltage |<p>MIB: PowerNet-MIB</p><p>The actual battery bus voltage in Volts.</p> |SNMP |battery.voltage[upsHighPrecBatteryActualVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery last replace date |<p>MIB: PowerNet-MIB</p><p>The date when the UPS system's batteries were last replaced</p><p> in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value</p><p> is originally set at the factory. When the UPS batteries</p><p> are replaced, this value should be reset by the administrator.</p><p> For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.</p> |SNMP |battery.last_replace_date[upsBasicBatteryLastReplaceDate]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery replace indicator |<p>MIB: PowerNet-MIB</p><p>Indicates whether the UPS batteries need replacement.</p> |SNMP |battery.replace_indicator[upsAdvBatteryReplaceIndicator]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |External battery packs count |<p>MIB: PowerNet-MIB</p><p>The number of external battery packs connected to the UPS. If</p><p> the UPS does not use smart cells then the agent reports</p><p> ERROR_NO_SUCH_NAME.</p> |SNMP |battery.external_packs_count[upsAdvBatteryNumOfBattPacks]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery temperature |<p>MIB: PowerNet-MIB</p><p>The current internal UPS temperature in Celsius.</p><p> Temperatures below zero read as 0.</p> |SNMP |battery.temperature[upsHighPrecBatteryTemperature]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input voltage |<p>MIB: PowerNet-MIB</p><p>The current utility line voltage in VAC.</p> |SNMP |input.voltage[upsHighPrecInputLineVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input frequency |<p>MIB: PowerNet-MIB</p><p>The current input frequency to the UPS system in Hz.</p> |SNMP |input.frequency[upsHighPrecInputFrequency]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input fail cause |<p>MIB: PowerNet-MIB</p><p>The reason for the occurrence of the last transfer to UPS</p><p>battery power. The variable is set to:</p><p>- noTransfer(1) -- if there is no transfer yet.</p><p>- highLineVoltage(2) -- if the transfer to battery is caused</p><p>by an over voltage greater than the high transfer voltage.</p><p>- brownout(3) -- if the duration of the outage is greater than</p><p>five seconds and the line voltage is between 40% of the</p><p>rated output voltage and the low transfer voltage.</p><p>- blackout(4) -- if the duration of the outage is greater than five</p><p>seconds and the line voltage is between 40% of the rated</p><p>output voltage and ground.</p><p>- smallMomentarySag(5) -- if the duration of the outage is less</p><p>than five seconds and the line voltage is between 40% of the</p><p>rated output voltage and the low transfer voltage.</p><p>- deepMomentarySag(6) -- if the duration of the outage is less</p><p>than five seconds and the line voltage is between 40% of the</p><p>rated output voltage and ground. The variable is set to</p><p>- smallMomentarySpike(7) -- if the line failure is caused by a</p><p>rate of change of input voltage less than ten volts per cycle.</p><p>- largeMomentarySpike(8) -- if the line failure is caused by</p><p>a rate of change of input voltage greater than ten volts per cycle.</p><p>- selfTest(9) -- if the UPS was commanded to do a self test.</p><p>- rateOfVoltageChange(10) -- if the failure is due to the rate of change of</p><p>the line voltage.</p> |SNMP |input.fail[upsAdvInputLineFailCause]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output voltage |<p>MIB: PowerNet-MIB</p><p>The output voltage of the UPS system in VAC.</p> |SNMP |output.voltage[upsHighPrecOutputVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output load |<p>MIB: PowerNet-MIB</p><p>The current UPS load expressed as percentage</p><p>of rated capacity.</p> |SNMP |output.load[upsHighPrecOutputLoad]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output current |<p>MIB: PowerNet-MIB</p><p>The current in amperes drawn by the load on the UPS.</p> |SNMP |output.current[upsHighPrecOutputCurrent]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output status |<p>MIB: PowerNet-MIB</p><p>The current state of the UPS. If the UPS is unable to</p><p> determine the state of the UPS this variable is set</p><p> to unknown(1).</p><p>During self-test most UPSes report onBattery(3) but</p><p> some that support it will report onBatteryTest(15).</p><p> To determine self-test status across all UPSes, refer</p><p> to the upsBasicStateOutputState OID.</p> |SNMP |output.status[upsBasicOutputStatus]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |SNMP traps (fallback) |<p>Item is used to collect all SNMP traps unmatched by other snmptrap items</p> |SNMP_TRAP |snmptrap.fallback |
+|General |System location |<p>MIB: SNMPv2-MIB</p><p>The physical location of this node (e.g., `telephone closet,</p><p>3rd floor'). If the location is unknown, the value is the zero-length string.</p> |SNMP |system.location[sysLocation.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System contact details |<p>MIB: SNMPv2-MIB</p><p>The textual identification of the contact person for this managed</p><p>node, together with information on how to contact this person. If no contact</p><p>information is known, the value is the zero-length string.</p> |SNMP |system.contact[sysContact.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
+|General |System object ID |<p>MIB: SNMPv2-MIB</p><p>The vendor's authoritative identification of the network management</p><p>subsystem contained in the entity. This value is allocated within the SMI enterprises</p><p>subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what</p><p>kind of box' is being managed. For example, if vendor`Flintstones, Inc.' was</p><p>assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1</p><p>to its `Fred Router'.</p> |SNMP |system.objectid[sysObjectID.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System name |<p>MIB: SNMPv2-MIB</p><p>An administratively-assigned name for this managed node.By</p><p>convention, this is the node's fully-qualified domain name. If the name is unknown,</p><p>the value is the zero-length string.</p> |SNMP |system.name<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System description |<p>MIB: SNMPv2-MIB</p><p>A textual description of the entity. This value should</p><p>include the full name and version identification of the system's hardware type, software operating-system, and</p><p>networking software.</p> |SNMP |system.descr[sysDescr.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
+|General |{#PHASEINDEX}: Phase input voltage |<p>MIB: PowerNet-MIB</p><p>The input voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase input current |<p>MIB: PowerNet-MIB</p><p>The input current in 0.1 amperes, or -0.1 if it's</p><p> unsupported by this UPS.</p> |SNMP |phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output voltage |<p>MIB: PowerNet-MIB</p><p>The output voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output current |<p>MIB: PowerNet-MIB</p><p>The output current in 0.1 amperes drawn</p><p> by the load on the UPS, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output load, % |<p>MIB: PowerNet-MIB</p><p>The percentage of the UPS load capacity in VA at</p><p> redundancy @ (n + x) presently being used on this</p><p> output phase, or -1 if it's unsupported by this UPS.</p> |SNMP |phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status |<p>MIB: PowerNet-MIB</p><p>The battery cartridge status.</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |SNMP |battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature |<p>MIB: PowerNet-MIB</p><p>The battery pack temperature in Celsius.</p> |SNMP |battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number |<p>MIB: PowerNet-MIB</p><p>The battery pack serial number.</p> |SNMP |system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date |<p>MIB: PowerNet-MIB</p><p>The battery cartridge estimated battery replace date.</p> |SNMP |battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery pack cartridge health |<p>MIB: PowerNet-MIB</p><p>The battery cartridge health.</p><p> bit 0 Battery lifetime okay</p><p> bit 1 Battery lifetime near end, order replacement cartridge</p><p> bit 2 Battery lifetime exceeded, replace battery</p><p> bit 3 Battery lifetime near end acknowledged, order replacement cartridge</p><p> bit 4 Battery lifetime exceeded acknowledged, replace battery</p><p> bit 5 Battery measured lifetime near end, order replacement cartridge</p><p> bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge</p> |SNMP |battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#SNMPINDEX}: External battery packs bad |<p>MIB: PowerNet-MIB</p><p>The number of external battery packs connected to the UPS that</p><p>are defective. If the UPS does not use smart cells then the</p><p>agent reports ERROR_NO_SUCH_NAME.</p> |SNMP |battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Temperature sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current temperature reading in Celsius.</p><p> -1 indicates an invalid reading due to lost communications.</p> |SNMP |external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Humidity sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current humidity reading - a relative humidity</p><p> percentage. -1 indicates an invalid reading due to either a</p><p> sensor that doesn't read humidity or lost communications.</p> |SNMP |external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Sensor alarm status |<p>MIB: PowerNet-MIB</p><p>The alarm status of the sensor. Possible values:</p><p>uioNormal (1),</p><p>uioWarning (2),</p><p>uioCritical (3),</p><p>sensorStatusNotApplicable (4)</p> |SNMP |external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Temperature sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current temperature reading in Celsius.</p><p> -1 indicates an invalid reading due to lost communications.</p> |SNMP |external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Humidity sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current humidity reading - a relative humidity</p><p> percentage. -1 indicates an invalid reading due to either a</p><p> sensor that doesn't read humidity or lost communications.</p> |SNMP |external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Sensor alarm status |<p>MIB: PowerNet-MIB</p><p>The alarm status of the sensor. Possible values:</p><p>uioNormal (1),</p><p>uioWarning (2),</p><p>uioCritical (3),</p><p>sensorStatusNotApplicable (4)</p> |SNMP |external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|Status |Uptime |<p>MIB: SNMPv2-MIB</p><p>The time (in hundredths of a second) since the network management</p><p>portion of the system was last re-initialized.</p> |SNMP |system.uptime[sysUpTime.0]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p> |
+|Status |SNMP agent availability |<p>-</p> |INTERNAL |zabbix[host,snmp,available] |
+|Status |ICMP ping |<p>-</p> |SIMPLE |icmpping |
+|Status |ICMP loss |<p>-</p> |SIMPLE |icmppingloss |
+|Status |ICMP response time |<p>-</p> |SIMPLE |icmppingsec |
+
+## Triggers
+
+|Name|Description|Expression|Severity|Dependencies and additional info|
+|----|-----------|----|----|----|
+|Battery has an internal error condition |<p>A battery installed has an internal error condition.</p> |`{TEMPLATE_NAME:battery.status[upsBasicBatteryStatus].last()}=4` |AVERAGE | |
+|Battery is Low |<p>The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.</p> |`{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 |<p>A battery installed has an internal error condition.</p> |`{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}) |<p>A battery installed has an internal error condition.</p> |`{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 | |
+|System name has changed (new name: {ITEM.VALUE}) |<p>System name has changed. Ack to close.</p> |`{TEMPLATE_NAME:system.name.diff()}=1 and {TEMPLATE_NAME:system.name.strlen()}>0` |INFO |<p>Manual close: YES</p> |
+|{#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 |<p>The battery cartridge status:</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |`{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 |<p>The battery cartridge health.</p><p> bit 0 Battery lifetime okay</p><p> bit 1 Battery lifetime near end, order replacement cartridge</p><p> bit 2 Battery lifetime exceeded, replace battery</p><p> bit 3 Battery lifetime near end acknowledged, order replacement cartridge</p><p> bit 4 Battery lifetime exceeded acknowledged, replace battery</p><p> bit 5 Battery measured lifetime near end, order replacement cartridge</p><p> bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge</p> |`{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 |<p>The external sensor does not work or is not connected.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=4` |INFO | |
+|{#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning |<p>The external sensor has returned a value greater than the warning threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=2` |AVERAGE | |
+|{#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical |<p>The external sensor has returned a value greater than the critical threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=3` |HIGH | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable |<p>The external sensor does not work or is not connected.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=4` |INFO | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning |<p>The external sensor has returned a value greater than the warning threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=2` |AVERAGE | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical |<p>The external sensor has returned a value greater than the critical threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=3` |HIGH | |
+|{HOST.NAME} has been restarted (uptime < 10m) |<p>Uptime is less than 10 minutes</p> |`{TEMPLATE_NAME:system.uptime[sysUpTime.0].last()}<10m` |WARNING |<p>Manual close: YES</p><p>**Depends on**:</p><p>- No SNMP data collection</p> |
+|No SNMP data collection |<p>SNMP is not available for polling. Please check device connectivity and SNMP settings.</p> |`{TEMPLATE_NAME:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0` |WARNING |<p>**Depends on**:</p><p>- Unavailable by ICMP ping</p> |
+|Unavailable by ICMP ping |<p>Last three attempts returned timeout. Please check device connectivity.</p> |`{TEMPLATE_NAME:icmpping.max(#3)}=0` |HIGH | |
+|High ICMP ping loss |<p>-</p> |`{TEMPLATE_NAME:icmppingloss.min(5m)}>{$ICMP.LOSS.WARN} and {TEMPLATE_NAME:icmppingloss.min(5m)}<100` |WARNING |<p>**Depends on**:</p><p>- Unavailable by ICMP ping</p> |
+|High ICMP ping response time |<p>-</p> |`{TEMPLATE_NAME:icmppingsec.avg(5m)}>{$ICMP.RESPONSE_TIME.WARN}` |WARNING |<p>**Depends on**:</p><p>- High ICMP ping loss</p><p>- Unavailable by ICMP ping</p> |
+
+## 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](https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups).
+
diff --git a/templates/power/apc/apc_ups_smart_3000_xlm_snmp/template_power_apc_ups_smart_3000_xlm_snmp.yaml b/templates/power/apc/apc_ups_smart_3000_xlm_snmp/template_power_apc_ups_smart_3000_xlm_snmp.yaml
new file mode 100644
index 00000000000..c31eedff7ca
--- /dev/null
+++ b/templates/power/apc/apc_ups_smart_3000_xlm_snmp/template_power_apc_ups_smart_3000_xlm_snmp.yaml
@@ -0,0 +1,1498 @@
+zabbix_export:
+ version: '5.4'
+ date: '2021-03-24T17:30:36Z'
+ groups:
+ -
+ name: Templates/Power
+ templates:
+ -
+ template: 'APC Smart-UPS 3000 XLM SNMP'
+ name: 'APC Smart-UPS 3000 XLM SNMP'
+ description: |
+ Template Power APC Smart-UPS 3000 XLM
+
+ MIBs used:
+ PowerNet-MIB
+ SNMPv2-MIB
+
+ You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
+
+ Template tooling version used: 0.38
+ groups:
+ -
+ name: Templates/Power
+ applications:
+ -
+ name: General
+ -
+ name: Status
+ items:
+ -
+ name: 'Battery capacity'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.1.0
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ MIB: PowerNet-MIB
+ The remaining battery capacity expressed as
+ percentage of full capacity.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()} < {$BATTERY.CAPACITY.MIN.WARN}'
+ name: 'Battery has low capacity (below {$BATTERY.CAPACITY.MIN.WARN}%)'
+ opdata: 'Current capacity: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'External battery packs count'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.5.0
+ key: 'battery.external_packs_count[upsAdvBatteryNumOfBattPacks]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery last replace date'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.1.3.0
+ key: 'battery.last_replace_date[upsBasicBatteryLastReplaceDate]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery replace indicator'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.4.0
+ key: 'battery.replace_indicator[upsAdvBatteryReplaceIndicator]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ Indicates whether the UPS batteries need replacement.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsAdvBatteryReplaceIndicator'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=2'
+ name: 'Battery needs replacement'
+ priority: HIGH
+ description: 'A battery installed has an internal error condition.'
+ -
+ name: 'Battery runtime remaining'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.3.0
+ key: 'battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]'
+ history: 7d
+ value_type: FLOAT
+ units: s
+ description: |
+ MIB: PowerNet-MIB
+ The UPS battery run time remaining before battery
+ exhaustion.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.01'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.1.1.0
+ key: 'battery.status[upsBasicBatteryStatus]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=4'
+ name: 'Battery has an internal error condition'
+ priority: AVERAGE
+ description: 'A battery installed has an internal error condition.'
+ -
+ expression: '{last()}=3'
+ name: 'Battery is Low'
+ priority: AVERAGE
+ description: 'The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.'
+ -
+ name: 'Battery temperature'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.2.0
+ key: 'battery.temperature[upsHighPrecBatteryTemperature]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The current internal UPS temperature in Celsius.
+ Temperatures below zero read as 0.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$BATTERY.TEMP.MAX.WARN}'
+ name: 'Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD})'
+ opdata: 'Current temperature: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Battery voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.4.0
+ key: 'battery.voltage[upsHighPrecBatteryActualVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The actual battery bus voltage in Volts.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'ICMP ping'
+ type: SIMPLE
+ key: icmpping
+ history: 1w
+ applications:
+ -
+ name: Status
+ valuemap:
+ name: 'Service state'
+ triggers:
+ -
+ expression: '{max(#3)}=0'
+ name: 'Unavailable by ICMP ping'
+ priority: HIGH
+ description: 'Last three attempts returned timeout. Please check device connectivity.'
+ -
+ name: 'ICMP loss'
+ type: SIMPLE
+ key: icmppingloss
+ history: 1w
+ value_type: FLOAT
+ units: '%'
+ applications:
+ -
+ name: Status
+ triggers:
+ -
+ expression: '{min(5m)}>{$ICMP.LOSS.WARN} and {min(5m)}<100'
+ name: 'High ICMP ping loss'
+ opdata: 'Loss: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ dependencies:
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC Smart-UPS 3000 XLM SNMP:icmpping.max(#3)}=0'
+ -
+ name: 'ICMP response time'
+ type: SIMPLE
+ key: icmppingsec
+ history: 1w
+ value_type: FLOAT
+ units: s
+ applications:
+ -
+ name: Status
+ triggers:
+ -
+ expression: '{avg(5m)}>{$ICMP.RESPONSE_TIME.WARN}'
+ name: 'High ICMP ping response time'
+ opdata: 'Value: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ dependencies:
+ -
+ name: 'High ICMP ping loss'
+ expression: '{APC Smart-UPS 3000 XLM SNMP:icmppingloss.min(5m)}>{$ICMP.LOSS.WARN} and {APC Smart-UPS 3000 XLM SNMP:icmppingloss.min(5m)}<100'
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC Smart-UPS 3000 XLM SNMP:icmpping.max(#3)}=0'
+ -
+ name: 'Input fail cause'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.2.5.0
+ key: 'input.fail[upsAdvInputLineFailCause]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsAdvInputLineFailCause'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Input frequency'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.3.4.0
+ key: 'input.frequency[upsHighPrecInputFrequency]'
+ history: 7d
+ value_type: FLOAT
+ units: Hz
+ description: |
+ MIB: PowerNet-MIB
+ The current input frequency to the UPS system in Hz.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > 0 and ({min({$TIME.PERIOD})} > {$UPS.INPUT_FREQ.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_FREQ.MIN.WARN})'
+ name: 'Unacceptable input frequency (out of range {$UPS.INPUT_FREQ.MIN.WARN}-{$UPS.INPUT_FREQ.MAX.WARN}Hz for {$TIME.PERIOD})'
+ opdata: 'Current frequency: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Input voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.3.1.0
+ key: 'input.voltage[upsHighPrecInputLineVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The current utility line voltage in VAC.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > 0 and ({min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN})'
+ name: 'Unacceptable input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Output current'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.4.0
+ key: 'output.current[upsHighPrecOutputCurrent]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ MIB: PowerNet-MIB
+ The current in amperes drawn by the load on the UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Output load'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.3.0
+ key: 'output.load[upsHighPrecOutputLoad]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ MIB: PowerNet-MIB
+ The current UPS load expressed as percentage
+ of rated capacity.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.OUTPUT.MAX.WARN}'
+ name: 'Output load is high (over {$UPS.OUTPUT.MAX.WARN}% for {$TIME.PERIOD})'
+ opdata: 'Current load: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ description: 'A battery installed has an internal error condition.'
+ -
+ name: 'Output status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.1.1.0
+ key: 'output.status[upsBasicOutputStatus]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=16'
+ name: 'UPS is Emergency Static Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=10'
+ name: 'UPS is Hardware Failure Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=7'
+ name: 'UPS is Off'
+ priority: AVERAGE
+ -
+ expression: '{last()}=3'
+ name: 'UPS is on battery'
+ priority: AVERAGE
+ -
+ expression: '{last()}=4'
+ name: 'UPS is on Smart Boost'
+ priority: AVERAGE
+ -
+ expression: '{last()}=12'
+ name: 'UPS is On Smart Trim'
+ priority: AVERAGE
+ -
+ expression: '{last()}=8'
+ name: 'UPS is Rebooting'
+ priority: AVERAGE
+ -
+ expression: '{last()}=11'
+ name: 'UPS is Sleeping Until Power Return'
+ priority: AVERAGE
+ -
+ expression: '{last()}=6'
+ name: 'UPS is Software Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=9'
+ name: 'UPS is Switched Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=5'
+ name: 'UPS is Timed Sleeping'
+ priority: AVERAGE
+ -
+ name: 'Output voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.1.0
+ key: 'output.voltage[upsHighPrecOutputVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The output voltage of the UPS system in VAC.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'SNMP traps (fallback)'
+ type: SNMP_TRAP
+ key: snmptrap.fallback
+ history: 2w
+ trends: '0'
+ value_type: LOG
+ description: 'Item is used to collect all SNMP traps unmatched by other snmptrap items'
+ applications:
+ -
+ name: General
+ logtimefmt: 'hh:mm:sszyyyy/MM/dd'
+ -
+ name: 'System contact details'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.4.0
+ key: 'system.contact[sysContact.0]'
+ delay: 1h
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: CONTACT
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1d
+ -
+ name: 'System description'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.1.0
+ key: 'system.descr[sysDescr.0]'
+ delay: 1h
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1d
+ -
+ name: 'System location'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.6.0
+ key: 'system.location[sysLocation.0]'
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: LOCATION
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ -
+ name: Model
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.1.1.1.0
+ key: 'system.model[upsBasicIdentModel]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The UPS model name (e.g. 'APC Smart-UPS 600').
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'System name'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.5.0
+ key: system.name
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: NAME
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ triggers:
+ -
+ expression: '{diff()}=1 and {strlen()}>0'
+ name: 'System name has changed (new name: {ITEM.VALUE})'
+ priority: INFO
+ description: 'System name has changed. Ack to close.'
+ manual_close: 'YES'
+ -
+ name: 'System object ID'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.2.0
+ key: 'system.objectid[sysObjectID.0]'
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: SNMPv2-MIB
+ The vendor's authoritative identification of the network management
+ subsystem contained in the entity. This value is allocated within the SMI enterprises
+ subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what
+ kind of box' is being managed. For example, if vendor`Flintstones, Inc.' was
+ assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1
+ to its `Fred Router'.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ -
+ name: 'Serial number'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.1.2.3.0
+ key: 'system.sn[upsAdvIdentSerialNumber]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: Uptime
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.3.0
+ key: 'system.uptime[sysUpTime.0]'
+ delay: 30s
+ history: 2w
+ trends: 0d
+ units: uptime
+ description: |
+ MIB: SNMPv2-MIB
+ The time (in hundredths of a second) since the network management
+ portion of the system was last re-initialized.
+ applications:
+ -
+ name: Status
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.01'
+ triggers:
+ -
+ expression: '{last()}<10m'
+ name: '{HOST.NAME} has been restarted (uptime < 10m)'
+ priority: WARNING
+ description: 'Uptime is less than 10 minutes'
+ manual_close: 'YES'
+ dependencies:
+ -
+ name: 'No SNMP data collection'
+ expression: '{APC Smart-UPS 3000 XLM SNMP:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0'
+ -
+ name: 'SNMP agent availability'
+ type: INTERNAL
+ key: 'zabbix[host,snmp,available]'
+ history: 7d
+ applications:
+ -
+ name: Status
+ valuemap:
+ name: zabbix.host.available
+ triggers:
+ -
+ expression: '{max({$SNMP.TIMEOUT})}=0'
+ name: 'No SNMP data collection'
+ opdata: 'Current state: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: 'SNMP is not available for polling. Please check device connectivity and SNMP settings.'
+ dependencies:
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC Smart-UPS 3000 XLM SNMP:icmpping.max(#3)}=0'
+ discovery_rules:
+ -
+ name: 'External bad battery packs discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_PACKS},1.3.6.1.4.1.318.1.1.1.2.2.6]'
+ key: battery.packs.bad.discovery
+ delay: 1h
+ description: 'Discovery of the number of external defective battery packs.'
+ item_prototypes:
+ -
+ name: '{#SNMPINDEX}: External battery packs bad'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.6.0
+ key: 'battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'External battery packs discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#CARTRIDGE_STATUS},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.7,{#BATTERY_PACK},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.1,{#CARTRIDGE_INDEX},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.2]'
+ key: battery.packs.discovery
+ delay: 1h
+ filter:
+ evaltype: AND
+ conditions:
+ -
+ macro: '{#CARTRIDGE_STATUS}'
+ value: ^$
+ operator: NOT_MATCHES_REGEX
+ formulaid: A
+ item_prototypes:
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.8.{#SNMPINDEX}'
+ key: 'battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The battery cartridge estimated battery replace date.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery pack cartridge health'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.7.{#SNMPINDEX}'
+ key: 'battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{regexp("^(0)[0|1]{15}$")}=1'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery lifetime is not okay'
+ opdata: 'Current bit set: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: |
+ 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
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.10.{#SNMPINDEX}'
+ key: 'battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{regexp("^(0{16})$")}=0'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status is not okay'
+ opdata: 'Current bit set: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: |
+ 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
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.5.{#SNMPINDEX}'
+ key: 'battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The battery pack temperature in Celsius.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$BATTERY.TEMP.MAX.WARN}'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD})'
+ opdata: 'Current temperature: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.4.{#SNMPINDEX}'
+ key: 'system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The battery pack serial number.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'External sensor port 1 discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_SENSOR1_NAME},1.3.6.1.4.1.318.1.1.25.1.2.1.3]'
+ key: external.sensor1.discovery
+ delay: 1h
+ description: uioSensorStatusTable
+ item_prototypes:
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Humidity sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.7.1.1
+ key: 'external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor alarm status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.9.1.1
+ key: 'external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ The alarm status of the sensor. Possible values:
+ uioNormal (1),
+ uioWarning (2),
+ uioCritical (3),
+ sensorStatusNotApplicable (4)
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{last()}=3'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical'
+ priority: HIGH
+ description: 'The external sensor has returned a value greater than the critical threshold.'
+ -
+ expression: '{last()}=4'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Not Applicable'
+ priority: INFO
+ description: 'The external sensor does not work or is not connected.'
+ -
+ expression: '{last()}=2'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning'
+ priority: AVERAGE
+ description: 'The external sensor has returned a value greater than the warning threshold.'
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Temperature sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.6.1.1
+ key: 'external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The sensor's current temperature reading in Celsius.
+ -1 indicates an invalid reading due to lost communications.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ overrides:
+ -
+ name: Temp
+ step: '1'
+ filter:
+ conditions:
+ -
+ macro: '{#EXTERNAL_SENSOR1_NAME}'
+ value: Temp
+ formulaid: A
+ operations:
+ -
+ operationobject: ITEM_PROTOTYPE
+ operator: LIKE
+ value: Humidity
+ status: ENABLED
+ discover: NO_DISCOVER
+ -
+ name: 'External sensor port 2 discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_SENSOR2_NAME},1.3.6.1.4.1.318.1.1.25.1.2.2.3]'
+ key: external.sensor2.discovery
+ delay: 1h
+ description: uioSensorStatusTable
+ item_prototypes:
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Humidity sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.7.1.1
+ key: 'external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor alarm status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.9.1.1
+ key: 'external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ The alarm status of the sensor. Possible values:
+ uioNormal (1),
+ uioWarning (2),
+ uioCritical (3),
+ sensorStatusNotApplicable (4)
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{last()}=3'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical'
+ priority: HIGH
+ description: 'The external sensor has returned a value greater than the critical threshold.'
+ -
+ expression: '{last()}=4'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable'
+ priority: INFO
+ description: 'The external sensor does not work or is not connected.'
+ -
+ expression: '{last()}=2'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning'
+ priority: AVERAGE
+ description: 'The external sensor has returned a value greater than the warning threshold.'
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Temperature sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.6.1.1
+ key: 'external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The sensor's current temperature reading in Celsius.
+ -1 indicates an invalid reading due to lost communications.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ overrides:
+ -
+ name: Temp
+ step: '1'
+ filter:
+ conditions:
+ -
+ macro: '{#EXTERNAL_SENSOR2_NAME}'
+ value: Temp
+ formulaid: A
+ operations:
+ -
+ operationobject: ITEM_PROTOTYPE
+ operator: LIKE
+ value: Humidity
+ status: ENABLED
+ discover: NO_DISCOVER
+ -
+ name: 'Input phases discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#PHASEINDEX},1.3.6.1.4.1.318.1.1.1.9.2.3.1.2.1.1]'
+ key: input.phases.discovery
+ delay: 1h
+ description: 'The input phase identifier. OID upsPhaseInputPhaseIndex.1.1'
+ item_prototypes:
+ -
+ name: '{#PHASEINDEX}: Phase input current'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.2.3.1.6.1.1.{#PHASEINDEX}'
+ key: 'phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ MIB: PowerNet-MIB
+ The input current in 0.1 amperes, or -0.1 if it's
+ unsupported by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase input voltage'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.2.3.1.3.1.1.{#PHASEINDEX}'
+ key: 'phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The input voltage in VAC, or -1 if it's unsupported
+ by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}'
+ name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Output phases discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#PHASEINDEX},1.3.6.1.4.1.318.1.1.1.9.3.3.1.2.1.1]'
+ key: output.phases.discovery
+ delay: 1h
+ description: 'The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1'
+ item_prototypes:
+ -
+ name: '{#PHASEINDEX}: Phase output current'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.4.1.1.{#PHASEINDEX}'
+ key: 'phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output load, %'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.10.1.1.{#PHASEINDEX}'
+ key: 'phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output voltage'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.3.1.1.{#PHASEINDEX}'
+ key: 'phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The output voltage in VAC, or -1 if it's unsupported
+ by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}'
+ name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} output voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ macros:
+ -
+ macro: '{$BATTERY.CAPACITY.MIN.WARN}'
+ value: '50'
+ description: 'Minimum battery capacity percentage for trigger expression.'
+ -
+ macro: '{$BATTERY.TEMP.MAX.WARN}'
+ value: '55'
+ description: 'Maximum battery temperature for trigger expression.'
+ -
+ macro: '{$ICMP.LOSS.WARN}'
+ value: '20'
+ -
+ macro: '{$ICMP.RESPONSE_TIME.WARN}'
+ value: '0.15'
+ -
+ macro: '{$SNMP.TIMEOUT}'
+ value: 5m
+ description: 'The time interval for SNMP agent availability trigger expression.'
+ -
+ macro: '{$TIME.PERIOD}'
+ value: 15m
+ description: 'Time period for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_FREQ.MAX.WARN}'
+ value: '50.3'
+ description: 'Maximum input frequency for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_FREQ.MIN.WARN}'
+ value: '49.7'
+ description: 'Minimum input frequency for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_VOLT.MAX.WARN}'
+ value: '243'
+ description: 'Maximum input voltage for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_VOLT.MIN.WARN}'
+ value: '197'
+ description: 'Minimum input voltage for trigger expression.'
+ -
+ macro: '{$UPS.OUTPUT.MAX.WARN}'
+ value: '80'
+ description: 'Maximum output load in % for trigger expression.'
+ valuemaps:
+ -
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ mappings:
+ -
+ value: '1'
+ newvalue: Normal
+ -
+ value: '2'
+ newvalue: Warning
+ -
+ value: '3'
+ newvalue: Critical
+ -
+ value: '4'
+ newvalue: 'Not applicable'
+ -
+ name: 'PowerNet-MIB::upsAdvBatteryReplaceIndicator'
+ mappings:
+ -
+ value: '1'
+ newvalue: 'no Battery Needs Replacing'
+ -
+ value: '2'
+ newvalue: 'battery Needs Replacing'
+ -
+ name: 'PowerNet-MIB::upsAdvInputLineFailCause'
+ mappings:
+ -
+ value: '1'
+ newvalue: 'no Transfer'
+ -
+ value: '2'
+ newvalue: 'High Line Voltage'
+ -
+ value: '3'
+ newvalue: Brownout
+ -
+ value: '4'
+ newvalue: Blackout
+ -
+ value: '5'
+ newvalue: 'Small Momentary Sag'
+ -
+ value: '6'
+ newvalue: 'Deep Momentary Sag'
+ -
+ value: '7'
+ newvalue: 'Small Momentary Spike'
+ -
+ value: '8'
+ newvalue: 'Large Momentary Spike'
+ -
+ value: '9'
+ newvalue: 'Self Test'
+ -
+ value: '10'
+ newvalue: 'Rate of Voltage Change'
+ -
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ mappings:
+ -
+ value: '1'
+ newvalue: Unknown
+ -
+ value: '2'
+ newvalue: Normal
+ -
+ value: '3'
+ newvalue: Low
+ -
+ value: '4'
+ newvalue: 'In Fault Condition'
+ -
+ name: 'Service state'
+ mappings:
+ -
+ value: '0'
+ newvalue: Down
+ -
+ value: '1'
+ newvalue: Up
+ -
+ name: zabbix.host.available
+ mappings:
+ -
+ value: '0'
+ newvalue: 'not available'
+ -
+ value: '1'
+ newvalue: available
+ -
+ value: '2'
+ newvalue: unknown
+ graphs:
+ -
+ name: 'Capacity of the UPS batteries'
+ type: PIE
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC Smart-UPS 3000 XLM SNMP'
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
+ -
+ name: Output
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC Smart-UPS 3000 XLM SNMP'
+ key: 'output.current[upsHighPrecOutputCurrent]'
+ -
+ sortorder: '1'
+ color: 2774A4
+ item:
+ host: 'APC Smart-UPS 3000 XLM SNMP'
+ key: 'output.load[upsHighPrecOutputLoad]'
+ -
+ name: Voltage
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC Smart-UPS 3000 XLM SNMP'
+ key: 'input.voltage[upsHighPrecInputLineVoltage]'
+ -
+ sortorder: '1'
+ color: 2774A4
+ item:
+ host: 'APC Smart-UPS 3000 XLM SNMP'
+ key: 'output.voltage[upsHighPrecOutputVoltage]'
diff --git a/templates/power/apc/apc_ups_smart_rt_1000_rm_xl_snmp/README.md b/templates/power/apc/apc_ups_smart_rt_1000_rm_xl_snmp/README.md
new file mode 100644
index 00000000000..250b7dcd930
--- /dev/null
+++ b/templates/power/apc/apc_ups_smart_rt_1000_rm_xl_snmp/README.md
@@ -0,0 +1,159 @@
+
+# APC Smart-UPS RT 1000 RM XL SNMP
+
+## Overview
+
+For Zabbix version: 5.4 and higher
+The template to monitor APC Smart-UPS RT 1000 RM XL by Zabbix SNMP agent.
+Note: please, use the latest version of the firmware for your NMC in order for the template to work correctly.
+
+
+
+This template was tested on:
+
+- APC Smart-UPS RT 1000 RM XL
+
+## Setup
+
+> See [Zabbix template operation](https://www.zabbix.com/documentation/5.4/manual/config/templates_out_of_the_box/network_devices) for basic instructions.
+
+1\. Create a host for APC Smart-UPS RT 1000 RM XL 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} |<p>Minimum battery capacity percentage for trigger expression.</p> |`50` |
+|{$BATTERY.TEMP.MAX.WARN} |<p>Maximum battery temperature for trigger expression.</p> |`55` |
+|{$ICMP.LOSS.WARN} |<p>-</p> |`20` |
+|{$ICMP.RESPONSE_TIME.WARN} |<p>-</p> |`0.15` |
+|{$SNMP.TIMEOUT} |<p>The time interval for SNMP agent availability trigger expression.</p> |`5m` |
+|{$TIME.PERIOD} |<p>Time period for trigger expression.</p> |`15m` |
+|{$UPS.INPUT_FREQ.MAX.WARN} |<p>Maximum input frequency for trigger expression.</p> |`50.3` |
+|{$UPS.INPUT_FREQ.MIN.WARN} |<p>Minimum input frequency for trigger expression.</p> |`49.7` |
+|{$UPS.INPUT_VOLT.MAX.WARN} |<p>Maximum input voltage for trigger expression.</p> |`243` |
+|{$UPS.INPUT_VOLT.MIN.WARN} |<p>Minimum input voltage for trigger expression.</p> |`197` |
+|{$UPS.OUTPUT.MAX.WARN} |<p>Maximum output load in % for trigger expression.</p> |`80` |
+
+## Template links
+
+There are no template links in this template.
+
+## Discovery rules
+
+|Name|Description|Type|Key and additional info|
+|----|-----------|----|----|
+|Input phases discovery |<p>The input phase identifier. OID upsPhaseInputPhaseIndex.1.1</p> |SNMP |input.phases.discovery |
+|Output phases discovery |<p>The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1</p> |SNMP |output.phases.discovery |
+|External battery packs discovery | |SNMP |battery.packs.discovery<p>**Filter**:</p>AND <p>- A: {#CARTRIDGE_STATUS} NOT_MATCHES_REGEX `^$`</p> |
+|External bad battery packs discovery |<p>Discovery of the number of external defective battery packs.</p> |SNMP |battery.packs.bad.discovery |
+|External sensor port 1 discovery |<p>uioSensorStatusTable</p> |SNMP |external.sensor1.discovery |
+|External sensor port 2 discovery |<p>uioSensorStatusTable</p> |SNMP |external.sensor2.discovery |
+
+## Items collected
+
+|Group|Name|Description|Type|Key and additional info|
+|-----|----|-----------|----|---------------------|
+|General |Model |<p>MIB: PowerNet-MIB</p><p>The UPS model name (e.g. 'APC Smart-UPS 600').</p> |SNMP |system.model[upsBasicIdentModel]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Serial number |<p>MIB: PowerNet-MIB</p><p>An 8-character string identifying the serial number of</p><p> the UPS internal microprocessor. This number is set at</p><p> the factory. NOTE: This number does NOT correspond to</p><p> the serial number on the rear of the UPS.</p> |SNMP |system.sn[upsAdvIdentSerialNumber]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery status |<p>MIB: PowerNet-MIB</p><p>The status of the UPS batteries. A batteryLow(3) value</p><p> indicates the UPS will be unable to sustain the current</p><p> load, and its services will be lost if power is not restored.</p><p> The amount of run time in reserve at the time of low battery</p><p> can be configured by the upsAdvConfigLowBatteryRunTime.</p><p> A batteryInFaultCondition(4)value indicates that a battery</p><p> installed has an internal error condition.</p> |SNMP |battery.status[upsBasicBatteryStatus]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery capacity |<p>MIB: PowerNet-MIB</p><p>The remaining battery capacity expressed as</p><p> percentage of full capacity.</p> |SNMP |battery.capacity[upsHighPrecBatteryCapacity]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery runtime remaining |<p>MIB: PowerNet-MIB</p><p>The UPS battery run time remaining before battery</p><p> exhaustion.</p> |SNMP |battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery voltage |<p>MIB: PowerNet-MIB</p><p>The actual battery bus voltage in Volts.</p> |SNMP |battery.voltage[upsHighPrecBatteryActualVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery last replace date |<p>MIB: PowerNet-MIB</p><p>The date when the UPS system's batteries were last replaced</p><p> in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value</p><p> is originally set at the factory. When the UPS batteries</p><p> are replaced, this value should be reset by the administrator.</p><p> For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.</p> |SNMP |battery.last_replace_date[upsBasicBatteryLastReplaceDate]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery replace indicator |<p>MIB: PowerNet-MIB</p><p>Indicates whether the UPS batteries need replacement.</p> |SNMP |battery.replace_indicator[upsAdvBatteryReplaceIndicator]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |External battery packs count |<p>MIB: PowerNet-MIB</p><p>The number of external battery packs connected to the UPS. If</p><p> the UPS does not use smart cells then the agent reports</p><p> ERROR_NO_SUCH_NAME.</p> |SNMP |battery.external_packs_count[upsAdvBatteryNumOfBattPacks]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery temperature |<p>MIB: PowerNet-MIB</p><p>The current internal UPS temperature in Celsius.</p><p> Temperatures below zero read as 0.</p> |SNMP |battery.temperature[upsHighPrecBatteryTemperature]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input voltage |<p>MIB: PowerNet-MIB</p><p>The current utility line voltage in VAC.</p> |SNMP |input.voltage[upsHighPrecInputLineVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input frequency |<p>MIB: PowerNet-MIB</p><p>The current input frequency to the UPS system in Hz.</p> |SNMP |input.frequency[upsHighPrecInputFrequency]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input fail cause |<p>MIB: PowerNet-MIB</p><p>The reason for the occurrence of the last transfer to UPS</p><p>battery power. The variable is set to:</p><p>- noTransfer(1) -- if there is no transfer yet.</p><p>- highLineVoltage(2) -- if the transfer to battery is caused</p><p>by an over voltage greater than the high transfer voltage.</p><p>- brownout(3) -- if the duration of the outage is greater than</p><p>five seconds and the line voltage is between 40% of the</p><p>rated output voltage and the low transfer voltage.</p><p>- blackout(4) -- if the duration of the outage is greater than five</p><p>seconds and the line voltage is between 40% of the rated</p><p>output voltage and ground.</p><p>- smallMomentarySag(5) -- if the duration of the outage is less</p><p>than five seconds and the line voltage is between 40% of the</p><p>rated output voltage and the low transfer voltage.</p><p>- deepMomentarySag(6) -- if the duration of the outage is less</p><p>than five seconds and the line voltage is between 40% of the</p><p>rated output voltage and ground. The variable is set to</p><p>- smallMomentarySpike(7) -- if the line failure is caused by a</p><p>rate of change of input voltage less than ten volts per cycle.</p><p>- largeMomentarySpike(8) -- if the line failure is caused by</p><p>a rate of change of input voltage greater than ten volts per cycle.</p><p>- selfTest(9) -- if the UPS was commanded to do a self test.</p><p>- rateOfVoltageChange(10) -- if the failure is due to the rate of change of</p><p>the line voltage.</p> |SNMP |input.fail[upsAdvInputLineFailCause]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output voltage |<p>MIB: PowerNet-MIB</p><p>The output voltage of the UPS system in VAC.</p> |SNMP |output.voltage[upsHighPrecOutputVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output load |<p>MIB: PowerNet-MIB</p><p>The current UPS load expressed as percentage</p><p>of rated capacity.</p> |SNMP |output.load[upsHighPrecOutputLoad]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output current |<p>MIB: PowerNet-MIB</p><p>The current in amperes drawn by the load on the UPS.</p> |SNMP |output.current[upsHighPrecOutputCurrent]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output status |<p>MIB: PowerNet-MIB</p><p>The current state of the UPS. If the UPS is unable to</p><p> determine the state of the UPS this variable is set</p><p> to unknown(1).</p><p>During self-test most UPSes report onBattery(3) but</p><p> some that support it will report onBatteryTest(15).</p><p> To determine self-test status across all UPSes, refer</p><p> to the upsBasicStateOutputState OID.</p> |SNMP |output.status[upsBasicOutputStatus]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |SNMP traps (fallback) |<p>Item is used to collect all SNMP traps unmatched by other snmptrap items</p> |SNMP_TRAP |snmptrap.fallback |
+|General |System location |<p>MIB: SNMPv2-MIB</p><p>The physical location of this node (e.g., `telephone closet,</p><p>3rd floor'). If the location is unknown, the value is the zero-length string.</p> |SNMP |system.location[sysLocation.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System contact details |<p>MIB: SNMPv2-MIB</p><p>The textual identification of the contact person for this managed</p><p>node, together with information on how to contact this person. If no contact</p><p>information is known, the value is the zero-length string.</p> |SNMP |system.contact[sysContact.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
+|General |System object ID |<p>MIB: SNMPv2-MIB</p><p>The vendor's authoritative identification of the network management</p><p>subsystem contained in the entity. This value is allocated within the SMI enterprises</p><p>subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what</p><p>kind of box' is being managed. For example, if vendor`Flintstones, Inc.' was</p><p>assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1</p><p>to its `Fred Router'.</p> |SNMP |system.objectid[sysObjectID.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System name |<p>MIB: SNMPv2-MIB</p><p>An administratively-assigned name for this managed node.By</p><p>convention, this is the node's fully-qualified domain name. If the name is unknown,</p><p>the value is the zero-length string.</p> |SNMP |system.name<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System description |<p>MIB: SNMPv2-MIB</p><p>A textual description of the entity. This value should</p><p>include the full name and version identification of the system's hardware type, software operating-system, and</p><p>networking software.</p> |SNMP |system.descr[sysDescr.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
+|General |{#PHASEINDEX}: Phase input voltage |<p>MIB: PowerNet-MIB</p><p>The input voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase input current |<p>MIB: PowerNet-MIB</p><p>The input current in 0.1 amperes, or -0.1 if it's</p><p> unsupported by this UPS.</p> |SNMP |phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output voltage |<p>MIB: PowerNet-MIB</p><p>The output voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output current |<p>MIB: PowerNet-MIB</p><p>The output current in 0.1 amperes drawn</p><p> by the load on the UPS, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output load, % |<p>MIB: PowerNet-MIB</p><p>The percentage of the UPS load capacity in VA at</p><p> redundancy @ (n + x) presently being used on this</p><p> output phase, or -1 if it's unsupported by this UPS.</p> |SNMP |phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status |<p>MIB: PowerNet-MIB</p><p>The battery cartridge status.</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |SNMP |battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature |<p>MIB: PowerNet-MIB</p><p>The battery pack temperature in Celsius.</p> |SNMP |battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number |<p>MIB: PowerNet-MIB</p><p>The battery pack serial number.</p> |SNMP |system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date |<p>MIB: PowerNet-MIB</p><p>The battery cartridge estimated battery replace date.</p> |SNMP |battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery pack cartridge health |<p>MIB: PowerNet-MIB</p><p>The battery cartridge health.</p><p> bit 0 Battery lifetime okay</p><p> bit 1 Battery lifetime near end, order replacement cartridge</p><p> bit 2 Battery lifetime exceeded, replace battery</p><p> bit 3 Battery lifetime near end acknowledged, order replacement cartridge</p><p> bit 4 Battery lifetime exceeded acknowledged, replace battery</p><p> bit 5 Battery measured lifetime near end, order replacement cartridge</p><p> bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge</p> |SNMP |battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#SNMPINDEX}: External battery packs bad |<p>MIB: PowerNet-MIB</p><p>The number of external battery packs connected to the UPS that</p><p>are defective. If the UPS does not use smart cells then the</p><p>agent reports ERROR_NO_SUCH_NAME.</p> |SNMP |battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Temperature sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current temperature reading in Celsius.</p><p> -1 indicates an invalid reading due to lost communications.</p> |SNMP |external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Humidity sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current humidity reading - a relative humidity</p><p> percentage. -1 indicates an invalid reading due to either a</p><p> sensor that doesn't read humidity or lost communications.</p> |SNMP |external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Sensor alarm status |<p>MIB: PowerNet-MIB</p><p>The alarm status of the sensor. Possible values:</p><p>uioNormal (1),</p><p>uioWarning (2),</p><p>uioCritical (3),</p><p>sensorStatusNotApplicable (4)</p> |SNMP |external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Temperature sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current temperature reading in Celsius.</p><p> -1 indicates an invalid reading due to lost communications.</p> |SNMP |external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Humidity sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current humidity reading - a relative humidity</p><p> percentage. -1 indicates an invalid reading due to either a</p><p> sensor that doesn't read humidity or lost communications.</p> |SNMP |external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Sensor alarm status |<p>MIB: PowerNet-MIB</p><p>The alarm status of the sensor. Possible values:</p><p>uioNormal (1),</p><p>uioWarning (2),</p><p>uioCritical (3),</p><p>sensorStatusNotApplicable (4)</p> |SNMP |external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|Status |Uptime |<p>MIB: SNMPv2-MIB</p><p>The time (in hundredths of a second) since the network management</p><p>portion of the system was last re-initialized.</p> |SNMP |system.uptime[sysUpTime.0]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p> |
+|Status |SNMP agent availability |<p>-</p> |INTERNAL |zabbix[host,snmp,available] |
+|Status |ICMP ping |<p>-</p> |SIMPLE |icmpping |
+|Status |ICMP loss |<p>-</p> |SIMPLE |icmppingloss |
+|Status |ICMP response time |<p>-</p> |SIMPLE |icmppingsec |
+
+## Triggers
+
+|Name|Description|Expression|Severity|Dependencies and additional info|
+|----|-----------|----|----|----|
+|Battery has an internal error condition |<p>A battery installed has an internal error condition.</p> |`{TEMPLATE_NAME:battery.status[upsBasicBatteryStatus].last()}=4` |AVERAGE | |
+|Battery is Low |<p>The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.</p> |`{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 |<p>A battery installed has an internal error condition.</p> |`{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}) |<p>A battery installed has an internal error condition.</p> |`{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 | |
+|System name has changed (new name: {ITEM.VALUE}) |<p>System name has changed. Ack to close.</p> |`{TEMPLATE_NAME:system.name.diff()}=1 and {TEMPLATE_NAME:system.name.strlen()}>0` |INFO |<p>Manual close: YES</p> |
+|{#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 |<p>The battery cartridge status:</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |`{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 |<p>The battery cartridge health.</p><p> bit 0 Battery lifetime okay</p><p> bit 1 Battery lifetime near end, order replacement cartridge</p><p> bit 2 Battery lifetime exceeded, replace battery</p><p> bit 3 Battery lifetime near end acknowledged, order replacement cartridge</p><p> bit 4 Battery lifetime exceeded acknowledged, replace battery</p><p> bit 5 Battery measured lifetime near end, order replacement cartridge</p><p> bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge</p> |`{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 |<p>The external sensor does not work or is not connected.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=4` |INFO | |
+|{#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning |<p>The external sensor has returned a value greater than the warning threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=2` |AVERAGE | |
+|{#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical |<p>The external sensor has returned a value greater than the critical threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=3` |HIGH | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable |<p>The external sensor does not work or is not connected.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=4` |INFO | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning |<p>The external sensor has returned a value greater than the warning threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=2` |AVERAGE | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical |<p>The external sensor has returned a value greater than the critical threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=3` |HIGH | |
+|{HOST.NAME} has been restarted (uptime < 10m) |<p>Uptime is less than 10 minutes</p> |`{TEMPLATE_NAME:system.uptime[sysUpTime.0].last()}<10m` |WARNING |<p>Manual close: YES</p><p>**Depends on**:</p><p>- No SNMP data collection</p> |
+|No SNMP data collection |<p>SNMP is not available for polling. Please check device connectivity and SNMP settings.</p> |`{TEMPLATE_NAME:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0` |WARNING |<p>**Depends on**:</p><p>- Unavailable by ICMP ping</p> |
+|Unavailable by ICMP ping |<p>Last three attempts returned timeout. Please check device connectivity.</p> |`{TEMPLATE_NAME:icmpping.max(#3)}=0` |HIGH | |
+|High ICMP ping loss |<p>-</p> |`{TEMPLATE_NAME:icmppingloss.min(5m)}>{$ICMP.LOSS.WARN} and {TEMPLATE_NAME:icmppingloss.min(5m)}<100` |WARNING |<p>**Depends on**:</p><p>- Unavailable by ICMP ping</p> |
+|High ICMP ping response time |<p>-</p> |`{TEMPLATE_NAME:icmppingsec.avg(5m)}>{$ICMP.RESPONSE_TIME.WARN}` |WARNING |<p>**Depends on**:</p><p>- High ICMP ping loss</p><p>- Unavailable by ICMP ping</p> |
+
+## 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](https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups).
+
diff --git a/templates/power/apc/apc_ups_smart_rt_1000_rm_xl_snmp/template_power_apc_ups_smart_rt_1000_rm_xl_snmp.yaml b/templates/power/apc/apc_ups_smart_rt_1000_rm_xl_snmp/template_power_apc_ups_smart_rt_1000_rm_xl_snmp.yaml
new file mode 100644
index 00000000000..ba5aab6076a
--- /dev/null
+++ b/templates/power/apc/apc_ups_smart_rt_1000_rm_xl_snmp/template_power_apc_ups_smart_rt_1000_rm_xl_snmp.yaml
@@ -0,0 +1,1498 @@
+zabbix_export:
+ version: '5.4'
+ date: '2021-03-24T17:30:56Z'
+ groups:
+ -
+ name: Templates/Power
+ templates:
+ -
+ template: 'APC Smart-UPS RT 1000 RM XL SNMP'
+ name: 'APC Smart-UPS RT 1000 RM XL SNMP'
+ description: |
+ Template Power APC Smart-UPS RT 1000 RM XL
+
+ MIBs used:
+ PowerNet-MIB
+ SNMPv2-MIB
+
+ You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
+
+ Template tooling version used: 0.38
+ groups:
+ -
+ name: Templates/Power
+ applications:
+ -
+ name: General
+ -
+ name: Status
+ items:
+ -
+ name: 'Battery capacity'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.1.0
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ MIB: PowerNet-MIB
+ The remaining battery capacity expressed as
+ percentage of full capacity.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()} < {$BATTERY.CAPACITY.MIN.WARN}'
+ name: 'Battery has low capacity (below {$BATTERY.CAPACITY.MIN.WARN}%)'
+ opdata: 'Current capacity: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'External battery packs count'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.5.0
+ key: 'battery.external_packs_count[upsAdvBatteryNumOfBattPacks]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery last replace date'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.1.3.0
+ key: 'battery.last_replace_date[upsBasicBatteryLastReplaceDate]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery replace indicator'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.4.0
+ key: 'battery.replace_indicator[upsAdvBatteryReplaceIndicator]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ Indicates whether the UPS batteries need replacement.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsAdvBatteryReplaceIndicator'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=2'
+ name: 'Battery needs replacement'
+ priority: HIGH
+ description: 'A battery installed has an internal error condition.'
+ -
+ name: 'Battery runtime remaining'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.3.0
+ key: 'battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]'
+ history: 7d
+ value_type: FLOAT
+ units: s
+ description: |
+ MIB: PowerNet-MIB
+ The UPS battery run time remaining before battery
+ exhaustion.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.01'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.1.1.0
+ key: 'battery.status[upsBasicBatteryStatus]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=4'
+ name: 'Battery has an internal error condition'
+ priority: AVERAGE
+ description: 'A battery installed has an internal error condition.'
+ -
+ expression: '{last()}=3'
+ name: 'Battery is Low'
+ priority: AVERAGE
+ description: 'The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.'
+ -
+ name: 'Battery temperature'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.2.0
+ key: 'battery.temperature[upsHighPrecBatteryTemperature]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The current internal UPS temperature in Celsius.
+ Temperatures below zero read as 0.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$BATTERY.TEMP.MAX.WARN}'
+ name: 'Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD})'
+ opdata: 'Current temperature: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Battery voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.4.0
+ key: 'battery.voltage[upsHighPrecBatteryActualVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The actual battery bus voltage in Volts.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'ICMP ping'
+ type: SIMPLE
+ key: icmpping
+ history: 1w
+ applications:
+ -
+ name: Status
+ valuemap:
+ name: 'Service state'
+ triggers:
+ -
+ expression: '{max(#3)}=0'
+ name: 'Unavailable by ICMP ping'
+ priority: HIGH
+ description: 'Last three attempts returned timeout. Please check device connectivity.'
+ -
+ name: 'ICMP loss'
+ type: SIMPLE
+ key: icmppingloss
+ history: 1w
+ value_type: FLOAT
+ units: '%'
+ applications:
+ -
+ name: Status
+ triggers:
+ -
+ expression: '{min(5m)}>{$ICMP.LOSS.WARN} and {min(5m)}<100'
+ name: 'High ICMP ping loss'
+ opdata: 'Loss: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ dependencies:
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC Smart-UPS RT 1000 RM XL SNMP:icmpping.max(#3)}=0'
+ -
+ name: 'ICMP response time'
+ type: SIMPLE
+ key: icmppingsec
+ history: 1w
+ value_type: FLOAT
+ units: s
+ applications:
+ -
+ name: Status
+ triggers:
+ -
+ expression: '{avg(5m)}>{$ICMP.RESPONSE_TIME.WARN}'
+ name: 'High ICMP ping response time'
+ opdata: 'Value: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ dependencies:
+ -
+ name: 'High ICMP ping loss'
+ expression: '{APC Smart-UPS RT 1000 RM XL SNMP:icmppingloss.min(5m)}>{$ICMP.LOSS.WARN} and {APC Smart-UPS RT 1000 RM XL SNMP:icmppingloss.min(5m)}<100'
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC Smart-UPS RT 1000 RM XL SNMP:icmpping.max(#3)}=0'
+ -
+ name: 'Input fail cause'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.2.5.0
+ key: 'input.fail[upsAdvInputLineFailCause]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsAdvInputLineFailCause'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Input frequency'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.3.4.0
+ key: 'input.frequency[upsHighPrecInputFrequency]'
+ history: 7d
+ value_type: FLOAT
+ units: Hz
+ description: |
+ MIB: PowerNet-MIB
+ The current input frequency to the UPS system in Hz.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > 0 and ({min({$TIME.PERIOD})} > {$UPS.INPUT_FREQ.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_FREQ.MIN.WARN})'
+ name: 'Unacceptable input frequency (out of range {$UPS.INPUT_FREQ.MIN.WARN}-{$UPS.INPUT_FREQ.MAX.WARN}Hz for {$TIME.PERIOD})'
+ opdata: 'Current frequency: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Input voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.3.1.0
+ key: 'input.voltage[upsHighPrecInputLineVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The current utility line voltage in VAC.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > 0 and ({min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN})'
+ name: 'Unacceptable input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Output current'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.4.0
+ key: 'output.current[upsHighPrecOutputCurrent]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ MIB: PowerNet-MIB
+ The current in amperes drawn by the load on the UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Output load'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.3.0
+ key: 'output.load[upsHighPrecOutputLoad]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ MIB: PowerNet-MIB
+ The current UPS load expressed as percentage
+ of rated capacity.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.OUTPUT.MAX.WARN}'
+ name: 'Output load is high (over {$UPS.OUTPUT.MAX.WARN}% for {$TIME.PERIOD})'
+ opdata: 'Current load: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ description: 'A battery installed has an internal error condition.'
+ -
+ name: 'Output status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.1.1.0
+ key: 'output.status[upsBasicOutputStatus]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=16'
+ name: 'UPS is Emergency Static Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=10'
+ name: 'UPS is Hardware Failure Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=7'
+ name: 'UPS is Off'
+ priority: AVERAGE
+ -
+ expression: '{last()}=3'
+ name: 'UPS is on battery'
+ priority: AVERAGE
+ -
+ expression: '{last()}=4'
+ name: 'UPS is on Smart Boost'
+ priority: AVERAGE
+ -
+ expression: '{last()}=12'
+ name: 'UPS is On Smart Trim'
+ priority: AVERAGE
+ -
+ expression: '{last()}=8'
+ name: 'UPS is Rebooting'
+ priority: AVERAGE
+ -
+ expression: '{last()}=11'
+ name: 'UPS is Sleeping Until Power Return'
+ priority: AVERAGE
+ -
+ expression: '{last()}=6'
+ name: 'UPS is Software Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=9'
+ name: 'UPS is Switched Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=5'
+ name: 'UPS is Timed Sleeping'
+ priority: AVERAGE
+ -
+ name: 'Output voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.1.0
+ key: 'output.voltage[upsHighPrecOutputVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The output voltage of the UPS system in VAC.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'SNMP traps (fallback)'
+ type: SNMP_TRAP
+ key: snmptrap.fallback
+ history: 2w
+ trends: '0'
+ value_type: LOG
+ description: 'Item is used to collect all SNMP traps unmatched by other snmptrap items'
+ applications:
+ -
+ name: General
+ logtimefmt: 'hh:mm:sszyyyy/MM/dd'
+ -
+ name: 'System contact details'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.4.0
+ key: 'system.contact[sysContact.0]'
+ delay: 1h
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: CONTACT
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1d
+ -
+ name: 'System description'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.1.0
+ key: 'system.descr[sysDescr.0]'
+ delay: 1h
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1d
+ -
+ name: 'System location'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.6.0
+ key: 'system.location[sysLocation.0]'
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: LOCATION
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ -
+ name: Model
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.1.1.1.0
+ key: 'system.model[upsBasicIdentModel]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The UPS model name (e.g. 'APC Smart-UPS 600').
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'System name'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.5.0
+ key: system.name
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: NAME
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ triggers:
+ -
+ expression: '{diff()}=1 and {strlen()}>0'
+ name: 'System name has changed (new name: {ITEM.VALUE})'
+ priority: INFO
+ description: 'System name has changed. Ack to close.'
+ manual_close: 'YES'
+ -
+ name: 'System object ID'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.2.0
+ key: 'system.objectid[sysObjectID.0]'
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: SNMPv2-MIB
+ The vendor's authoritative identification of the network management
+ subsystem contained in the entity. This value is allocated within the SMI enterprises
+ subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what
+ kind of box' is being managed. For example, if vendor`Flintstones, Inc.' was
+ assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1
+ to its `Fred Router'.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ -
+ name: 'Serial number'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.1.2.3.0
+ key: 'system.sn[upsAdvIdentSerialNumber]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: Uptime
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.3.0
+ key: 'system.uptime[sysUpTime.0]'
+ delay: 30s
+ history: 2w
+ trends: 0d
+ units: uptime
+ description: |
+ MIB: SNMPv2-MIB
+ The time (in hundredths of a second) since the network management
+ portion of the system was last re-initialized.
+ applications:
+ -
+ name: Status
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.01'
+ triggers:
+ -
+ expression: '{last()}<10m'
+ name: '{HOST.NAME} has been restarted (uptime < 10m)'
+ priority: WARNING
+ description: 'Uptime is less than 10 minutes'
+ manual_close: 'YES'
+ dependencies:
+ -
+ name: 'No SNMP data collection'
+ expression: '{APC Smart-UPS RT 1000 RM XL SNMP:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0'
+ -
+ name: 'SNMP agent availability'
+ type: INTERNAL
+ key: 'zabbix[host,snmp,available]'
+ history: 7d
+ applications:
+ -
+ name: Status
+ valuemap:
+ name: zabbix.host.available
+ triggers:
+ -
+ expression: '{max({$SNMP.TIMEOUT})}=0'
+ name: 'No SNMP data collection'
+ opdata: 'Current state: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: 'SNMP is not available for polling. Please check device connectivity and SNMP settings.'
+ dependencies:
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC Smart-UPS RT 1000 RM XL SNMP:icmpping.max(#3)}=0'
+ discovery_rules:
+ -
+ name: 'External bad battery packs discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_PACKS},1.3.6.1.4.1.318.1.1.1.2.2.6]'
+ key: battery.packs.bad.discovery
+ delay: 1h
+ description: 'Discovery of the number of external defective battery packs.'
+ item_prototypes:
+ -
+ name: '{#SNMPINDEX}: External battery packs bad'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.6.0
+ key: 'battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'External battery packs discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#CARTRIDGE_STATUS},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.7,{#BATTERY_PACK},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.1,{#CARTRIDGE_INDEX},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.2]'
+ key: battery.packs.discovery
+ delay: 1h
+ filter:
+ evaltype: AND
+ conditions:
+ -
+ macro: '{#CARTRIDGE_STATUS}'
+ value: ^$
+ operator: NOT_MATCHES_REGEX
+ formulaid: A
+ item_prototypes:
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.8.{#SNMPINDEX}'
+ key: 'battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The battery cartridge estimated battery replace date.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery pack cartridge health'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.7.{#SNMPINDEX}'
+ key: 'battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{regexp("^(0)[0|1]{15}$")}=1'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery lifetime is not okay'
+ opdata: 'Current bit set: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: |
+ 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
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.10.{#SNMPINDEX}'
+ key: 'battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{regexp("^(0{16})$")}=0'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status is not okay'
+ opdata: 'Current bit set: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: |
+ 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
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.5.{#SNMPINDEX}'
+ key: 'battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The battery pack temperature in Celsius.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$BATTERY.TEMP.MAX.WARN}'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD})'
+ opdata: 'Current temperature: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.4.{#SNMPINDEX}'
+ key: 'system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The battery pack serial number.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'External sensor port 1 discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_SENSOR1_NAME},1.3.6.1.4.1.318.1.1.25.1.2.1.3]'
+ key: external.sensor1.discovery
+ delay: 1h
+ description: uioSensorStatusTable
+ item_prototypes:
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Humidity sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.7.1.1
+ key: 'external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor alarm status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.9.1.1
+ key: 'external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ The alarm status of the sensor. Possible values:
+ uioNormal (1),
+ uioWarning (2),
+ uioCritical (3),
+ sensorStatusNotApplicable (4)
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{last()}=3'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical'
+ priority: HIGH
+ description: 'The external sensor has returned a value greater than the critical threshold.'
+ -
+ expression: '{last()}=4'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Not Applicable'
+ priority: INFO
+ description: 'The external sensor does not work or is not connected.'
+ -
+ expression: '{last()}=2'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning'
+ priority: AVERAGE
+ description: 'The external sensor has returned a value greater than the warning threshold.'
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Temperature sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.6.1.1
+ key: 'external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The sensor's current temperature reading in Celsius.
+ -1 indicates an invalid reading due to lost communications.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ overrides:
+ -
+ name: Temp
+ step: '1'
+ filter:
+ conditions:
+ -
+ macro: '{#EXTERNAL_SENSOR1_NAME}'
+ value: Temp
+ formulaid: A
+ operations:
+ -
+ operationobject: ITEM_PROTOTYPE
+ operator: LIKE
+ value: Humidity
+ status: ENABLED
+ discover: NO_DISCOVER
+ -
+ name: 'External sensor port 2 discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_SENSOR2_NAME},1.3.6.1.4.1.318.1.1.25.1.2.2.3]'
+ key: external.sensor2.discovery
+ delay: 1h
+ description: uioSensorStatusTable
+ item_prototypes:
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Humidity sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.7.1.1
+ key: 'external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor alarm status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.9.1.1
+ key: 'external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ The alarm status of the sensor. Possible values:
+ uioNormal (1),
+ uioWarning (2),
+ uioCritical (3),
+ sensorStatusNotApplicable (4)
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{last()}=3'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical'
+ priority: HIGH
+ description: 'The external sensor has returned a value greater than the critical threshold.'
+ -
+ expression: '{last()}=4'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable'
+ priority: INFO
+ description: 'The external sensor does not work or is not connected.'
+ -
+ expression: '{last()}=2'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning'
+ priority: AVERAGE
+ description: 'The external sensor has returned a value greater than the warning threshold.'
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Temperature sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.6.1.1
+ key: 'external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The sensor's current temperature reading in Celsius.
+ -1 indicates an invalid reading due to lost communications.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ overrides:
+ -
+ name: Temp
+ step: '1'
+ filter:
+ conditions:
+ -
+ macro: '{#EXTERNAL_SENSOR2_NAME}'
+ value: Temp
+ formulaid: A
+ operations:
+ -
+ operationobject: ITEM_PROTOTYPE
+ operator: LIKE
+ value: Humidity
+ status: ENABLED
+ discover: NO_DISCOVER
+ -
+ name: 'Input phases discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#PHASEINDEX},1.3.6.1.4.1.318.1.1.1.9.2.3.1.2.1.1]'
+ key: input.phases.discovery
+ delay: 1h
+ description: 'The input phase identifier. OID upsPhaseInputPhaseIndex.1.1'
+ item_prototypes:
+ -
+ name: '{#PHASEINDEX}: Phase input current'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.2.3.1.6.1.1.{#PHASEINDEX}'
+ key: 'phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ MIB: PowerNet-MIB
+ The input current in 0.1 amperes, or -0.1 if it's
+ unsupported by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase input voltage'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.2.3.1.3.1.1.{#PHASEINDEX}'
+ key: 'phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The input voltage in VAC, or -1 if it's unsupported
+ by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}'
+ name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Output phases discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#PHASEINDEX},1.3.6.1.4.1.318.1.1.1.9.3.3.1.2.1.1]'
+ key: output.phases.discovery
+ delay: 1h
+ description: 'The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1'
+ item_prototypes:
+ -
+ name: '{#PHASEINDEX}: Phase output current'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.4.1.1.{#PHASEINDEX}'
+ key: 'phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output load, %'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.10.1.1.{#PHASEINDEX}'
+ key: 'phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output voltage'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.3.1.1.{#PHASEINDEX}'
+ key: 'phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The output voltage in VAC, or -1 if it's unsupported
+ by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}'
+ name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} output voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ macros:
+ -
+ macro: '{$BATTERY.CAPACITY.MIN.WARN}'
+ value: '50'
+ description: 'Minimum battery capacity percentage for trigger expression.'
+ -
+ macro: '{$BATTERY.TEMP.MAX.WARN}'
+ value: '55'
+ description: 'Maximum battery temperature for trigger expression.'
+ -
+ macro: '{$ICMP.LOSS.WARN}'
+ value: '20'
+ -
+ macro: '{$ICMP.RESPONSE_TIME.WARN}'
+ value: '0.15'
+ -
+ macro: '{$SNMP.TIMEOUT}'
+ value: 5m
+ description: 'The time interval for SNMP agent availability trigger expression.'
+ -
+ macro: '{$TIME.PERIOD}'
+ value: 15m
+ description: 'Time period for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_FREQ.MAX.WARN}'
+ value: '50.3'
+ description: 'Maximum input frequency for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_FREQ.MIN.WARN}'
+ value: '49.7'
+ description: 'Minimum input frequency for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_VOLT.MAX.WARN}'
+ value: '243'
+ description: 'Maximum input voltage for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_VOLT.MIN.WARN}'
+ value: '197'
+ description: 'Minimum input voltage for trigger expression.'
+ -
+ macro: '{$UPS.OUTPUT.MAX.WARN}'
+ value: '80'
+ description: 'Maximum output load in % for trigger expression.'
+ valuemaps:
+ -
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ mappings:
+ -
+ value: '1'
+ newvalue: Normal
+ -
+ value: '2'
+ newvalue: Warning
+ -
+ value: '3'
+ newvalue: Critical
+ -
+ value: '4'
+ newvalue: 'Not applicable'
+ -
+ name: 'PowerNet-MIB::upsAdvBatteryReplaceIndicator'
+ mappings:
+ -
+ value: '1'
+ newvalue: 'no Battery Needs Replacing'
+ -
+ value: '2'
+ newvalue: 'battery Needs Replacing'
+ -
+ name: 'PowerNet-MIB::upsAdvInputLineFailCause'
+ mappings:
+ -
+ value: '1'
+ newvalue: 'no Transfer'
+ -
+ value: '2'
+ newvalue: 'High Line Voltage'
+ -
+ value: '3'
+ newvalue: Brownout
+ -
+ value: '4'
+ newvalue: Blackout
+ -
+ value: '5'
+ newvalue: 'Small Momentary Sag'
+ -
+ value: '6'
+ newvalue: 'Deep Momentary Sag'
+ -
+ value: '7'
+ newvalue: 'Small Momentary Spike'
+ -
+ value: '8'
+ newvalue: 'Large Momentary Spike'
+ -
+ value: '9'
+ newvalue: 'Self Test'
+ -
+ value: '10'
+ newvalue: 'Rate of Voltage Change'
+ -
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ mappings:
+ -
+ value: '1'
+ newvalue: Unknown
+ -
+ value: '2'
+ newvalue: Normal
+ -
+ value: '3'
+ newvalue: Low
+ -
+ value: '4'
+ newvalue: 'In Fault Condition'
+ -
+ name: 'Service state'
+ mappings:
+ -
+ value: '0'
+ newvalue: Down
+ -
+ value: '1'
+ newvalue: Up
+ -
+ name: zabbix.host.available
+ mappings:
+ -
+ value: '0'
+ newvalue: 'not available'
+ -
+ value: '1'
+ newvalue: available
+ -
+ value: '2'
+ newvalue: unknown
+ graphs:
+ -
+ name: 'Capacity of the UPS batteries'
+ type: PIE
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC Smart-UPS RT 1000 RM XL SNMP'
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
+ -
+ name: Output
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC Smart-UPS RT 1000 RM XL SNMP'
+ key: 'output.current[upsHighPrecOutputCurrent]'
+ -
+ sortorder: '1'
+ color: 2774A4
+ item:
+ host: 'APC Smart-UPS RT 1000 RM XL SNMP'
+ key: 'output.load[upsHighPrecOutputLoad]'
+ -
+ name: Voltage
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC Smart-UPS RT 1000 RM XL SNMP'
+ key: 'input.voltage[upsHighPrecInputLineVoltage]'
+ -
+ sortorder: '1'
+ color: 2774A4
+ item:
+ host: 'APC Smart-UPS RT 1000 RM XL SNMP'
+ key: 'output.voltage[upsHighPrecOutputVoltage]'
diff --git a/templates/power/apc/apc_ups_smart_rt_1000_xl_snmp/README.md b/templates/power/apc/apc_ups_smart_rt_1000_xl_snmp/README.md
new file mode 100644
index 00000000000..da971230e00
--- /dev/null
+++ b/templates/power/apc/apc_ups_smart_rt_1000_xl_snmp/README.md
@@ -0,0 +1,159 @@
+
+# APC Smart-UPS RT 1000 XL SNMP
+
+## Overview
+
+For Zabbix version: 5.4 and higher
+The template to monitor APC Smart-UPS RT 1000 XL by Zabbix SNMP agent.
+Note: please, use the latest version of the firmware for your NMC in order for the template to work correctly.
+
+
+
+This template was tested on:
+
+- APC Smart-UPS RT 1000 XL
+
+## Setup
+
+> See [Zabbix template operation](https://www.zabbix.com/documentation/5.4/manual/config/templates_out_of_the_box/network_devices) for basic instructions.
+
+1\. Create a host for APC Smart-UPS RT 1000 XL 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} |<p>Minimum battery capacity percentage for trigger expression.</p> |`50` |
+|{$BATTERY.TEMP.MAX.WARN} |<p>Maximum battery temperature for trigger expression.</p> |`55` |
+|{$ICMP.LOSS.WARN} |<p>-</p> |`20` |
+|{$ICMP.RESPONSE_TIME.WARN} |<p>-</p> |`0.15` |
+|{$SNMP.TIMEOUT} |<p>The time interval for SNMP agent availability trigger expression.</p> |`5m` |
+|{$TIME.PERIOD} |<p>Time period for trigger expression.</p> |`15m` |
+|{$UPS.INPUT_FREQ.MAX.WARN} |<p>Maximum input frequency for trigger expression.</p> |`50.3` |
+|{$UPS.INPUT_FREQ.MIN.WARN} |<p>Minimum input frequency for trigger expression.</p> |`49.7` |
+|{$UPS.INPUT_VOLT.MAX.WARN} |<p>Maximum input voltage for trigger expression.</p> |`243` |
+|{$UPS.INPUT_VOLT.MIN.WARN} |<p>Minimum input voltage for trigger expression.</p> |`197` |
+|{$UPS.OUTPUT.MAX.WARN} |<p>Maximum output load in % for trigger expression.</p> |`80` |
+
+## Template links
+
+There are no template links in this template.
+
+## Discovery rules
+
+|Name|Description|Type|Key and additional info|
+|----|-----------|----|----|
+|Input phases discovery |<p>The input phase identifier. OID upsPhaseInputPhaseIndex.1.1</p> |SNMP |input.phases.discovery |
+|Output phases discovery |<p>The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1</p> |SNMP |output.phases.discovery |
+|External battery packs discovery | |SNMP |battery.packs.discovery<p>**Filter**:</p>AND <p>- A: {#CARTRIDGE_STATUS} NOT_MATCHES_REGEX `^$`</p> |
+|External bad battery packs discovery |<p>Discovery of the number of external defective battery packs.</p> |SNMP |battery.packs.bad.discovery |
+|External sensor port 1 discovery |<p>uioSensorStatusTable</p> |SNMP |external.sensor1.discovery |
+|External sensor port 2 discovery |<p>uioSensorStatusTable</p> |SNMP |external.sensor2.discovery |
+
+## Items collected
+
+|Group|Name|Description|Type|Key and additional info|
+|-----|----|-----------|----|---------------------|
+|General |Model |<p>MIB: PowerNet-MIB</p><p>The UPS model name (e.g. 'APC Smart-UPS 600').</p> |SNMP |system.model[upsBasicIdentModel]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Serial number |<p>MIB: PowerNet-MIB</p><p>An 8-character string identifying the serial number of</p><p> the UPS internal microprocessor. This number is set at</p><p> the factory. NOTE: This number does NOT correspond to</p><p> the serial number on the rear of the UPS.</p> |SNMP |system.sn[upsAdvIdentSerialNumber]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery status |<p>MIB: PowerNet-MIB</p><p>The status of the UPS batteries. A batteryLow(3) value</p><p> indicates the UPS will be unable to sustain the current</p><p> load, and its services will be lost if power is not restored.</p><p> The amount of run time in reserve at the time of low battery</p><p> can be configured by the upsAdvConfigLowBatteryRunTime.</p><p> A batteryInFaultCondition(4)value indicates that a battery</p><p> installed has an internal error condition.</p> |SNMP |battery.status[upsBasicBatteryStatus]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery capacity |<p>MIB: PowerNet-MIB</p><p>The remaining battery capacity expressed as</p><p> percentage of full capacity.</p> |SNMP |battery.capacity[upsHighPrecBatteryCapacity]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery runtime remaining |<p>MIB: PowerNet-MIB</p><p>The UPS battery run time remaining before battery</p><p> exhaustion.</p> |SNMP |battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery voltage |<p>MIB: PowerNet-MIB</p><p>The actual battery bus voltage in Volts.</p> |SNMP |battery.voltage[upsHighPrecBatteryActualVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery last replace date |<p>MIB: PowerNet-MIB</p><p>The date when the UPS system's batteries were last replaced</p><p> in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value</p><p> is originally set at the factory. When the UPS batteries</p><p> are replaced, this value should be reset by the administrator.</p><p> For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.</p> |SNMP |battery.last_replace_date[upsBasicBatteryLastReplaceDate]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery replace indicator |<p>MIB: PowerNet-MIB</p><p>Indicates whether the UPS batteries need replacement.</p> |SNMP |battery.replace_indicator[upsAdvBatteryReplaceIndicator]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |External battery packs count |<p>MIB: PowerNet-MIB</p><p>The number of external battery packs connected to the UPS. If</p><p> the UPS does not use smart cells then the agent reports</p><p> ERROR_NO_SUCH_NAME.</p> |SNMP |battery.external_packs_count[upsAdvBatteryNumOfBattPacks]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery temperature |<p>MIB: PowerNet-MIB</p><p>The current internal UPS temperature in Celsius.</p><p> Temperatures below zero read as 0.</p> |SNMP |battery.temperature[upsHighPrecBatteryTemperature]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input voltage |<p>MIB: PowerNet-MIB</p><p>The current utility line voltage in VAC.</p> |SNMP |input.voltage[upsHighPrecInputLineVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input frequency |<p>MIB: PowerNet-MIB</p><p>The current input frequency to the UPS system in Hz.</p> |SNMP |input.frequency[upsHighPrecInputFrequency]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input fail cause |<p>MIB: PowerNet-MIB</p><p>The reason for the occurrence of the last transfer to UPS</p><p>battery power. The variable is set to:</p><p>- noTransfer(1) -- if there is no transfer yet.</p><p>- highLineVoltage(2) -- if the transfer to battery is caused</p><p>by an over voltage greater than the high transfer voltage.</p><p>- brownout(3) -- if the duration of the outage is greater than</p><p>five seconds and the line voltage is between 40% of the</p><p>rated output voltage and the low transfer voltage.</p><p>- blackout(4) -- if the duration of the outage is greater than five</p><p>seconds and the line voltage is between 40% of the rated</p><p>output voltage and ground.</p><p>- smallMomentarySag(5) -- if the duration of the outage is less</p><p>than five seconds and the line voltage is between 40% of the</p><p>rated output voltage and the low transfer voltage.</p><p>- deepMomentarySag(6) -- if the duration of the outage is less</p><p>than five seconds and the line voltage is between 40% of the</p><p>rated output voltage and ground. The variable is set to</p><p>- smallMomentarySpike(7) -- if the line failure is caused by a</p><p>rate of change of input voltage less than ten volts per cycle.</p><p>- largeMomentarySpike(8) -- if the line failure is caused by</p><p>a rate of change of input voltage greater than ten volts per cycle.</p><p>- selfTest(9) -- if the UPS was commanded to do a self test.</p><p>- rateOfVoltageChange(10) -- if the failure is due to the rate of change of</p><p>the line voltage.</p> |SNMP |input.fail[upsAdvInputLineFailCause]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output voltage |<p>MIB: PowerNet-MIB</p><p>The output voltage of the UPS system in VAC.</p> |SNMP |output.voltage[upsHighPrecOutputVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output load |<p>MIB: PowerNet-MIB</p><p>The current UPS load expressed as percentage</p><p>of rated capacity.</p> |SNMP |output.load[upsHighPrecOutputLoad]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output current |<p>MIB: PowerNet-MIB</p><p>The current in amperes drawn by the load on the UPS.</p> |SNMP |output.current[upsHighPrecOutputCurrent]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output status |<p>MIB: PowerNet-MIB</p><p>The current state of the UPS. If the UPS is unable to</p><p> determine the state of the UPS this variable is set</p><p> to unknown(1).</p><p>During self-test most UPSes report onBattery(3) but</p><p> some that support it will report onBatteryTest(15).</p><p> To determine self-test status across all UPSes, refer</p><p> to the upsBasicStateOutputState OID.</p> |SNMP |output.status[upsBasicOutputStatus]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |SNMP traps (fallback) |<p>Item is used to collect all SNMP traps unmatched by other snmptrap items</p> |SNMP_TRAP |snmptrap.fallback |
+|General |System location |<p>MIB: SNMPv2-MIB</p><p>The physical location of this node (e.g., `telephone closet,</p><p>3rd floor'). If the location is unknown, the value is the zero-length string.</p> |SNMP |system.location[sysLocation.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System contact details |<p>MIB: SNMPv2-MIB</p><p>The textual identification of the contact person for this managed</p><p>node, together with information on how to contact this person. If no contact</p><p>information is known, the value is the zero-length string.</p> |SNMP |system.contact[sysContact.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
+|General |System object ID |<p>MIB: SNMPv2-MIB</p><p>The vendor's authoritative identification of the network management</p><p>subsystem contained in the entity. This value is allocated within the SMI enterprises</p><p>subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what</p><p>kind of box' is being managed. For example, if vendor`Flintstones, Inc.' was</p><p>assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1</p><p>to its `Fred Router'.</p> |SNMP |system.objectid[sysObjectID.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System name |<p>MIB: SNMPv2-MIB</p><p>An administratively-assigned name for this managed node.By</p><p>convention, this is the node's fully-qualified domain name. If the name is unknown,</p><p>the value is the zero-length string.</p> |SNMP |system.name<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System description |<p>MIB: SNMPv2-MIB</p><p>A textual description of the entity. This value should</p><p>include the full name and version identification of the system's hardware type, software operating-system, and</p><p>networking software.</p> |SNMP |system.descr[sysDescr.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
+|General |{#PHASEINDEX}: Phase input voltage |<p>MIB: PowerNet-MIB</p><p>The input voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase input current |<p>MIB: PowerNet-MIB</p><p>The input current in 0.1 amperes, or -0.1 if it's</p><p> unsupported by this UPS.</p> |SNMP |phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output voltage |<p>MIB: PowerNet-MIB</p><p>The output voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output current |<p>MIB: PowerNet-MIB</p><p>The output current in 0.1 amperes drawn</p><p> by the load on the UPS, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output load, % |<p>MIB: PowerNet-MIB</p><p>The percentage of the UPS load capacity in VA at</p><p> redundancy @ (n + x) presently being used on this</p><p> output phase, or -1 if it's unsupported by this UPS.</p> |SNMP |phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status |<p>MIB: PowerNet-MIB</p><p>The battery cartridge status.</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |SNMP |battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature |<p>MIB: PowerNet-MIB</p><p>The battery pack temperature in Celsius.</p> |SNMP |battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number |<p>MIB: PowerNet-MIB</p><p>The battery pack serial number.</p> |SNMP |system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date |<p>MIB: PowerNet-MIB</p><p>The battery cartridge estimated battery replace date.</p> |SNMP |battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery pack cartridge health |<p>MIB: PowerNet-MIB</p><p>The battery cartridge health.</p><p> bit 0 Battery lifetime okay</p><p> bit 1 Battery lifetime near end, order replacement cartridge</p><p> bit 2 Battery lifetime exceeded, replace battery</p><p> bit 3 Battery lifetime near end acknowledged, order replacement cartridge</p><p> bit 4 Battery lifetime exceeded acknowledged, replace battery</p><p> bit 5 Battery measured lifetime near end, order replacement cartridge</p><p> bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge</p> |SNMP |battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#SNMPINDEX}: External battery packs bad |<p>MIB: PowerNet-MIB</p><p>The number of external battery packs connected to the UPS that</p><p>are defective. If the UPS does not use smart cells then the</p><p>agent reports ERROR_NO_SUCH_NAME.</p> |SNMP |battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Temperature sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current temperature reading in Celsius.</p><p> -1 indicates an invalid reading due to lost communications.</p> |SNMP |external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Humidity sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current humidity reading - a relative humidity</p><p> percentage. -1 indicates an invalid reading due to either a</p><p> sensor that doesn't read humidity or lost communications.</p> |SNMP |external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Sensor alarm status |<p>MIB: PowerNet-MIB</p><p>The alarm status of the sensor. Possible values:</p><p>uioNormal (1),</p><p>uioWarning (2),</p><p>uioCritical (3),</p><p>sensorStatusNotApplicable (4)</p> |SNMP |external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Temperature sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current temperature reading in Celsius.</p><p> -1 indicates an invalid reading due to lost communications.</p> |SNMP |external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Humidity sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current humidity reading - a relative humidity</p><p> percentage. -1 indicates an invalid reading due to either a</p><p> sensor that doesn't read humidity or lost communications.</p> |SNMP |external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Sensor alarm status |<p>MIB: PowerNet-MIB</p><p>The alarm status of the sensor. Possible values:</p><p>uioNormal (1),</p><p>uioWarning (2),</p><p>uioCritical (3),</p><p>sensorStatusNotApplicable (4)</p> |SNMP |external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|Status |Uptime |<p>MIB: SNMPv2-MIB</p><p>The time (in hundredths of a second) since the network management</p><p>portion of the system was last re-initialized.</p> |SNMP |system.uptime[sysUpTime.0]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p> |
+|Status |SNMP agent availability |<p>-</p> |INTERNAL |zabbix[host,snmp,available] |
+|Status |ICMP ping |<p>-</p> |SIMPLE |icmpping |
+|Status |ICMP loss |<p>-</p> |SIMPLE |icmppingloss |
+|Status |ICMP response time |<p>-</p> |SIMPLE |icmppingsec |
+
+## Triggers
+
+|Name|Description|Expression|Severity|Dependencies and additional info|
+|----|-----------|----|----|----|
+|Battery has an internal error condition |<p>A battery installed has an internal error condition.</p> |`{TEMPLATE_NAME:battery.status[upsBasicBatteryStatus].last()}=4` |AVERAGE | |
+|Battery is Low |<p>The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.</p> |`{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 |<p>A battery installed has an internal error condition.</p> |`{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}) |<p>A battery installed has an internal error condition.</p> |`{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 | |
+|System name has changed (new name: {ITEM.VALUE}) |<p>System name has changed. Ack to close.</p> |`{TEMPLATE_NAME:system.name.diff()}=1 and {TEMPLATE_NAME:system.name.strlen()}>0` |INFO |<p>Manual close: YES</p> |
+|{#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 |<p>The battery cartridge status:</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |`{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 |<p>The battery cartridge health.</p><p> bit 0 Battery lifetime okay</p><p> bit 1 Battery lifetime near end, order replacement cartridge</p><p> bit 2 Battery lifetime exceeded, replace battery</p><p> bit 3 Battery lifetime near end acknowledged, order replacement cartridge</p><p> bit 4 Battery lifetime exceeded acknowledged, replace battery</p><p> bit 5 Battery measured lifetime near end, order replacement cartridge</p><p> bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge</p> |`{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 |<p>The external sensor does not work or is not connected.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=4` |INFO | |
+|{#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning |<p>The external sensor has returned a value greater than the warning threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=2` |AVERAGE | |
+|{#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical |<p>The external sensor has returned a value greater than the critical threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=3` |HIGH | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable |<p>The external sensor does not work or is not connected.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=4` |INFO | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning |<p>The external sensor has returned a value greater than the warning threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=2` |AVERAGE | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical |<p>The external sensor has returned a value greater than the critical threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=3` |HIGH | |
+|{HOST.NAME} has been restarted (uptime < 10m) |<p>Uptime is less than 10 minutes</p> |`{TEMPLATE_NAME:system.uptime[sysUpTime.0].last()}<10m` |WARNING |<p>Manual close: YES</p><p>**Depends on**:</p><p>- No SNMP data collection</p> |
+|No SNMP data collection |<p>SNMP is not available for polling. Please check device connectivity and SNMP settings.</p> |`{TEMPLATE_NAME:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0` |WARNING |<p>**Depends on**:</p><p>- Unavailable by ICMP ping</p> |
+|Unavailable by ICMP ping |<p>Last three attempts returned timeout. Please check device connectivity.</p> |`{TEMPLATE_NAME:icmpping.max(#3)}=0` |HIGH | |
+|High ICMP ping loss |<p>-</p> |`{TEMPLATE_NAME:icmppingloss.min(5m)}>{$ICMP.LOSS.WARN} and {TEMPLATE_NAME:icmppingloss.min(5m)}<100` |WARNING |<p>**Depends on**:</p><p>- Unavailable by ICMP ping</p> |
+|High ICMP ping response time |<p>-</p> |`{TEMPLATE_NAME:icmppingsec.avg(5m)}>{$ICMP.RESPONSE_TIME.WARN}` |WARNING |<p>**Depends on**:</p><p>- High ICMP ping loss</p><p>- Unavailable by ICMP ping</p> |
+
+## 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](https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups).
+
diff --git a/templates/power/apc/apc_ups_smart_rt_1000_xl_snmp/template_power_apc_ups_smart_rt_1000_xl_snmp.yaml b/templates/power/apc/apc_ups_smart_rt_1000_xl_snmp/template_power_apc_ups_smart_rt_1000_xl_snmp.yaml
new file mode 100644
index 00000000000..c9f181fb810
--- /dev/null
+++ b/templates/power/apc/apc_ups_smart_rt_1000_xl_snmp/template_power_apc_ups_smart_rt_1000_xl_snmp.yaml
@@ -0,0 +1,1498 @@
+zabbix_export:
+ version: '5.4'
+ date: '2021-03-24T17:31:13Z'
+ groups:
+ -
+ name: Templates/Power
+ templates:
+ -
+ template: 'APC Smart-UPS RT 1000 XL SNMP'
+ name: 'APC Smart-UPS RT 1000 XL SNMP'
+ description: |
+ Template Power APC Smart-UPS RT 1000 XL
+
+ MIBs used:
+ PowerNet-MIB
+ SNMPv2-MIB
+
+ You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
+
+ Template tooling version used: 0.38
+ groups:
+ -
+ name: Templates/Power
+ applications:
+ -
+ name: General
+ -
+ name: Status
+ items:
+ -
+ name: 'Battery capacity'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.1.0
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ MIB: PowerNet-MIB
+ The remaining battery capacity expressed as
+ percentage of full capacity.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()} < {$BATTERY.CAPACITY.MIN.WARN}'
+ name: 'Battery has low capacity (below {$BATTERY.CAPACITY.MIN.WARN}%)'
+ opdata: 'Current capacity: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'External battery packs count'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.5.0
+ key: 'battery.external_packs_count[upsAdvBatteryNumOfBattPacks]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery last replace date'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.1.3.0
+ key: 'battery.last_replace_date[upsBasicBatteryLastReplaceDate]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery replace indicator'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.4.0
+ key: 'battery.replace_indicator[upsAdvBatteryReplaceIndicator]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ Indicates whether the UPS batteries need replacement.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsAdvBatteryReplaceIndicator'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=2'
+ name: 'Battery needs replacement'
+ priority: HIGH
+ description: 'A battery installed has an internal error condition.'
+ -
+ name: 'Battery runtime remaining'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.3.0
+ key: 'battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]'
+ history: 7d
+ value_type: FLOAT
+ units: s
+ description: |
+ MIB: PowerNet-MIB
+ The UPS battery run time remaining before battery
+ exhaustion.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.01'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.1.1.0
+ key: 'battery.status[upsBasicBatteryStatus]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=4'
+ name: 'Battery has an internal error condition'
+ priority: AVERAGE
+ description: 'A battery installed has an internal error condition.'
+ -
+ expression: '{last()}=3'
+ name: 'Battery is Low'
+ priority: AVERAGE
+ description: 'The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.'
+ -
+ name: 'Battery temperature'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.2.0
+ key: 'battery.temperature[upsHighPrecBatteryTemperature]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The current internal UPS temperature in Celsius.
+ Temperatures below zero read as 0.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$BATTERY.TEMP.MAX.WARN}'
+ name: 'Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD})'
+ opdata: 'Current temperature: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Battery voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.4.0
+ key: 'battery.voltage[upsHighPrecBatteryActualVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The actual battery bus voltage in Volts.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'ICMP ping'
+ type: SIMPLE
+ key: icmpping
+ history: 1w
+ applications:
+ -
+ name: Status
+ valuemap:
+ name: 'Service state'
+ triggers:
+ -
+ expression: '{max(#3)}=0'
+ name: 'Unavailable by ICMP ping'
+ priority: HIGH
+ description: 'Last three attempts returned timeout. Please check device connectivity.'
+ -
+ name: 'ICMP loss'
+ type: SIMPLE
+ key: icmppingloss
+ history: 1w
+ value_type: FLOAT
+ units: '%'
+ applications:
+ -
+ name: Status
+ triggers:
+ -
+ expression: '{min(5m)}>{$ICMP.LOSS.WARN} and {min(5m)}<100'
+ name: 'High ICMP ping loss'
+ opdata: 'Loss: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ dependencies:
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC Smart-UPS RT 1000 XL SNMP:icmpping.max(#3)}=0'
+ -
+ name: 'ICMP response time'
+ type: SIMPLE
+ key: icmppingsec
+ history: 1w
+ value_type: FLOAT
+ units: s
+ applications:
+ -
+ name: Status
+ triggers:
+ -
+ expression: '{avg(5m)}>{$ICMP.RESPONSE_TIME.WARN}'
+ name: 'High ICMP ping response time'
+ opdata: 'Value: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ dependencies:
+ -
+ name: 'High ICMP ping loss'
+ expression: '{APC Smart-UPS RT 1000 XL SNMP:icmppingloss.min(5m)}>{$ICMP.LOSS.WARN} and {APC Smart-UPS RT 1000 XL SNMP:icmppingloss.min(5m)}<100'
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC Smart-UPS RT 1000 XL SNMP:icmpping.max(#3)}=0'
+ -
+ name: 'Input fail cause'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.2.5.0
+ key: 'input.fail[upsAdvInputLineFailCause]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsAdvInputLineFailCause'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Input frequency'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.3.4.0
+ key: 'input.frequency[upsHighPrecInputFrequency]'
+ history: 7d
+ value_type: FLOAT
+ units: Hz
+ description: |
+ MIB: PowerNet-MIB
+ The current input frequency to the UPS system in Hz.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > 0 and ({min({$TIME.PERIOD})} > {$UPS.INPUT_FREQ.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_FREQ.MIN.WARN})'
+ name: 'Unacceptable input frequency (out of range {$UPS.INPUT_FREQ.MIN.WARN}-{$UPS.INPUT_FREQ.MAX.WARN}Hz for {$TIME.PERIOD})'
+ opdata: 'Current frequency: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Input voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.3.1.0
+ key: 'input.voltage[upsHighPrecInputLineVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The current utility line voltage in VAC.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > 0 and ({min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN})'
+ name: 'Unacceptable input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Output current'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.4.0
+ key: 'output.current[upsHighPrecOutputCurrent]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ MIB: PowerNet-MIB
+ The current in amperes drawn by the load on the UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Output load'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.3.0
+ key: 'output.load[upsHighPrecOutputLoad]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ MIB: PowerNet-MIB
+ The current UPS load expressed as percentage
+ of rated capacity.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.OUTPUT.MAX.WARN}'
+ name: 'Output load is high (over {$UPS.OUTPUT.MAX.WARN}% for {$TIME.PERIOD})'
+ opdata: 'Current load: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ description: 'A battery installed has an internal error condition.'
+ -
+ name: 'Output status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.1.1.0
+ key: 'output.status[upsBasicOutputStatus]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=16'
+ name: 'UPS is Emergency Static Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=10'
+ name: 'UPS is Hardware Failure Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=7'
+ name: 'UPS is Off'
+ priority: AVERAGE
+ -
+ expression: '{last()}=3'
+ name: 'UPS is on battery'
+ priority: AVERAGE
+ -
+ expression: '{last()}=4'
+ name: 'UPS is on Smart Boost'
+ priority: AVERAGE
+ -
+ expression: '{last()}=12'
+ name: 'UPS is On Smart Trim'
+ priority: AVERAGE
+ -
+ expression: '{last()}=8'
+ name: 'UPS is Rebooting'
+ priority: AVERAGE
+ -
+ expression: '{last()}=11'
+ name: 'UPS is Sleeping Until Power Return'
+ priority: AVERAGE
+ -
+ expression: '{last()}=6'
+ name: 'UPS is Software Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=9'
+ name: 'UPS is Switched Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=5'
+ name: 'UPS is Timed Sleeping'
+ priority: AVERAGE
+ -
+ name: 'Output voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.1.0
+ key: 'output.voltage[upsHighPrecOutputVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The output voltage of the UPS system in VAC.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'SNMP traps (fallback)'
+ type: SNMP_TRAP
+ key: snmptrap.fallback
+ history: 2w
+ trends: '0'
+ value_type: LOG
+ description: 'Item is used to collect all SNMP traps unmatched by other snmptrap items'
+ applications:
+ -
+ name: General
+ logtimefmt: 'hh:mm:sszyyyy/MM/dd'
+ -
+ name: 'System contact details'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.4.0
+ key: 'system.contact[sysContact.0]'
+ delay: 1h
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: CONTACT
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1d
+ -
+ name: 'System description'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.1.0
+ key: 'system.descr[sysDescr.0]'
+ delay: 1h
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1d
+ -
+ name: 'System location'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.6.0
+ key: 'system.location[sysLocation.0]'
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: LOCATION
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ -
+ name: Model
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.1.1.1.0
+ key: 'system.model[upsBasicIdentModel]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The UPS model name (e.g. 'APC Smart-UPS 600').
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'System name'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.5.0
+ key: system.name
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: NAME
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ triggers:
+ -
+ expression: '{diff()}=1 and {strlen()}>0'
+ name: 'System name has changed (new name: {ITEM.VALUE})'
+ priority: INFO
+ description: 'System name has changed. Ack to close.'
+ manual_close: 'YES'
+ -
+ name: 'System object ID'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.2.0
+ key: 'system.objectid[sysObjectID.0]'
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: SNMPv2-MIB
+ The vendor's authoritative identification of the network management
+ subsystem contained in the entity. This value is allocated within the SMI enterprises
+ subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what
+ kind of box' is being managed. For example, if vendor`Flintstones, Inc.' was
+ assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1
+ to its `Fred Router'.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ -
+ name: 'Serial number'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.1.2.3.0
+ key: 'system.sn[upsAdvIdentSerialNumber]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: Uptime
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.3.0
+ key: 'system.uptime[sysUpTime.0]'
+ delay: 30s
+ history: 2w
+ trends: 0d
+ units: uptime
+ description: |
+ MIB: SNMPv2-MIB
+ The time (in hundredths of a second) since the network management
+ portion of the system was last re-initialized.
+ applications:
+ -
+ name: Status
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.01'
+ triggers:
+ -
+ expression: '{last()}<10m'
+ name: '{HOST.NAME} has been restarted (uptime < 10m)'
+ priority: WARNING
+ description: 'Uptime is less than 10 minutes'
+ manual_close: 'YES'
+ dependencies:
+ -
+ name: 'No SNMP data collection'
+ expression: '{APC Smart-UPS RT 1000 XL SNMP:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0'
+ -
+ name: 'SNMP agent availability'
+ type: INTERNAL
+ key: 'zabbix[host,snmp,available]'
+ history: 7d
+ applications:
+ -
+ name: Status
+ valuemap:
+ name: zabbix.host.available
+ triggers:
+ -
+ expression: '{max({$SNMP.TIMEOUT})}=0'
+ name: 'No SNMP data collection'
+ opdata: 'Current state: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: 'SNMP is not available for polling. Please check device connectivity and SNMP settings.'
+ dependencies:
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC Smart-UPS RT 1000 XL SNMP:icmpping.max(#3)}=0'
+ discovery_rules:
+ -
+ name: 'External bad battery packs discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_PACKS},1.3.6.1.4.1.318.1.1.1.2.2.6]'
+ key: battery.packs.bad.discovery
+ delay: 1h
+ description: 'Discovery of the number of external defective battery packs.'
+ item_prototypes:
+ -
+ name: '{#SNMPINDEX}: External battery packs bad'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.6.0
+ key: 'battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'External battery packs discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#CARTRIDGE_STATUS},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.7,{#BATTERY_PACK},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.1,{#CARTRIDGE_INDEX},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.2]'
+ key: battery.packs.discovery
+ delay: 1h
+ filter:
+ evaltype: AND
+ conditions:
+ -
+ macro: '{#CARTRIDGE_STATUS}'
+ value: ^$
+ operator: NOT_MATCHES_REGEX
+ formulaid: A
+ item_prototypes:
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.8.{#SNMPINDEX}'
+ key: 'battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The battery cartridge estimated battery replace date.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery pack cartridge health'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.7.{#SNMPINDEX}'
+ key: 'battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{regexp("^(0)[0|1]{15}$")}=1'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery lifetime is not okay'
+ opdata: 'Current bit set: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: |
+ 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
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.10.{#SNMPINDEX}'
+ key: 'battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{regexp("^(0{16})$")}=0'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status is not okay'
+ opdata: 'Current bit set: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: |
+ 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
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.5.{#SNMPINDEX}'
+ key: 'battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The battery pack temperature in Celsius.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$BATTERY.TEMP.MAX.WARN}'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD})'
+ opdata: 'Current temperature: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.4.{#SNMPINDEX}'
+ key: 'system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The battery pack serial number.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'External sensor port 1 discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_SENSOR1_NAME},1.3.6.1.4.1.318.1.1.25.1.2.1.3]'
+ key: external.sensor1.discovery
+ delay: 1h
+ description: uioSensorStatusTable
+ item_prototypes:
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Humidity sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.7.1.1
+ key: 'external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor alarm status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.9.1.1
+ key: 'external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ The alarm status of the sensor. Possible values:
+ uioNormal (1),
+ uioWarning (2),
+ uioCritical (3),
+ sensorStatusNotApplicable (4)
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{last()}=3'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical'
+ priority: HIGH
+ description: 'The external sensor has returned a value greater than the critical threshold.'
+ -
+ expression: '{last()}=4'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Not Applicable'
+ priority: INFO
+ description: 'The external sensor does not work or is not connected.'
+ -
+ expression: '{last()}=2'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning'
+ priority: AVERAGE
+ description: 'The external sensor has returned a value greater than the warning threshold.'
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Temperature sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.6.1.1
+ key: 'external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The sensor's current temperature reading in Celsius.
+ -1 indicates an invalid reading due to lost communications.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ overrides:
+ -
+ name: Temp
+ step: '1'
+ filter:
+ conditions:
+ -
+ macro: '{#EXTERNAL_SENSOR1_NAME}'
+ value: Temp
+ formulaid: A
+ operations:
+ -
+ operationobject: ITEM_PROTOTYPE
+ operator: LIKE
+ value: Humidity
+ status: ENABLED
+ discover: NO_DISCOVER
+ -
+ name: 'External sensor port 2 discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_SENSOR2_NAME},1.3.6.1.4.1.318.1.1.25.1.2.2.3]'
+ key: external.sensor2.discovery
+ delay: 1h
+ description: uioSensorStatusTable
+ item_prototypes:
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Humidity sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.7.1.1
+ key: 'external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor alarm status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.9.1.1
+ key: 'external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ The alarm status of the sensor. Possible values:
+ uioNormal (1),
+ uioWarning (2),
+ uioCritical (3),
+ sensorStatusNotApplicable (4)
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{last()}=3'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical'
+ priority: HIGH
+ description: 'The external sensor has returned a value greater than the critical threshold.'
+ -
+ expression: '{last()}=4'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable'
+ priority: INFO
+ description: 'The external sensor does not work or is not connected.'
+ -
+ expression: '{last()}=2'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning'
+ priority: AVERAGE
+ description: 'The external sensor has returned a value greater than the warning threshold.'
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Temperature sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.6.1.1
+ key: 'external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The sensor's current temperature reading in Celsius.
+ -1 indicates an invalid reading due to lost communications.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ overrides:
+ -
+ name: Temp
+ step: '1'
+ filter:
+ conditions:
+ -
+ macro: '{#EXTERNAL_SENSOR2_NAME}'
+ value: Temp
+ formulaid: A
+ operations:
+ -
+ operationobject: ITEM_PROTOTYPE
+ operator: LIKE
+ value: Humidity
+ status: ENABLED
+ discover: NO_DISCOVER
+ -
+ name: 'Input phases discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#PHASEINDEX},1.3.6.1.4.1.318.1.1.1.9.2.3.1.2.1.1]'
+ key: input.phases.discovery
+ delay: 1h
+ description: 'The input phase identifier. OID upsPhaseInputPhaseIndex.1.1'
+ item_prototypes:
+ -
+ name: '{#PHASEINDEX}: Phase input current'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.2.3.1.6.1.1.{#PHASEINDEX}'
+ key: 'phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ MIB: PowerNet-MIB
+ The input current in 0.1 amperes, or -0.1 if it's
+ unsupported by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase input voltage'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.2.3.1.3.1.1.{#PHASEINDEX}'
+ key: 'phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The input voltage in VAC, or -1 if it's unsupported
+ by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}'
+ name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Output phases discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#PHASEINDEX},1.3.6.1.4.1.318.1.1.1.9.3.3.1.2.1.1]'
+ key: output.phases.discovery
+ delay: 1h
+ description: 'The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1'
+ item_prototypes:
+ -
+ name: '{#PHASEINDEX}: Phase output current'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.4.1.1.{#PHASEINDEX}'
+ key: 'phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output load, %'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.10.1.1.{#PHASEINDEX}'
+ key: 'phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output voltage'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.3.1.1.{#PHASEINDEX}'
+ key: 'phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The output voltage in VAC, or -1 if it's unsupported
+ by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}'
+ name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} output voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ macros:
+ -
+ macro: '{$BATTERY.CAPACITY.MIN.WARN}'
+ value: '50'
+ description: 'Minimum battery capacity percentage for trigger expression.'
+ -
+ macro: '{$BATTERY.TEMP.MAX.WARN}'
+ value: '55'
+ description: 'Maximum battery temperature for trigger expression.'
+ -
+ macro: '{$ICMP.LOSS.WARN}'
+ value: '20'
+ -
+ macro: '{$ICMP.RESPONSE_TIME.WARN}'
+ value: '0.15'
+ -
+ macro: '{$SNMP.TIMEOUT}'
+ value: 5m
+ description: 'The time interval for SNMP agent availability trigger expression.'
+ -
+ macro: '{$TIME.PERIOD}'
+ value: 15m
+ description: 'Time period for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_FREQ.MAX.WARN}'
+ value: '50.3'
+ description: 'Maximum input frequency for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_FREQ.MIN.WARN}'
+ value: '49.7'
+ description: 'Minimum input frequency for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_VOLT.MAX.WARN}'
+ value: '243'
+ description: 'Maximum input voltage for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_VOLT.MIN.WARN}'
+ value: '197'
+ description: 'Minimum input voltage for trigger expression.'
+ -
+ macro: '{$UPS.OUTPUT.MAX.WARN}'
+ value: '80'
+ description: 'Maximum output load in % for trigger expression.'
+ valuemaps:
+ -
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ mappings:
+ -
+ value: '1'
+ newvalue: Normal
+ -
+ value: '2'
+ newvalue: Warning
+ -
+ value: '3'
+ newvalue: Critical
+ -
+ value: '4'
+ newvalue: 'Not applicable'
+ -
+ name: 'PowerNet-MIB::upsAdvBatteryReplaceIndicator'
+ mappings:
+ -
+ value: '1'
+ newvalue: 'no Battery Needs Replacing'
+ -
+ value: '2'
+ newvalue: 'battery Needs Replacing'
+ -
+ name: 'PowerNet-MIB::upsAdvInputLineFailCause'
+ mappings:
+ -
+ value: '1'
+ newvalue: 'no Transfer'
+ -
+ value: '2'
+ newvalue: 'High Line Voltage'
+ -
+ value: '3'
+ newvalue: Brownout
+ -
+ value: '4'
+ newvalue: Blackout
+ -
+ value: '5'
+ newvalue: 'Small Momentary Sag'
+ -
+ value: '6'
+ newvalue: 'Deep Momentary Sag'
+ -
+ value: '7'
+ newvalue: 'Small Momentary Spike'
+ -
+ value: '8'
+ newvalue: 'Large Momentary Spike'
+ -
+ value: '9'
+ newvalue: 'Self Test'
+ -
+ value: '10'
+ newvalue: 'Rate of Voltage Change'
+ -
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ mappings:
+ -
+ value: '1'
+ newvalue: Unknown
+ -
+ value: '2'
+ newvalue: Normal
+ -
+ value: '3'
+ newvalue: Low
+ -
+ value: '4'
+ newvalue: 'In Fault Condition'
+ -
+ name: 'Service state'
+ mappings:
+ -
+ value: '0'
+ newvalue: Down
+ -
+ value: '1'
+ newvalue: Up
+ -
+ name: zabbix.host.available
+ mappings:
+ -
+ value: '0'
+ newvalue: 'not available'
+ -
+ value: '1'
+ newvalue: available
+ -
+ value: '2'
+ newvalue: unknown
+ graphs:
+ -
+ name: 'Capacity of the UPS batteries'
+ type: PIE
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC Smart-UPS RT 1000 XL SNMP'
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
+ -
+ name: Output
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC Smart-UPS RT 1000 XL SNMP'
+ key: 'output.current[upsHighPrecOutputCurrent]'
+ -
+ sortorder: '1'
+ color: 2774A4
+ item:
+ host: 'APC Smart-UPS RT 1000 XL SNMP'
+ key: 'output.load[upsHighPrecOutputLoad]'
+ -
+ name: Voltage
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC Smart-UPS RT 1000 XL SNMP'
+ key: 'input.voltage[upsHighPrecInputLineVoltage]'
+ -
+ sortorder: '1'
+ color: 2774A4
+ item:
+ host: 'APC Smart-UPS RT 1000 XL SNMP'
+ key: 'output.voltage[upsHighPrecOutputVoltage]'
diff --git a/templates/power/apc/apc_ups_smart_srt_5000_snmp/README.md b/templates/power/apc/apc_ups_smart_srt_5000_snmp/README.md
new file mode 100644
index 00000000000..35d0824522f
--- /dev/null
+++ b/templates/power/apc/apc_ups_smart_srt_5000_snmp/README.md
@@ -0,0 +1,159 @@
+
+# APC Smart-UPS SRT 5000 SNMP
+
+## Overview
+
+For Zabbix version: 5.4 and higher
+The template to monitor APC Smart-UPS SRT 5000 by Zabbix SNMP agent.
+Note: please, use the latest version of the firmware for your NMC in order for the template to work correctly.
+
+
+
+This template was tested on:
+
+- APC Smart-UPS SRT 5000
+
+## Setup
+
+> See [Zabbix template operation](https://www.zabbix.com/documentation/5.4/manual/config/templates_out_of_the_box/network_devices) for basic instructions.
+
+1\. Create a host for APC Smart-UPS SRT 5000 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} |<p>Minimum battery capacity percentage for trigger expression.</p> |`50` |
+|{$BATTERY.TEMP.MAX.WARN} |<p>Maximum battery temperature for trigger expression.</p> |`55` |
+|{$ICMP.LOSS.WARN} |<p>-</p> |`20` |
+|{$ICMP.RESPONSE_TIME.WARN} |<p>-</p> |`0.15` |
+|{$SNMP.TIMEOUT} |<p>The time interval for SNMP agent availability trigger expression.</p> |`5m` |
+|{$TIME.PERIOD} |<p>Time period for trigger expression.</p> |`15m` |
+|{$UPS.INPUT_FREQ.MAX.WARN} |<p>Maximum input frequency for trigger expression.</p> |`50.3` |
+|{$UPS.INPUT_FREQ.MIN.WARN} |<p>Minimum input frequency for trigger expression.</p> |`49.7` |
+|{$UPS.INPUT_VOLT.MAX.WARN} |<p>Maximum input voltage for trigger expression.</p> |`243` |
+|{$UPS.INPUT_VOLT.MIN.WARN} |<p>Minimum input voltage for trigger expression.</p> |`197` |
+|{$UPS.OUTPUT.MAX.WARN} |<p>Maximum output load in % for trigger expression.</p> |`80` |
+
+## Template links
+
+There are no template links in this template.
+
+## Discovery rules
+
+|Name|Description|Type|Key and additional info|
+|----|-----------|----|----|
+|Input phases discovery |<p>The input phase identifier. OID upsPhaseInputPhaseIndex.1.1</p> |SNMP |input.phases.discovery |
+|Output phases discovery |<p>The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1</p> |SNMP |output.phases.discovery |
+|External battery packs discovery | |SNMP |battery.packs.discovery<p>**Filter**:</p>AND <p>- A: {#CARTRIDGE_STATUS} NOT_MATCHES_REGEX `^$`</p> |
+|External bad battery packs discovery |<p>Discovery of the number of external defective battery packs.</p> |SNMP |battery.packs.bad.discovery |
+|External sensor port 1 discovery |<p>uioSensorStatusTable</p> |SNMP |external.sensor1.discovery |
+|External sensor port 2 discovery |<p>uioSensorStatusTable</p> |SNMP |external.sensor2.discovery |
+
+## Items collected
+
+|Group|Name|Description|Type|Key and additional info|
+|-----|----|-----------|----|---------------------|
+|General |Model |<p>MIB: PowerNet-MIB</p><p>The UPS model name (e.g. 'APC Smart-UPS 600').</p> |SNMP |system.model[upsBasicIdentModel]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Serial number |<p>MIB: PowerNet-MIB</p><p>An 8-character string identifying the serial number of</p><p> the UPS internal microprocessor. This number is set at</p><p> the factory. NOTE: This number does NOT correspond to</p><p> the serial number on the rear of the UPS.</p> |SNMP |system.sn[upsAdvIdentSerialNumber]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery status |<p>MIB: PowerNet-MIB</p><p>The status of the UPS batteries. A batteryLow(3) value</p><p> indicates the UPS will be unable to sustain the current</p><p> load, and its services will be lost if power is not restored.</p><p> The amount of run time in reserve at the time of low battery</p><p> can be configured by the upsAdvConfigLowBatteryRunTime.</p><p> A batteryInFaultCondition(4)value indicates that a battery</p><p> installed has an internal error condition.</p> |SNMP |battery.status[upsBasicBatteryStatus]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery capacity |<p>MIB: PowerNet-MIB</p><p>The remaining battery capacity expressed as</p><p> percentage of full capacity.</p> |SNMP |battery.capacity[upsHighPrecBatteryCapacity]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery runtime remaining |<p>MIB: PowerNet-MIB</p><p>The UPS battery run time remaining before battery</p><p> exhaustion.</p> |SNMP |battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery voltage |<p>MIB: PowerNet-MIB</p><p>The actual battery bus voltage in Volts.</p> |SNMP |battery.voltage[upsHighPrecBatteryActualVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery last replace date |<p>MIB: PowerNet-MIB</p><p>The date when the UPS system's batteries were last replaced</p><p> in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value</p><p> is originally set at the factory. When the UPS batteries</p><p> are replaced, this value should be reset by the administrator.</p><p> For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.</p> |SNMP |battery.last_replace_date[upsBasicBatteryLastReplaceDate]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery replace indicator |<p>MIB: PowerNet-MIB</p><p>Indicates whether the UPS batteries need replacement.</p> |SNMP |battery.replace_indicator[upsAdvBatteryReplaceIndicator]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |External battery packs count |<p>MIB: PowerNet-MIB</p><p>The number of external battery packs connected to the UPS. If</p><p> the UPS does not use smart cells then the agent reports</p><p> ERROR_NO_SUCH_NAME.</p> |SNMP |battery.external_packs_count[upsAdvBatteryNumOfBattPacks]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery temperature |<p>MIB: PowerNet-MIB</p><p>The current internal UPS temperature in Celsius.</p><p> Temperatures below zero read as 0.</p> |SNMP |battery.temperature[upsHighPrecBatteryTemperature]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input voltage |<p>MIB: PowerNet-MIB</p><p>The current utility line voltage in VAC.</p> |SNMP |input.voltage[upsHighPrecInputLineVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input frequency |<p>MIB: PowerNet-MIB</p><p>The current input frequency to the UPS system in Hz.</p> |SNMP |input.frequency[upsHighPrecInputFrequency]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input fail cause |<p>MIB: PowerNet-MIB</p><p>The reason for the occurrence of the last transfer to UPS</p><p>battery power. The variable is set to:</p><p>- noTransfer(1) -- if there is no transfer yet.</p><p>- highLineVoltage(2) -- if the transfer to battery is caused</p><p>by an over voltage greater than the high transfer voltage.</p><p>- brownout(3) -- if the duration of the outage is greater than</p><p>five seconds and the line voltage is between 40% of the</p><p>rated output voltage and the low transfer voltage.</p><p>- blackout(4) -- if the duration of the outage is greater than five</p><p>seconds and the line voltage is between 40% of the rated</p><p>output voltage and ground.</p><p>- smallMomentarySag(5) -- if the duration of the outage is less</p><p>than five seconds and the line voltage is between 40% of the</p><p>rated output voltage and the low transfer voltage.</p><p>- deepMomentarySag(6) -- if the duration of the outage is less</p><p>than five seconds and the line voltage is between 40% of the</p><p>rated output voltage and ground. The variable is set to</p><p>- smallMomentarySpike(7) -- if the line failure is caused by a</p><p>rate of change of input voltage less than ten volts per cycle.</p><p>- largeMomentarySpike(8) -- if the line failure is caused by</p><p>a rate of change of input voltage greater than ten volts per cycle.</p><p>- selfTest(9) -- if the UPS was commanded to do a self test.</p><p>- rateOfVoltageChange(10) -- if the failure is due to the rate of change of</p><p>the line voltage.</p> |SNMP |input.fail[upsAdvInputLineFailCause]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output voltage |<p>MIB: PowerNet-MIB</p><p>The output voltage of the UPS system in VAC.</p> |SNMP |output.voltage[upsHighPrecOutputVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output load |<p>MIB: PowerNet-MIB</p><p>The current UPS load expressed as percentage</p><p>of rated capacity.</p> |SNMP |output.load[upsHighPrecOutputLoad]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output current |<p>MIB: PowerNet-MIB</p><p>The current in amperes drawn by the load on the UPS.</p> |SNMP |output.current[upsHighPrecOutputCurrent]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output status |<p>MIB: PowerNet-MIB</p><p>The current state of the UPS. If the UPS is unable to</p><p> determine the state of the UPS this variable is set</p><p> to unknown(1).</p><p>During self-test most UPSes report onBattery(3) but</p><p> some that support it will report onBatteryTest(15).</p><p> To determine self-test status across all UPSes, refer</p><p> to the upsBasicStateOutputState OID.</p> |SNMP |output.status[upsBasicOutputStatus]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |SNMP traps (fallback) |<p>Item is used to collect all SNMP traps unmatched by other snmptrap items</p> |SNMP_TRAP |snmptrap.fallback |
+|General |System location |<p>MIB: SNMPv2-MIB</p><p>The physical location of this node (e.g., `telephone closet,</p><p>3rd floor'). If the location is unknown, the value is the zero-length string.</p> |SNMP |system.location[sysLocation.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System contact details |<p>MIB: SNMPv2-MIB</p><p>The textual identification of the contact person for this managed</p><p>node, together with information on how to contact this person. If no contact</p><p>information is known, the value is the zero-length string.</p> |SNMP |system.contact[sysContact.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
+|General |System object ID |<p>MIB: SNMPv2-MIB</p><p>The vendor's authoritative identification of the network management</p><p>subsystem contained in the entity. This value is allocated within the SMI enterprises</p><p>subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what</p><p>kind of box' is being managed. For example, if vendor`Flintstones, Inc.' was</p><p>assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1</p><p>to its `Fred Router'.</p> |SNMP |system.objectid[sysObjectID.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System name |<p>MIB: SNMPv2-MIB</p><p>An administratively-assigned name for this managed node.By</p><p>convention, this is the node's fully-qualified domain name. If the name is unknown,</p><p>the value is the zero-length string.</p> |SNMP |system.name<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System description |<p>MIB: SNMPv2-MIB</p><p>A textual description of the entity. This value should</p><p>include the full name and version identification of the system's hardware type, software operating-system, and</p><p>networking software.</p> |SNMP |system.descr[sysDescr.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
+|General |{#PHASEINDEX}: Phase input voltage |<p>MIB: PowerNet-MIB</p><p>The input voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase input current |<p>MIB: PowerNet-MIB</p><p>The input current in 0.1 amperes, or -0.1 if it's</p><p> unsupported by this UPS.</p> |SNMP |phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output voltage |<p>MIB: PowerNet-MIB</p><p>The output voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output current |<p>MIB: PowerNet-MIB</p><p>The output current in 0.1 amperes drawn</p><p> by the load on the UPS, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output load, % |<p>MIB: PowerNet-MIB</p><p>The percentage of the UPS load capacity in VA at</p><p> redundancy @ (n + x) presently being used on this</p><p> output phase, or -1 if it's unsupported by this UPS.</p> |SNMP |phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status |<p>MIB: PowerNet-MIB</p><p>The battery cartridge status.</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |SNMP |battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature |<p>MIB: PowerNet-MIB</p><p>The battery pack temperature in Celsius.</p> |SNMP |battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number |<p>MIB: PowerNet-MIB</p><p>The battery pack serial number.</p> |SNMP |system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date |<p>MIB: PowerNet-MIB</p><p>The battery cartridge estimated battery replace date.</p> |SNMP |battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery pack cartridge health |<p>MIB: PowerNet-MIB</p><p>The battery cartridge health.</p><p> bit 0 Battery lifetime okay</p><p> bit 1 Battery lifetime near end, order replacement cartridge</p><p> bit 2 Battery lifetime exceeded, replace battery</p><p> bit 3 Battery lifetime near end acknowledged, order replacement cartridge</p><p> bit 4 Battery lifetime exceeded acknowledged, replace battery</p><p> bit 5 Battery measured lifetime near end, order replacement cartridge</p><p> bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge</p> |SNMP |battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#SNMPINDEX}: External battery packs bad |<p>MIB: PowerNet-MIB</p><p>The number of external battery packs connected to the UPS that</p><p>are defective. If the UPS does not use smart cells then the</p><p>agent reports ERROR_NO_SUCH_NAME.</p> |SNMP |battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Temperature sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current temperature reading in Celsius.</p><p> -1 indicates an invalid reading due to lost communications.</p> |SNMP |external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Humidity sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current humidity reading - a relative humidity</p><p> percentage. -1 indicates an invalid reading due to either a</p><p> sensor that doesn't read humidity or lost communications.</p> |SNMP |external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Sensor alarm status |<p>MIB: PowerNet-MIB</p><p>The alarm status of the sensor. Possible values:</p><p>uioNormal (1),</p><p>uioWarning (2),</p><p>uioCritical (3),</p><p>sensorStatusNotApplicable (4)</p> |SNMP |external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Temperature sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current temperature reading in Celsius.</p><p> -1 indicates an invalid reading due to lost communications.</p> |SNMP |external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Humidity sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current humidity reading - a relative humidity</p><p> percentage. -1 indicates an invalid reading due to either a</p><p> sensor that doesn't read humidity or lost communications.</p> |SNMP |external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Sensor alarm status |<p>MIB: PowerNet-MIB</p><p>The alarm status of the sensor. Possible values:</p><p>uioNormal (1),</p><p>uioWarning (2),</p><p>uioCritical (3),</p><p>sensorStatusNotApplicable (4)</p> |SNMP |external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|Status |Uptime |<p>MIB: SNMPv2-MIB</p><p>The time (in hundredths of a second) since the network management</p><p>portion of the system was last re-initialized.</p> |SNMP |system.uptime[sysUpTime.0]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p> |
+|Status |SNMP agent availability |<p>-</p> |INTERNAL |zabbix[host,snmp,available] |
+|Status |ICMP ping |<p>-</p> |SIMPLE |icmpping |
+|Status |ICMP loss |<p>-</p> |SIMPLE |icmppingloss |
+|Status |ICMP response time |<p>-</p> |SIMPLE |icmppingsec |
+
+## Triggers
+
+|Name|Description|Expression|Severity|Dependencies and additional info|
+|----|-----------|----|----|----|
+|Battery has an internal error condition |<p>A battery installed has an internal error condition.</p> |`{TEMPLATE_NAME:battery.status[upsBasicBatteryStatus].last()}=4` |AVERAGE | |
+|Battery is Low |<p>The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.</p> |`{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 |<p>A battery installed has an internal error condition.</p> |`{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}) |<p>A battery installed has an internal error condition.</p> |`{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 | |
+|System name has changed (new name: {ITEM.VALUE}) |<p>System name has changed. Ack to close.</p> |`{TEMPLATE_NAME:system.name.diff()}=1 and {TEMPLATE_NAME:system.name.strlen()}>0` |INFO |<p>Manual close: YES</p> |
+|{#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 |<p>The battery cartridge status:</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |`{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 |<p>The battery cartridge health.</p><p> bit 0 Battery lifetime okay</p><p> bit 1 Battery lifetime near end, order replacement cartridge</p><p> bit 2 Battery lifetime exceeded, replace battery</p><p> bit 3 Battery lifetime near end acknowledged, order replacement cartridge</p><p> bit 4 Battery lifetime exceeded acknowledged, replace battery</p><p> bit 5 Battery measured lifetime near end, order replacement cartridge</p><p> bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge</p> |`{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 |<p>The external sensor does not work or is not connected.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=4` |INFO | |
+|{#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning |<p>The external sensor has returned a value greater than the warning threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=2` |AVERAGE | |
+|{#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical |<p>The external sensor has returned a value greater than the critical threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=3` |HIGH | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable |<p>The external sensor does not work or is not connected.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=4` |INFO | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning |<p>The external sensor has returned a value greater than the warning threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=2` |AVERAGE | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical |<p>The external sensor has returned a value greater than the critical threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=3` |HIGH | |
+|{HOST.NAME} has been restarted (uptime < 10m) |<p>Uptime is less than 10 minutes</p> |`{TEMPLATE_NAME:system.uptime[sysUpTime.0].last()}<10m` |WARNING |<p>Manual close: YES</p><p>**Depends on**:</p><p>- No SNMP data collection</p> |
+|No SNMP data collection |<p>SNMP is not available for polling. Please check device connectivity and SNMP settings.</p> |`{TEMPLATE_NAME:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0` |WARNING |<p>**Depends on**:</p><p>- Unavailable by ICMP ping</p> |
+|Unavailable by ICMP ping |<p>Last three attempts returned timeout. Please check device connectivity.</p> |`{TEMPLATE_NAME:icmpping.max(#3)}=0` |HIGH | |
+|High ICMP ping loss |<p>-</p> |`{TEMPLATE_NAME:icmppingloss.min(5m)}>{$ICMP.LOSS.WARN} and {TEMPLATE_NAME:icmppingloss.min(5m)}<100` |WARNING |<p>**Depends on**:</p><p>- Unavailable by ICMP ping</p> |
+|High ICMP ping response time |<p>-</p> |`{TEMPLATE_NAME:icmppingsec.avg(5m)}>{$ICMP.RESPONSE_TIME.WARN}` |WARNING |<p>**Depends on**:</p><p>- High ICMP ping loss</p><p>- Unavailable by ICMP ping</p> |
+
+## 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](https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups).
+
diff --git a/templates/power/apc/apc_ups_smart_srt_5000_snmp/template_power_apc_ups_smart_srt_5000_snmp.yaml b/templates/power/apc/apc_ups_smart_srt_5000_snmp/template_power_apc_ups_smart_srt_5000_snmp.yaml
new file mode 100644
index 00000000000..9f46932322b
--- /dev/null
+++ b/templates/power/apc/apc_ups_smart_srt_5000_snmp/template_power_apc_ups_smart_srt_5000_snmp.yaml
@@ -0,0 +1,1498 @@
+zabbix_export:
+ version: '5.4'
+ date: '2021-03-24T17:31:32Z'
+ groups:
+ -
+ name: Templates/Power
+ templates:
+ -
+ template: 'APC Smart-UPS SRT 5000 SNMP'
+ name: 'APC Smart-UPS SRT 5000 SNMP'
+ description: |
+ Template Power APC Smart-UPS SRT 5000
+
+ MIBs used:
+ PowerNet-MIB
+ SNMPv2-MIB
+
+ You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
+
+ Template tooling version used: 0.38
+ groups:
+ -
+ name: Templates/Power
+ applications:
+ -
+ name: General
+ -
+ name: Status
+ items:
+ -
+ name: 'Battery capacity'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.1.0
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ MIB: PowerNet-MIB
+ The remaining battery capacity expressed as
+ percentage of full capacity.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()} < {$BATTERY.CAPACITY.MIN.WARN}'
+ name: 'Battery has low capacity (below {$BATTERY.CAPACITY.MIN.WARN}%)'
+ opdata: 'Current capacity: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'External battery packs count'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.5.0
+ key: 'battery.external_packs_count[upsAdvBatteryNumOfBattPacks]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery last replace date'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.1.3.0
+ key: 'battery.last_replace_date[upsBasicBatteryLastReplaceDate]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery replace indicator'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.4.0
+ key: 'battery.replace_indicator[upsAdvBatteryReplaceIndicator]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ Indicates whether the UPS batteries need replacement.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsAdvBatteryReplaceIndicator'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=2'
+ name: 'Battery needs replacement'
+ priority: HIGH
+ description: 'A battery installed has an internal error condition.'
+ -
+ name: 'Battery runtime remaining'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.3.0
+ key: 'battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]'
+ history: 7d
+ value_type: FLOAT
+ units: s
+ description: |
+ MIB: PowerNet-MIB
+ The UPS battery run time remaining before battery
+ exhaustion.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.01'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.1.1.0
+ key: 'battery.status[upsBasicBatteryStatus]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=4'
+ name: 'Battery has an internal error condition'
+ priority: AVERAGE
+ description: 'A battery installed has an internal error condition.'
+ -
+ expression: '{last()}=3'
+ name: 'Battery is Low'
+ priority: AVERAGE
+ description: 'The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.'
+ -
+ name: 'Battery temperature'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.2.0
+ key: 'battery.temperature[upsHighPrecBatteryTemperature]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The current internal UPS temperature in Celsius.
+ Temperatures below zero read as 0.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$BATTERY.TEMP.MAX.WARN}'
+ name: 'Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD})'
+ opdata: 'Current temperature: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Battery voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.4.0
+ key: 'battery.voltage[upsHighPrecBatteryActualVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The actual battery bus voltage in Volts.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'ICMP ping'
+ type: SIMPLE
+ key: icmpping
+ history: 1w
+ applications:
+ -
+ name: Status
+ valuemap:
+ name: 'Service state'
+ triggers:
+ -
+ expression: '{max(#3)}=0'
+ name: 'Unavailable by ICMP ping'
+ priority: HIGH
+ description: 'Last three attempts returned timeout. Please check device connectivity.'
+ -
+ name: 'ICMP loss'
+ type: SIMPLE
+ key: icmppingloss
+ history: 1w
+ value_type: FLOAT
+ units: '%'
+ applications:
+ -
+ name: Status
+ triggers:
+ -
+ expression: '{min(5m)}>{$ICMP.LOSS.WARN} and {min(5m)}<100'
+ name: 'High ICMP ping loss'
+ opdata: 'Loss: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ dependencies:
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC Smart-UPS SRT 5000 SNMP:icmpping.max(#3)}=0'
+ -
+ name: 'ICMP response time'
+ type: SIMPLE
+ key: icmppingsec
+ history: 1w
+ value_type: FLOAT
+ units: s
+ applications:
+ -
+ name: Status
+ triggers:
+ -
+ expression: '{avg(5m)}>{$ICMP.RESPONSE_TIME.WARN}'
+ name: 'High ICMP ping response time'
+ opdata: 'Value: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ dependencies:
+ -
+ name: 'High ICMP ping loss'
+ expression: '{APC Smart-UPS SRT 5000 SNMP:icmppingloss.min(5m)}>{$ICMP.LOSS.WARN} and {APC Smart-UPS SRT 5000 SNMP:icmppingloss.min(5m)}<100'
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC Smart-UPS SRT 5000 SNMP:icmpping.max(#3)}=0'
+ -
+ name: 'Input fail cause'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.2.5.0
+ key: 'input.fail[upsAdvInputLineFailCause]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsAdvInputLineFailCause'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Input frequency'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.3.4.0
+ key: 'input.frequency[upsHighPrecInputFrequency]'
+ history: 7d
+ value_type: FLOAT
+ units: Hz
+ description: |
+ MIB: PowerNet-MIB
+ The current input frequency to the UPS system in Hz.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > 0 and ({min({$TIME.PERIOD})} > {$UPS.INPUT_FREQ.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_FREQ.MIN.WARN})'
+ name: 'Unacceptable input frequency (out of range {$UPS.INPUT_FREQ.MIN.WARN}-{$UPS.INPUT_FREQ.MAX.WARN}Hz for {$TIME.PERIOD})'
+ opdata: 'Current frequency: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Input voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.3.1.0
+ key: 'input.voltage[upsHighPrecInputLineVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The current utility line voltage in VAC.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > 0 and ({min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN})'
+ name: 'Unacceptable input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Output current'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.4.0
+ key: 'output.current[upsHighPrecOutputCurrent]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ MIB: PowerNet-MIB
+ The current in amperes drawn by the load on the UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Output load'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.3.0
+ key: 'output.load[upsHighPrecOutputLoad]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ MIB: PowerNet-MIB
+ The current UPS load expressed as percentage
+ of rated capacity.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.OUTPUT.MAX.WARN}'
+ name: 'Output load is high (over {$UPS.OUTPUT.MAX.WARN}% for {$TIME.PERIOD})'
+ opdata: 'Current load: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ description: 'A battery installed has an internal error condition.'
+ -
+ name: 'Output status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.1.1.0
+ key: 'output.status[upsBasicOutputStatus]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=16'
+ name: 'UPS is Emergency Static Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=10'
+ name: 'UPS is Hardware Failure Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=7'
+ name: 'UPS is Off'
+ priority: AVERAGE
+ -
+ expression: '{last()}=3'
+ name: 'UPS is on battery'
+ priority: AVERAGE
+ -
+ expression: '{last()}=4'
+ name: 'UPS is on Smart Boost'
+ priority: AVERAGE
+ -
+ expression: '{last()}=12'
+ name: 'UPS is On Smart Trim'
+ priority: AVERAGE
+ -
+ expression: '{last()}=8'
+ name: 'UPS is Rebooting'
+ priority: AVERAGE
+ -
+ expression: '{last()}=11'
+ name: 'UPS is Sleeping Until Power Return'
+ priority: AVERAGE
+ -
+ expression: '{last()}=6'
+ name: 'UPS is Software Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=9'
+ name: 'UPS is Switched Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=5'
+ name: 'UPS is Timed Sleeping'
+ priority: AVERAGE
+ -
+ name: 'Output voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.1.0
+ key: 'output.voltage[upsHighPrecOutputVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The output voltage of the UPS system in VAC.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'SNMP traps (fallback)'
+ type: SNMP_TRAP
+ key: snmptrap.fallback
+ history: 2w
+ trends: '0'
+ value_type: LOG
+ description: 'Item is used to collect all SNMP traps unmatched by other snmptrap items'
+ applications:
+ -
+ name: General
+ logtimefmt: 'hh:mm:sszyyyy/MM/dd'
+ -
+ name: 'System contact details'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.4.0
+ key: 'system.contact[sysContact.0]'
+ delay: 1h
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: CONTACT
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1d
+ -
+ name: 'System description'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.1.0
+ key: 'system.descr[sysDescr.0]'
+ delay: 1h
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1d
+ -
+ name: 'System location'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.6.0
+ key: 'system.location[sysLocation.0]'
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: LOCATION
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ -
+ name: Model
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.1.1.1.0
+ key: 'system.model[upsBasicIdentModel]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The UPS model name (e.g. 'APC Smart-UPS 600').
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'System name'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.5.0
+ key: system.name
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: NAME
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ triggers:
+ -
+ expression: '{diff()}=1 and {strlen()}>0'
+ name: 'System name has changed (new name: {ITEM.VALUE})'
+ priority: INFO
+ description: 'System name has changed. Ack to close.'
+ manual_close: 'YES'
+ -
+ name: 'System object ID'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.2.0
+ key: 'system.objectid[sysObjectID.0]'
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: SNMPv2-MIB
+ The vendor's authoritative identification of the network management
+ subsystem contained in the entity. This value is allocated within the SMI enterprises
+ subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what
+ kind of box' is being managed. For example, if vendor`Flintstones, Inc.' was
+ assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1
+ to its `Fred Router'.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ -
+ name: 'Serial number'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.1.2.3.0
+ key: 'system.sn[upsAdvIdentSerialNumber]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: Uptime
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.3.0
+ key: 'system.uptime[sysUpTime.0]'
+ delay: 30s
+ history: 2w
+ trends: 0d
+ units: uptime
+ description: |
+ MIB: SNMPv2-MIB
+ The time (in hundredths of a second) since the network management
+ portion of the system was last re-initialized.
+ applications:
+ -
+ name: Status
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.01'
+ triggers:
+ -
+ expression: '{last()}<10m'
+ name: '{HOST.NAME} has been restarted (uptime < 10m)'
+ priority: WARNING
+ description: 'Uptime is less than 10 minutes'
+ manual_close: 'YES'
+ dependencies:
+ -
+ name: 'No SNMP data collection'
+ expression: '{APC Smart-UPS SRT 5000 SNMP:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0'
+ -
+ name: 'SNMP agent availability'
+ type: INTERNAL
+ key: 'zabbix[host,snmp,available]'
+ history: 7d
+ applications:
+ -
+ name: Status
+ valuemap:
+ name: zabbix.host.available
+ triggers:
+ -
+ expression: '{max({$SNMP.TIMEOUT})}=0'
+ name: 'No SNMP data collection'
+ opdata: 'Current state: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: 'SNMP is not available for polling. Please check device connectivity and SNMP settings.'
+ dependencies:
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC Smart-UPS SRT 5000 SNMP:icmpping.max(#3)}=0'
+ discovery_rules:
+ -
+ name: 'External bad battery packs discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_PACKS},1.3.6.1.4.1.318.1.1.1.2.2.6]'
+ key: battery.packs.bad.discovery
+ delay: 1h
+ description: 'Discovery of the number of external defective battery packs.'
+ item_prototypes:
+ -
+ name: '{#SNMPINDEX}: External battery packs bad'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.6.0
+ key: 'battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'External battery packs discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#CARTRIDGE_STATUS},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.7,{#BATTERY_PACK},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.1,{#CARTRIDGE_INDEX},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.2]'
+ key: battery.packs.discovery
+ delay: 1h
+ filter:
+ evaltype: AND
+ conditions:
+ -
+ macro: '{#CARTRIDGE_STATUS}'
+ value: ^$
+ operator: NOT_MATCHES_REGEX
+ formulaid: A
+ item_prototypes:
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.8.{#SNMPINDEX}'
+ key: 'battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The battery cartridge estimated battery replace date.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery pack cartridge health'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.7.{#SNMPINDEX}'
+ key: 'battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{regexp("^(0)[0|1]{15}$")}=1'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery lifetime is not okay'
+ opdata: 'Current bit set: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: |
+ 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
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.10.{#SNMPINDEX}'
+ key: 'battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{regexp("^(0{16})$")}=0'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status is not okay'
+ opdata: 'Current bit set: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: |
+ 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
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.5.{#SNMPINDEX}'
+ key: 'battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The battery pack temperature in Celsius.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$BATTERY.TEMP.MAX.WARN}'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD})'
+ opdata: 'Current temperature: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.4.{#SNMPINDEX}'
+ key: 'system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The battery pack serial number.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'External sensor port 1 discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_SENSOR1_NAME},1.3.6.1.4.1.318.1.1.25.1.2.1.3]'
+ key: external.sensor1.discovery
+ delay: 1h
+ description: uioSensorStatusTable
+ item_prototypes:
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Humidity sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.7.1.1
+ key: 'external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor alarm status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.9.1.1
+ key: 'external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ The alarm status of the sensor. Possible values:
+ uioNormal (1),
+ uioWarning (2),
+ uioCritical (3),
+ sensorStatusNotApplicable (4)
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{last()}=3'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical'
+ priority: HIGH
+ description: 'The external sensor has returned a value greater than the critical threshold.'
+ -
+ expression: '{last()}=4'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Not Applicable'
+ priority: INFO
+ description: 'The external sensor does not work or is not connected.'
+ -
+ expression: '{last()}=2'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning'
+ priority: AVERAGE
+ description: 'The external sensor has returned a value greater than the warning threshold.'
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Temperature sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.6.1.1
+ key: 'external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The sensor's current temperature reading in Celsius.
+ -1 indicates an invalid reading due to lost communications.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ overrides:
+ -
+ name: Temp
+ step: '1'
+ filter:
+ conditions:
+ -
+ macro: '{#EXTERNAL_SENSOR1_NAME}'
+ value: Temp
+ formulaid: A
+ operations:
+ -
+ operationobject: ITEM_PROTOTYPE
+ operator: LIKE
+ value: Humidity
+ status: ENABLED
+ discover: NO_DISCOVER
+ -
+ name: 'External sensor port 2 discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_SENSOR2_NAME},1.3.6.1.4.1.318.1.1.25.1.2.2.3]'
+ key: external.sensor2.discovery
+ delay: 1h
+ description: uioSensorStatusTable
+ item_prototypes:
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Humidity sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.7.1.1
+ key: 'external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor alarm status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.9.1.1
+ key: 'external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ The alarm status of the sensor. Possible values:
+ uioNormal (1),
+ uioWarning (2),
+ uioCritical (3),
+ sensorStatusNotApplicable (4)
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{last()}=3'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical'
+ priority: HIGH
+ description: 'The external sensor has returned a value greater than the critical threshold.'
+ -
+ expression: '{last()}=4'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable'
+ priority: INFO
+ description: 'The external sensor does not work or is not connected.'
+ -
+ expression: '{last()}=2'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning'
+ priority: AVERAGE
+ description: 'The external sensor has returned a value greater than the warning threshold.'
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Temperature sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.6.1.1
+ key: 'external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The sensor's current temperature reading in Celsius.
+ -1 indicates an invalid reading due to lost communications.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ overrides:
+ -
+ name: Temp
+ step: '1'
+ filter:
+ conditions:
+ -
+ macro: '{#EXTERNAL_SENSOR2_NAME}'
+ value: Temp
+ formulaid: A
+ operations:
+ -
+ operationobject: ITEM_PROTOTYPE
+ operator: LIKE
+ value: Humidity
+ status: ENABLED
+ discover: NO_DISCOVER
+ -
+ name: 'Input phases discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#PHASEINDEX},1.3.6.1.4.1.318.1.1.1.9.2.3.1.2.1.1]'
+ key: input.phases.discovery
+ delay: 1h
+ description: 'The input phase identifier. OID upsPhaseInputPhaseIndex.1.1'
+ item_prototypes:
+ -
+ name: '{#PHASEINDEX}: Phase input current'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.2.3.1.6.1.1.{#PHASEINDEX}'
+ key: 'phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ MIB: PowerNet-MIB
+ The input current in 0.1 amperes, or -0.1 if it's
+ unsupported by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase input voltage'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.2.3.1.3.1.1.{#PHASEINDEX}'
+ key: 'phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The input voltage in VAC, or -1 if it's unsupported
+ by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}'
+ name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Output phases discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#PHASEINDEX},1.3.6.1.4.1.318.1.1.1.9.3.3.1.2.1.1]'
+ key: output.phases.discovery
+ delay: 1h
+ description: 'The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1'
+ item_prototypes:
+ -
+ name: '{#PHASEINDEX}: Phase output current'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.4.1.1.{#PHASEINDEX}'
+ key: 'phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output load, %'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.10.1.1.{#PHASEINDEX}'
+ key: 'phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output voltage'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.3.1.1.{#PHASEINDEX}'
+ key: 'phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The output voltage in VAC, or -1 if it's unsupported
+ by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}'
+ name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} output voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ macros:
+ -
+ macro: '{$BATTERY.CAPACITY.MIN.WARN}'
+ value: '50'
+ description: 'Minimum battery capacity percentage for trigger expression.'
+ -
+ macro: '{$BATTERY.TEMP.MAX.WARN}'
+ value: '55'
+ description: 'Maximum battery temperature for trigger expression.'
+ -
+ macro: '{$ICMP.LOSS.WARN}'
+ value: '20'
+ -
+ macro: '{$ICMP.RESPONSE_TIME.WARN}'
+ value: '0.15'
+ -
+ macro: '{$SNMP.TIMEOUT}'
+ value: 5m
+ description: 'The time interval for SNMP agent availability trigger expression.'
+ -
+ macro: '{$TIME.PERIOD}'
+ value: 15m
+ description: 'Time period for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_FREQ.MAX.WARN}'
+ value: '50.3'
+ description: 'Maximum input frequency for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_FREQ.MIN.WARN}'
+ value: '49.7'
+ description: 'Minimum input frequency for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_VOLT.MAX.WARN}'
+ value: '243'
+ description: 'Maximum input voltage for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_VOLT.MIN.WARN}'
+ value: '197'
+ description: 'Minimum input voltage for trigger expression.'
+ -
+ macro: '{$UPS.OUTPUT.MAX.WARN}'
+ value: '80'
+ description: 'Maximum output load in % for trigger expression.'
+ valuemaps:
+ -
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ mappings:
+ -
+ value: '1'
+ newvalue: Normal
+ -
+ value: '2'
+ newvalue: Warning
+ -
+ value: '3'
+ newvalue: Critical
+ -
+ value: '4'
+ newvalue: 'Not applicable'
+ -
+ name: 'PowerNet-MIB::upsAdvBatteryReplaceIndicator'
+ mappings:
+ -
+ value: '1'
+ newvalue: 'no Battery Needs Replacing'
+ -
+ value: '2'
+ newvalue: 'battery Needs Replacing'
+ -
+ name: 'PowerNet-MIB::upsAdvInputLineFailCause'
+ mappings:
+ -
+ value: '1'
+ newvalue: 'no Transfer'
+ -
+ value: '2'
+ newvalue: 'High Line Voltage'
+ -
+ value: '3'
+ newvalue: Brownout
+ -
+ value: '4'
+ newvalue: Blackout
+ -
+ value: '5'
+ newvalue: 'Small Momentary Sag'
+ -
+ value: '6'
+ newvalue: 'Deep Momentary Sag'
+ -
+ value: '7'
+ newvalue: 'Small Momentary Spike'
+ -
+ value: '8'
+ newvalue: 'Large Momentary Spike'
+ -
+ value: '9'
+ newvalue: 'Self Test'
+ -
+ value: '10'
+ newvalue: 'Rate of Voltage Change'
+ -
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ mappings:
+ -
+ value: '1'
+ newvalue: Unknown
+ -
+ value: '2'
+ newvalue: Normal
+ -
+ value: '3'
+ newvalue: Low
+ -
+ value: '4'
+ newvalue: 'In Fault Condition'
+ -
+ name: 'Service state'
+ mappings:
+ -
+ value: '0'
+ newvalue: Down
+ -
+ value: '1'
+ newvalue: Up
+ -
+ name: zabbix.host.available
+ mappings:
+ -
+ value: '0'
+ newvalue: 'not available'
+ -
+ value: '1'
+ newvalue: available
+ -
+ value: '2'
+ newvalue: unknown
+ graphs:
+ -
+ name: 'Capacity of the UPS batteries'
+ type: PIE
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC Smart-UPS SRT 5000 SNMP'
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
+ -
+ name: Output
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC Smart-UPS SRT 5000 SNMP'
+ key: 'output.current[upsHighPrecOutputCurrent]'
+ -
+ sortorder: '1'
+ color: 2774A4
+ item:
+ host: 'APC Smart-UPS SRT 5000 SNMP'
+ key: 'output.load[upsHighPrecOutputLoad]'
+ -
+ name: Voltage
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC Smart-UPS SRT 5000 SNMP'
+ key: 'input.voltage[upsHighPrecInputLineVoltage]'
+ -
+ sortorder: '1'
+ color: 2774A4
+ item:
+ host: 'APC Smart-UPS SRT 5000 SNMP'
+ key: 'output.voltage[upsHighPrecOutputVoltage]'
diff --git a/templates/power/apc/apc_ups_smart_srt_8000_snmp/README.md b/templates/power/apc/apc_ups_smart_srt_8000_snmp/README.md
new file mode 100644
index 00000000000..f98b9c582f2
--- /dev/null
+++ b/templates/power/apc/apc_ups_smart_srt_8000_snmp/README.md
@@ -0,0 +1,159 @@
+
+# APC Smart-UPS SRT 8000 SNMP
+
+## Overview
+
+For Zabbix version: 5.4 and higher
+The template to monitor APC Smart-UPS SRT 8000 by Zabbix SNMP agent.
+Note: please, use the latest version of the firmware for your NMC in order for the template to work correctly.
+
+
+
+This template was tested on:
+
+- APC Smart-UPS SRT 8000
+
+## Setup
+
+> See [Zabbix template operation](https://www.zabbix.com/documentation/5.4/manual/config/templates_out_of_the_box/network_devices) for basic instructions.
+
+1\. Create a host for APC Smart-UPS SRT 8000 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} |<p>Minimum battery capacity percentage for trigger expression.</p> |`50` |
+|{$BATTERY.TEMP.MAX.WARN} |<p>Maximum battery temperature for trigger expression.</p> |`55` |
+|{$ICMP.LOSS.WARN} |<p>-</p> |`20` |
+|{$ICMP.RESPONSE_TIME.WARN} |<p>-</p> |`0.15` |
+|{$SNMP.TIMEOUT} |<p>The time interval for SNMP agent availability trigger expression.</p> |`5m` |
+|{$TIME.PERIOD} |<p>Time period for trigger expression.</p> |`15m` |
+|{$UPS.INPUT_FREQ.MAX.WARN} |<p>Maximum input frequency for trigger expression.</p> |`50.3` |
+|{$UPS.INPUT_FREQ.MIN.WARN} |<p>Minimum input frequency for trigger expression.</p> |`49.7` |
+|{$UPS.INPUT_VOLT.MAX.WARN} |<p>Maximum input voltage for trigger expression.</p> |`243` |
+|{$UPS.INPUT_VOLT.MIN.WARN} |<p>Minimum input voltage for trigger expression.</p> |`197` |
+|{$UPS.OUTPUT.MAX.WARN} |<p>Maximum output load in % for trigger expression.</p> |`80` |
+
+## Template links
+
+There are no template links in this template.
+
+## Discovery rules
+
+|Name|Description|Type|Key and additional info|
+|----|-----------|----|----|
+|Input phases discovery |<p>The input phase identifier. OID upsPhaseInputPhaseIndex.1.1</p> |SNMP |input.phases.discovery |
+|Output phases discovery |<p>The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1</p> |SNMP |output.phases.discovery |
+|External battery packs discovery | |SNMP |battery.packs.discovery<p>**Filter**:</p>AND <p>- A: {#CARTRIDGE_STATUS} NOT_MATCHES_REGEX `^$`</p> |
+|External bad battery packs discovery |<p>Discovery of the number of external defective battery packs.</p> |SNMP |battery.packs.bad.discovery |
+|External sensor port 1 discovery |<p>uioSensorStatusTable</p> |SNMP |external.sensor1.discovery |
+|External sensor port 2 discovery |<p>uioSensorStatusTable</p> |SNMP |external.sensor2.discovery |
+
+## Items collected
+
+|Group|Name|Description|Type|Key and additional info|
+|-----|----|-----------|----|---------------------|
+|General |Model |<p>MIB: PowerNet-MIB</p><p>The UPS model name (e.g. 'APC Smart-UPS 600').</p> |SNMP |system.model[upsBasicIdentModel]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Serial number |<p>MIB: PowerNet-MIB</p><p>An 8-character string identifying the serial number of</p><p> the UPS internal microprocessor. This number is set at</p><p> the factory. NOTE: This number does NOT correspond to</p><p> the serial number on the rear of the UPS.</p> |SNMP |system.sn[upsAdvIdentSerialNumber]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery status |<p>MIB: PowerNet-MIB</p><p>The status of the UPS batteries. A batteryLow(3) value</p><p> indicates the UPS will be unable to sustain the current</p><p> load, and its services will be lost if power is not restored.</p><p> The amount of run time in reserve at the time of low battery</p><p> can be configured by the upsAdvConfigLowBatteryRunTime.</p><p> A batteryInFaultCondition(4)value indicates that a battery</p><p> installed has an internal error condition.</p> |SNMP |battery.status[upsBasicBatteryStatus]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery capacity |<p>MIB: PowerNet-MIB</p><p>The remaining battery capacity expressed as</p><p> percentage of full capacity.</p> |SNMP |battery.capacity[upsHighPrecBatteryCapacity]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery runtime remaining |<p>MIB: PowerNet-MIB</p><p>The UPS battery run time remaining before battery</p><p> exhaustion.</p> |SNMP |battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery voltage |<p>MIB: PowerNet-MIB</p><p>The actual battery bus voltage in Volts.</p> |SNMP |battery.voltage[upsHighPrecBatteryActualVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery last replace date |<p>MIB: PowerNet-MIB</p><p>The date when the UPS system's batteries were last replaced</p><p> in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value</p><p> is originally set at the factory. When the UPS batteries</p><p> are replaced, this value should be reset by the administrator.</p><p> For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.</p> |SNMP |battery.last_replace_date[upsBasicBatteryLastReplaceDate]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery replace indicator |<p>MIB: PowerNet-MIB</p><p>Indicates whether the UPS batteries need replacement.</p> |SNMP |battery.replace_indicator[upsAdvBatteryReplaceIndicator]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |External battery packs count |<p>MIB: PowerNet-MIB</p><p>The number of external battery packs connected to the UPS. If</p><p> the UPS does not use smart cells then the agent reports</p><p> ERROR_NO_SUCH_NAME.</p> |SNMP |battery.external_packs_count[upsAdvBatteryNumOfBattPacks]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery temperature |<p>MIB: PowerNet-MIB</p><p>The current internal UPS temperature in Celsius.</p><p> Temperatures below zero read as 0.</p> |SNMP |battery.temperature[upsHighPrecBatteryTemperature]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input voltage |<p>MIB: PowerNet-MIB</p><p>The current utility line voltage in VAC.</p> |SNMP |input.voltage[upsHighPrecInputLineVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input frequency |<p>MIB: PowerNet-MIB</p><p>The current input frequency to the UPS system in Hz.</p> |SNMP |input.frequency[upsHighPrecInputFrequency]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input fail cause |<p>MIB: PowerNet-MIB</p><p>The reason for the occurrence of the last transfer to UPS</p><p>battery power. The variable is set to:</p><p>- noTransfer(1) -- if there is no transfer yet.</p><p>- highLineVoltage(2) -- if the transfer to battery is caused</p><p>by an over voltage greater than the high transfer voltage.</p><p>- brownout(3) -- if the duration of the outage is greater than</p><p>five seconds and the line voltage is between 40% of the</p><p>rated output voltage and the low transfer voltage.</p><p>- blackout(4) -- if the duration of the outage is greater than five</p><p>seconds and the line voltage is between 40% of the rated</p><p>output voltage and ground.</p><p>- smallMomentarySag(5) -- if the duration of the outage is less</p><p>than five seconds and the line voltage is between 40% of the</p><p>rated output voltage and the low transfer voltage.</p><p>- deepMomentarySag(6) -- if the duration of the outage is less</p><p>than five seconds and the line voltage is between 40% of the</p><p>rated output voltage and ground. The variable is set to</p><p>- smallMomentarySpike(7) -- if the line failure is caused by a</p><p>rate of change of input voltage less than ten volts per cycle.</p><p>- largeMomentarySpike(8) -- if the line failure is caused by</p><p>a rate of change of input voltage greater than ten volts per cycle.</p><p>- selfTest(9) -- if the UPS was commanded to do a self test.</p><p>- rateOfVoltageChange(10) -- if the failure is due to the rate of change of</p><p>the line voltage.</p> |SNMP |input.fail[upsAdvInputLineFailCause]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output voltage |<p>MIB: PowerNet-MIB</p><p>The output voltage of the UPS system in VAC.</p> |SNMP |output.voltage[upsHighPrecOutputVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output load |<p>MIB: PowerNet-MIB</p><p>The current UPS load expressed as percentage</p><p>of rated capacity.</p> |SNMP |output.load[upsHighPrecOutputLoad]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output current |<p>MIB: PowerNet-MIB</p><p>The current in amperes drawn by the load on the UPS.</p> |SNMP |output.current[upsHighPrecOutputCurrent]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output status |<p>MIB: PowerNet-MIB</p><p>The current state of the UPS. If the UPS is unable to</p><p> determine the state of the UPS this variable is set</p><p> to unknown(1).</p><p>During self-test most UPSes report onBattery(3) but</p><p> some that support it will report onBatteryTest(15).</p><p> To determine self-test status across all UPSes, refer</p><p> to the upsBasicStateOutputState OID.</p> |SNMP |output.status[upsBasicOutputStatus]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |SNMP traps (fallback) |<p>Item is used to collect all SNMP traps unmatched by other snmptrap items</p> |SNMP_TRAP |snmptrap.fallback |
+|General |System location |<p>MIB: SNMPv2-MIB</p><p>The physical location of this node (e.g., `telephone closet,</p><p>3rd floor'). If the location is unknown, the value is the zero-length string.</p> |SNMP |system.location[sysLocation.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System contact details |<p>MIB: SNMPv2-MIB</p><p>The textual identification of the contact person for this managed</p><p>node, together with information on how to contact this person. If no contact</p><p>information is known, the value is the zero-length string.</p> |SNMP |system.contact[sysContact.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
+|General |System object ID |<p>MIB: SNMPv2-MIB</p><p>The vendor's authoritative identification of the network management</p><p>subsystem contained in the entity. This value is allocated within the SMI enterprises</p><p>subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what</p><p>kind of box' is being managed. For example, if vendor`Flintstones, Inc.' was</p><p>assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1</p><p>to its `Fred Router'.</p> |SNMP |system.objectid[sysObjectID.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System name |<p>MIB: SNMPv2-MIB</p><p>An administratively-assigned name for this managed node.By</p><p>convention, this is the node's fully-qualified domain name. If the name is unknown,</p><p>the value is the zero-length string.</p> |SNMP |system.name<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System description |<p>MIB: SNMPv2-MIB</p><p>A textual description of the entity. This value should</p><p>include the full name and version identification of the system's hardware type, software operating-system, and</p><p>networking software.</p> |SNMP |system.descr[sysDescr.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
+|General |{#PHASEINDEX}: Phase input voltage |<p>MIB: PowerNet-MIB</p><p>The input voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase input current |<p>MIB: PowerNet-MIB</p><p>The input current in 0.1 amperes, or -0.1 if it's</p><p> unsupported by this UPS.</p> |SNMP |phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output voltage |<p>MIB: PowerNet-MIB</p><p>The output voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output current |<p>MIB: PowerNet-MIB</p><p>The output current in 0.1 amperes drawn</p><p> by the load on the UPS, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output load, % |<p>MIB: PowerNet-MIB</p><p>The percentage of the UPS load capacity in VA at</p><p> redundancy @ (n + x) presently being used on this</p><p> output phase, or -1 if it's unsupported by this UPS.</p> |SNMP |phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status |<p>MIB: PowerNet-MIB</p><p>The battery cartridge status.</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |SNMP |battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature |<p>MIB: PowerNet-MIB</p><p>The battery pack temperature in Celsius.</p> |SNMP |battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number |<p>MIB: PowerNet-MIB</p><p>The battery pack serial number.</p> |SNMP |system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date |<p>MIB: PowerNet-MIB</p><p>The battery cartridge estimated battery replace date.</p> |SNMP |battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery pack cartridge health |<p>MIB: PowerNet-MIB</p><p>The battery cartridge health.</p><p> bit 0 Battery lifetime okay</p><p> bit 1 Battery lifetime near end, order replacement cartridge</p><p> bit 2 Battery lifetime exceeded, replace battery</p><p> bit 3 Battery lifetime near end acknowledged, order replacement cartridge</p><p> bit 4 Battery lifetime exceeded acknowledged, replace battery</p><p> bit 5 Battery measured lifetime near end, order replacement cartridge</p><p> bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge</p> |SNMP |battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#SNMPINDEX}: External battery packs bad |<p>MIB: PowerNet-MIB</p><p>The number of external battery packs connected to the UPS that</p><p>are defective. If the UPS does not use smart cells then the</p><p>agent reports ERROR_NO_SUCH_NAME.</p> |SNMP |battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Temperature sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current temperature reading in Celsius.</p><p> -1 indicates an invalid reading due to lost communications.</p> |SNMP |external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Humidity sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current humidity reading - a relative humidity</p><p> percentage. -1 indicates an invalid reading due to either a</p><p> sensor that doesn't read humidity or lost communications.</p> |SNMP |external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Sensor alarm status |<p>MIB: PowerNet-MIB</p><p>The alarm status of the sensor. Possible values:</p><p>uioNormal (1),</p><p>uioWarning (2),</p><p>uioCritical (3),</p><p>sensorStatusNotApplicable (4)</p> |SNMP |external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Temperature sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current temperature reading in Celsius.</p><p> -1 indicates an invalid reading due to lost communications.</p> |SNMP |external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Humidity sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current humidity reading - a relative humidity</p><p> percentage. -1 indicates an invalid reading due to either a</p><p> sensor that doesn't read humidity or lost communications.</p> |SNMP |external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Sensor alarm status |<p>MIB: PowerNet-MIB</p><p>The alarm status of the sensor. Possible values:</p><p>uioNormal (1),</p><p>uioWarning (2),</p><p>uioCritical (3),</p><p>sensorStatusNotApplicable (4)</p> |SNMP |external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|Status |Uptime |<p>MIB: SNMPv2-MIB</p><p>The time (in hundredths of a second) since the network management</p><p>portion of the system was last re-initialized.</p> |SNMP |system.uptime[sysUpTime.0]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p> |
+|Status |SNMP agent availability |<p>-</p> |INTERNAL |zabbix[host,snmp,available] |
+|Status |ICMP ping |<p>-</p> |SIMPLE |icmpping |
+|Status |ICMP loss |<p>-</p> |SIMPLE |icmppingloss |
+|Status |ICMP response time |<p>-</p> |SIMPLE |icmppingsec |
+
+## Triggers
+
+|Name|Description|Expression|Severity|Dependencies and additional info|
+|----|-----------|----|----|----|
+|Battery has an internal error condition |<p>A battery installed has an internal error condition.</p> |`{TEMPLATE_NAME:battery.status[upsBasicBatteryStatus].last()}=4` |AVERAGE | |
+|Battery is Low |<p>The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.</p> |`{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 |<p>A battery installed has an internal error condition.</p> |`{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}) |<p>A battery installed has an internal error condition.</p> |`{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 | |
+|System name has changed (new name: {ITEM.VALUE}) |<p>System name has changed. Ack to close.</p> |`{TEMPLATE_NAME:system.name.diff()}=1 and {TEMPLATE_NAME:system.name.strlen()}>0` |INFO |<p>Manual close: YES</p> |
+|{#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 |<p>The battery cartridge status:</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |`{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 |<p>The battery cartridge health.</p><p> bit 0 Battery lifetime okay</p><p> bit 1 Battery lifetime near end, order replacement cartridge</p><p> bit 2 Battery lifetime exceeded, replace battery</p><p> bit 3 Battery lifetime near end acknowledged, order replacement cartridge</p><p> bit 4 Battery lifetime exceeded acknowledged, replace battery</p><p> bit 5 Battery measured lifetime near end, order replacement cartridge</p><p> bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge</p> |`{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 |<p>The external sensor does not work or is not connected.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=4` |INFO | |
+|{#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning |<p>The external sensor has returned a value greater than the warning threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=2` |AVERAGE | |
+|{#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical |<p>The external sensor has returned a value greater than the critical threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=3` |HIGH | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable |<p>The external sensor does not work or is not connected.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=4` |INFO | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning |<p>The external sensor has returned a value greater than the warning threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=2` |AVERAGE | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical |<p>The external sensor has returned a value greater than the critical threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=3` |HIGH | |
+|{HOST.NAME} has been restarted (uptime < 10m) |<p>Uptime is less than 10 minutes</p> |`{TEMPLATE_NAME:system.uptime[sysUpTime.0].last()}<10m` |WARNING |<p>Manual close: YES</p><p>**Depends on**:</p><p>- No SNMP data collection</p> |
+|No SNMP data collection |<p>SNMP is not available for polling. Please check device connectivity and SNMP settings.</p> |`{TEMPLATE_NAME:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0` |WARNING |<p>**Depends on**:</p><p>- Unavailable by ICMP ping</p> |
+|Unavailable by ICMP ping |<p>Last three attempts returned timeout. Please check device connectivity.</p> |`{TEMPLATE_NAME:icmpping.max(#3)}=0` |HIGH | |
+|High ICMP ping loss |<p>-</p> |`{TEMPLATE_NAME:icmppingloss.min(5m)}>{$ICMP.LOSS.WARN} and {TEMPLATE_NAME:icmppingloss.min(5m)}<100` |WARNING |<p>**Depends on**:</p><p>- Unavailable by ICMP ping</p> |
+|High ICMP ping response time |<p>-</p> |`{TEMPLATE_NAME:icmppingsec.avg(5m)}>{$ICMP.RESPONSE_TIME.WARN}` |WARNING |<p>**Depends on**:</p><p>- High ICMP ping loss</p><p>- Unavailable by ICMP ping</p> |
+
+## 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](https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups).
+
diff --git a/templates/power/apc/apc_ups_smart_srt_8000_snmp/template_power_apc_ups_smart_srt_8000_snmp.yaml b/templates/power/apc/apc_ups_smart_srt_8000_snmp/template_power_apc_ups_smart_srt_8000_snmp.yaml
new file mode 100644
index 00000000000..f7ae5a6e53f
--- /dev/null
+++ b/templates/power/apc/apc_ups_smart_srt_8000_snmp/template_power_apc_ups_smart_srt_8000_snmp.yaml
@@ -0,0 +1,1498 @@
+zabbix_export:
+ version: '5.4'
+ date: '2021-03-24T17:31:52Z'
+ groups:
+ -
+ name: Templates/Power
+ templates:
+ -
+ template: 'APC Smart-UPS SRT 8000 SNMP'
+ name: 'APC Smart-UPS SRT 8000 SNMP'
+ description: |
+ Template Power APC Smart-UPS SRT 8000
+
+ MIBs used:
+ PowerNet-MIB
+ SNMPv2-MIB
+
+ You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
+
+ Template tooling version used: 0.38
+ groups:
+ -
+ name: Templates/Power
+ applications:
+ -
+ name: General
+ -
+ name: Status
+ items:
+ -
+ name: 'Battery capacity'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.1.0
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ MIB: PowerNet-MIB
+ The remaining battery capacity expressed as
+ percentage of full capacity.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()} < {$BATTERY.CAPACITY.MIN.WARN}'
+ name: 'Battery has low capacity (below {$BATTERY.CAPACITY.MIN.WARN}%)'
+ opdata: 'Current capacity: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'External battery packs count'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.5.0
+ key: 'battery.external_packs_count[upsAdvBatteryNumOfBattPacks]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery last replace date'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.1.3.0
+ key: 'battery.last_replace_date[upsBasicBatteryLastReplaceDate]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery replace indicator'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.4.0
+ key: 'battery.replace_indicator[upsAdvBatteryReplaceIndicator]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ Indicates whether the UPS batteries need replacement.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsAdvBatteryReplaceIndicator'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=2'
+ name: 'Battery needs replacement'
+ priority: HIGH
+ description: 'A battery installed has an internal error condition.'
+ -
+ name: 'Battery runtime remaining'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.3.0
+ key: 'battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]'
+ history: 7d
+ value_type: FLOAT
+ units: s
+ description: |
+ MIB: PowerNet-MIB
+ The UPS battery run time remaining before battery
+ exhaustion.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.01'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.1.1.0
+ key: 'battery.status[upsBasicBatteryStatus]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=4'
+ name: 'Battery has an internal error condition'
+ priority: AVERAGE
+ description: 'A battery installed has an internal error condition.'
+ -
+ expression: '{last()}=3'
+ name: 'Battery is Low'
+ priority: AVERAGE
+ description: 'The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.'
+ -
+ name: 'Battery temperature'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.2.0
+ key: 'battery.temperature[upsHighPrecBatteryTemperature]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The current internal UPS temperature in Celsius.
+ Temperatures below zero read as 0.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$BATTERY.TEMP.MAX.WARN}'
+ name: 'Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD})'
+ opdata: 'Current temperature: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Battery voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.4.0
+ key: 'battery.voltage[upsHighPrecBatteryActualVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The actual battery bus voltage in Volts.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'ICMP ping'
+ type: SIMPLE
+ key: icmpping
+ history: 1w
+ applications:
+ -
+ name: Status
+ valuemap:
+ name: 'Service state'
+ triggers:
+ -
+ expression: '{max(#3)}=0'
+ name: 'Unavailable by ICMP ping'
+ priority: HIGH
+ description: 'Last three attempts returned timeout. Please check device connectivity.'
+ -
+ name: 'ICMP loss'
+ type: SIMPLE
+ key: icmppingloss
+ history: 1w
+ value_type: FLOAT
+ units: '%'
+ applications:
+ -
+ name: Status
+ triggers:
+ -
+ expression: '{min(5m)}>{$ICMP.LOSS.WARN} and {min(5m)}<100'
+ name: 'High ICMP ping loss'
+ opdata: 'Loss: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ dependencies:
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC Smart-UPS SRT 8000 SNMP:icmpping.max(#3)}=0'
+ -
+ name: 'ICMP response time'
+ type: SIMPLE
+ key: icmppingsec
+ history: 1w
+ value_type: FLOAT
+ units: s
+ applications:
+ -
+ name: Status
+ triggers:
+ -
+ expression: '{avg(5m)}>{$ICMP.RESPONSE_TIME.WARN}'
+ name: 'High ICMP ping response time'
+ opdata: 'Value: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ dependencies:
+ -
+ name: 'High ICMP ping loss'
+ expression: '{APC Smart-UPS SRT 8000 SNMP:icmppingloss.min(5m)}>{$ICMP.LOSS.WARN} and {APC Smart-UPS SRT 8000 SNMP:icmppingloss.min(5m)}<100'
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC Smart-UPS SRT 8000 SNMP:icmpping.max(#3)}=0'
+ -
+ name: 'Input fail cause'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.2.5.0
+ key: 'input.fail[upsAdvInputLineFailCause]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsAdvInputLineFailCause'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Input frequency'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.3.4.0
+ key: 'input.frequency[upsHighPrecInputFrequency]'
+ history: 7d
+ value_type: FLOAT
+ units: Hz
+ description: |
+ MIB: PowerNet-MIB
+ The current input frequency to the UPS system in Hz.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > 0 and ({min({$TIME.PERIOD})} > {$UPS.INPUT_FREQ.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_FREQ.MIN.WARN})'
+ name: 'Unacceptable input frequency (out of range {$UPS.INPUT_FREQ.MIN.WARN}-{$UPS.INPUT_FREQ.MAX.WARN}Hz for {$TIME.PERIOD})'
+ opdata: 'Current frequency: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Input voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.3.1.0
+ key: 'input.voltage[upsHighPrecInputLineVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The current utility line voltage in VAC.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > 0 and ({min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN})'
+ name: 'Unacceptable input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Output current'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.4.0
+ key: 'output.current[upsHighPrecOutputCurrent]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ MIB: PowerNet-MIB
+ The current in amperes drawn by the load on the UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Output load'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.3.0
+ key: 'output.load[upsHighPrecOutputLoad]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ MIB: PowerNet-MIB
+ The current UPS load expressed as percentage
+ of rated capacity.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.OUTPUT.MAX.WARN}'
+ name: 'Output load is high (over {$UPS.OUTPUT.MAX.WARN}% for {$TIME.PERIOD})'
+ opdata: 'Current load: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ description: 'A battery installed has an internal error condition.'
+ -
+ name: 'Output status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.1.1.0
+ key: 'output.status[upsBasicOutputStatus]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=16'
+ name: 'UPS is Emergency Static Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=10'
+ name: 'UPS is Hardware Failure Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=7'
+ name: 'UPS is Off'
+ priority: AVERAGE
+ -
+ expression: '{last()}=3'
+ name: 'UPS is on battery'
+ priority: AVERAGE
+ -
+ expression: '{last()}=4'
+ name: 'UPS is on Smart Boost'
+ priority: AVERAGE
+ -
+ expression: '{last()}=12'
+ name: 'UPS is On Smart Trim'
+ priority: AVERAGE
+ -
+ expression: '{last()}=8'
+ name: 'UPS is Rebooting'
+ priority: AVERAGE
+ -
+ expression: '{last()}=11'
+ name: 'UPS is Sleeping Until Power Return'
+ priority: AVERAGE
+ -
+ expression: '{last()}=6'
+ name: 'UPS is Software Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=9'
+ name: 'UPS is Switched Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=5'
+ name: 'UPS is Timed Sleeping'
+ priority: AVERAGE
+ -
+ name: 'Output voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.1.0
+ key: 'output.voltage[upsHighPrecOutputVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The output voltage of the UPS system in VAC.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'SNMP traps (fallback)'
+ type: SNMP_TRAP
+ key: snmptrap.fallback
+ history: 2w
+ trends: '0'
+ value_type: LOG
+ description: 'Item is used to collect all SNMP traps unmatched by other snmptrap items'
+ applications:
+ -
+ name: General
+ logtimefmt: 'hh:mm:sszyyyy/MM/dd'
+ -
+ name: 'System contact details'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.4.0
+ key: 'system.contact[sysContact.0]'
+ delay: 1h
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: CONTACT
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1d
+ -
+ name: 'System description'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.1.0
+ key: 'system.descr[sysDescr.0]'
+ delay: 1h
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1d
+ -
+ name: 'System location'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.6.0
+ key: 'system.location[sysLocation.0]'
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: LOCATION
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ -
+ name: Model
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.1.1.1.0
+ key: 'system.model[upsBasicIdentModel]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The UPS model name (e.g. 'APC Smart-UPS 600').
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'System name'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.5.0
+ key: system.name
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: NAME
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ triggers:
+ -
+ expression: '{diff()}=1 and {strlen()}>0'
+ name: 'System name has changed (new name: {ITEM.VALUE})'
+ priority: INFO
+ description: 'System name has changed. Ack to close.'
+ manual_close: 'YES'
+ -
+ name: 'System object ID'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.2.0
+ key: 'system.objectid[sysObjectID.0]'
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: SNMPv2-MIB
+ The vendor's authoritative identification of the network management
+ subsystem contained in the entity. This value is allocated within the SMI enterprises
+ subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what
+ kind of box' is being managed. For example, if vendor`Flintstones, Inc.' was
+ assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1
+ to its `Fred Router'.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ -
+ name: 'Serial number'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.1.2.3.0
+ key: 'system.sn[upsAdvIdentSerialNumber]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: Uptime
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.3.0
+ key: 'system.uptime[sysUpTime.0]'
+ delay: 30s
+ history: 2w
+ trends: 0d
+ units: uptime
+ description: |
+ MIB: SNMPv2-MIB
+ The time (in hundredths of a second) since the network management
+ portion of the system was last re-initialized.
+ applications:
+ -
+ name: Status
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.01'
+ triggers:
+ -
+ expression: '{last()}<10m'
+ name: '{HOST.NAME} has been restarted (uptime < 10m)'
+ priority: WARNING
+ description: 'Uptime is less than 10 minutes'
+ manual_close: 'YES'
+ dependencies:
+ -
+ name: 'No SNMP data collection'
+ expression: '{APC Smart-UPS SRT 8000 SNMP:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0'
+ -
+ name: 'SNMP agent availability'
+ type: INTERNAL
+ key: 'zabbix[host,snmp,available]'
+ history: 7d
+ applications:
+ -
+ name: Status
+ valuemap:
+ name: zabbix.host.available
+ triggers:
+ -
+ expression: '{max({$SNMP.TIMEOUT})}=0'
+ name: 'No SNMP data collection'
+ opdata: 'Current state: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: 'SNMP is not available for polling. Please check device connectivity and SNMP settings.'
+ dependencies:
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC Smart-UPS SRT 8000 SNMP:icmpping.max(#3)}=0'
+ discovery_rules:
+ -
+ name: 'External bad battery packs discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_PACKS},1.3.6.1.4.1.318.1.1.1.2.2.6]'
+ key: battery.packs.bad.discovery
+ delay: 1h
+ description: 'Discovery of the number of external defective battery packs.'
+ item_prototypes:
+ -
+ name: '{#SNMPINDEX}: External battery packs bad'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.6.0
+ key: 'battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'External battery packs discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#CARTRIDGE_STATUS},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.7,{#BATTERY_PACK},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.1,{#CARTRIDGE_INDEX},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.2]'
+ key: battery.packs.discovery
+ delay: 1h
+ filter:
+ evaltype: AND
+ conditions:
+ -
+ macro: '{#CARTRIDGE_STATUS}'
+ value: ^$
+ operator: NOT_MATCHES_REGEX
+ formulaid: A
+ item_prototypes:
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.8.{#SNMPINDEX}'
+ key: 'battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The battery cartridge estimated battery replace date.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery pack cartridge health'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.7.{#SNMPINDEX}'
+ key: 'battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{regexp("^(0)[0|1]{15}$")}=1'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery lifetime is not okay'
+ opdata: 'Current bit set: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: |
+ 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
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.10.{#SNMPINDEX}'
+ key: 'battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{regexp("^(0{16})$")}=0'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status is not okay'
+ opdata: 'Current bit set: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: |
+ 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
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.5.{#SNMPINDEX}'
+ key: 'battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The battery pack temperature in Celsius.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$BATTERY.TEMP.MAX.WARN}'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD})'
+ opdata: 'Current temperature: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.4.{#SNMPINDEX}'
+ key: 'system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The battery pack serial number.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'External sensor port 1 discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_SENSOR1_NAME},1.3.6.1.4.1.318.1.1.25.1.2.1.3]'
+ key: external.sensor1.discovery
+ delay: 1h
+ description: uioSensorStatusTable
+ item_prototypes:
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Humidity sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.7.1.1
+ key: 'external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor alarm status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.9.1.1
+ key: 'external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ The alarm status of the sensor. Possible values:
+ uioNormal (1),
+ uioWarning (2),
+ uioCritical (3),
+ sensorStatusNotApplicable (4)
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{last()}=3'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical'
+ priority: HIGH
+ description: 'The external sensor has returned a value greater than the critical threshold.'
+ -
+ expression: '{last()}=4'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Not Applicable'
+ priority: INFO
+ description: 'The external sensor does not work or is not connected.'
+ -
+ expression: '{last()}=2'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning'
+ priority: AVERAGE
+ description: 'The external sensor has returned a value greater than the warning threshold.'
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Temperature sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.6.1.1
+ key: 'external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The sensor's current temperature reading in Celsius.
+ -1 indicates an invalid reading due to lost communications.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ overrides:
+ -
+ name: Temp
+ step: '1'
+ filter:
+ conditions:
+ -
+ macro: '{#EXTERNAL_SENSOR1_NAME}'
+ value: Temp
+ formulaid: A
+ operations:
+ -
+ operationobject: ITEM_PROTOTYPE
+ operator: LIKE
+ value: Humidity
+ status: ENABLED
+ discover: NO_DISCOVER
+ -
+ name: 'External sensor port 2 discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_SENSOR2_NAME},1.3.6.1.4.1.318.1.1.25.1.2.2.3]'
+ key: external.sensor2.discovery
+ delay: 1h
+ description: uioSensorStatusTable
+ item_prototypes:
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Humidity sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.7.1.1
+ key: 'external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor alarm status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.9.1.1
+ key: 'external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ The alarm status of the sensor. Possible values:
+ uioNormal (1),
+ uioWarning (2),
+ uioCritical (3),
+ sensorStatusNotApplicable (4)
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{last()}=3'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical'
+ priority: HIGH
+ description: 'The external sensor has returned a value greater than the critical threshold.'
+ -
+ expression: '{last()}=4'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable'
+ priority: INFO
+ description: 'The external sensor does not work or is not connected.'
+ -
+ expression: '{last()}=2'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning'
+ priority: AVERAGE
+ description: 'The external sensor has returned a value greater than the warning threshold.'
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Temperature sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.6.1.1
+ key: 'external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The sensor's current temperature reading in Celsius.
+ -1 indicates an invalid reading due to lost communications.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ overrides:
+ -
+ name: Temp
+ step: '1'
+ filter:
+ conditions:
+ -
+ macro: '{#EXTERNAL_SENSOR2_NAME}'
+ value: Temp
+ formulaid: A
+ operations:
+ -
+ operationobject: ITEM_PROTOTYPE
+ operator: LIKE
+ value: Humidity
+ status: ENABLED
+ discover: NO_DISCOVER
+ -
+ name: 'Input phases discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#PHASEINDEX},1.3.6.1.4.1.318.1.1.1.9.2.3.1.2.1.1]'
+ key: input.phases.discovery
+ delay: 1h
+ description: 'The input phase identifier. OID upsPhaseInputPhaseIndex.1.1'
+ item_prototypes:
+ -
+ name: '{#PHASEINDEX}: Phase input current'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.2.3.1.6.1.1.{#PHASEINDEX}'
+ key: 'phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ MIB: PowerNet-MIB
+ The input current in 0.1 amperes, or -0.1 if it's
+ unsupported by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase input voltage'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.2.3.1.3.1.1.{#PHASEINDEX}'
+ key: 'phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The input voltage in VAC, or -1 if it's unsupported
+ by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}'
+ name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Output phases discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#PHASEINDEX},1.3.6.1.4.1.318.1.1.1.9.3.3.1.2.1.1]'
+ key: output.phases.discovery
+ delay: 1h
+ description: 'The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1'
+ item_prototypes:
+ -
+ name: '{#PHASEINDEX}: Phase output current'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.4.1.1.{#PHASEINDEX}'
+ key: 'phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output load, %'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.10.1.1.{#PHASEINDEX}'
+ key: 'phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output voltage'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.3.1.1.{#PHASEINDEX}'
+ key: 'phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The output voltage in VAC, or -1 if it's unsupported
+ by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}'
+ name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} output voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ macros:
+ -
+ macro: '{$BATTERY.CAPACITY.MIN.WARN}'
+ value: '50'
+ description: 'Minimum battery capacity percentage for trigger expression.'
+ -
+ macro: '{$BATTERY.TEMP.MAX.WARN}'
+ value: '55'
+ description: 'Maximum battery temperature for trigger expression.'
+ -
+ macro: '{$ICMP.LOSS.WARN}'
+ value: '20'
+ -
+ macro: '{$ICMP.RESPONSE_TIME.WARN}'
+ value: '0.15'
+ -
+ macro: '{$SNMP.TIMEOUT}'
+ value: 5m
+ description: 'The time interval for SNMP agent availability trigger expression.'
+ -
+ macro: '{$TIME.PERIOD}'
+ value: 15m
+ description: 'Time period for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_FREQ.MAX.WARN}'
+ value: '50.3'
+ description: 'Maximum input frequency for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_FREQ.MIN.WARN}'
+ value: '49.7'
+ description: 'Minimum input frequency for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_VOLT.MAX.WARN}'
+ value: '243'
+ description: 'Maximum input voltage for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_VOLT.MIN.WARN}'
+ value: '197'
+ description: 'Minimum input voltage for trigger expression.'
+ -
+ macro: '{$UPS.OUTPUT.MAX.WARN}'
+ value: '80'
+ description: 'Maximum output load in % for trigger expression.'
+ valuemaps:
+ -
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ mappings:
+ -
+ value: '1'
+ newvalue: Normal
+ -
+ value: '2'
+ newvalue: Warning
+ -
+ value: '3'
+ newvalue: Critical
+ -
+ value: '4'
+ newvalue: 'Not applicable'
+ -
+ name: 'PowerNet-MIB::upsAdvBatteryReplaceIndicator'
+ mappings:
+ -
+ value: '1'
+ newvalue: 'no Battery Needs Replacing'
+ -
+ value: '2'
+ newvalue: 'battery Needs Replacing'
+ -
+ name: 'PowerNet-MIB::upsAdvInputLineFailCause'
+ mappings:
+ -
+ value: '1'
+ newvalue: 'no Transfer'
+ -
+ value: '2'
+ newvalue: 'High Line Voltage'
+ -
+ value: '3'
+ newvalue: Brownout
+ -
+ value: '4'
+ newvalue: Blackout
+ -
+ value: '5'
+ newvalue: 'Small Momentary Sag'
+ -
+ value: '6'
+ newvalue: 'Deep Momentary Sag'
+ -
+ value: '7'
+ newvalue: 'Small Momentary Spike'
+ -
+ value: '8'
+ newvalue: 'Large Momentary Spike'
+ -
+ value: '9'
+ newvalue: 'Self Test'
+ -
+ value: '10'
+ newvalue: 'Rate of Voltage Change'
+ -
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ mappings:
+ -
+ value: '1'
+ newvalue: Unknown
+ -
+ value: '2'
+ newvalue: Normal
+ -
+ value: '3'
+ newvalue: Low
+ -
+ value: '4'
+ newvalue: 'In Fault Condition'
+ -
+ name: 'Service state'
+ mappings:
+ -
+ value: '0'
+ newvalue: Down
+ -
+ value: '1'
+ newvalue: Up
+ -
+ name: zabbix.host.available
+ mappings:
+ -
+ value: '0'
+ newvalue: 'not available'
+ -
+ value: '1'
+ newvalue: available
+ -
+ value: '2'
+ newvalue: unknown
+ graphs:
+ -
+ name: 'Capacity of the UPS batteries'
+ type: PIE
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC Smart-UPS SRT 8000 SNMP'
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
+ -
+ name: Output
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC Smart-UPS SRT 8000 SNMP'
+ key: 'output.current[upsHighPrecOutputCurrent]'
+ -
+ sortorder: '1'
+ color: 2774A4
+ item:
+ host: 'APC Smart-UPS SRT 8000 SNMP'
+ key: 'output.load[upsHighPrecOutputLoad]'
+ -
+ name: Voltage
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC Smart-UPS SRT 8000 SNMP'
+ key: 'input.voltage[upsHighPrecInputLineVoltage]'
+ -
+ sortorder: '1'
+ color: 2774A4
+ item:
+ host: 'APC Smart-UPS SRT 8000 SNMP'
+ key: 'output.voltage[upsHighPrecOutputVoltage]'
diff --git a/templates/power/apc/apc_ups_snmp/README.md b/templates/power/apc/apc_ups_snmp/README.md
new file mode 100644
index 00000000000..6c382c71fc3
--- /dev/null
+++ b/templates/power/apc/apc_ups_snmp/README.md
@@ -0,0 +1,155 @@
+
+# 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](https://www.zabbix.com/documentation/5.4/manual/config/templates_out_of_the_box/network_devices) 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} |<p>Minimum battery capacity percentage for trigger expression.</p> |`50` |
+|{$BATTERY.TEMP.MAX.WARN} |<p>Maximum battery temperature for trigger expression.</p> |`55` |
+|{$ICMP.LOSS.WARN} |<p>-</p> |`20` |
+|{$ICMP.RESPONSE_TIME.WARN} |<p>-</p> |`0.15` |
+|{$SNMP.TIMEOUT} |<p>The time interval for SNMP agent availability trigger expression.</p> |`5m` |
+|{$TIME.PERIOD} |<p>Time period for trigger expression.</p> |`15m` |
+|{$UPS.INPUT_FREQ.MAX.WARN} |<p>Maximum input frequency for trigger expression.</p> |`50.3` |
+|{$UPS.INPUT_FREQ.MIN.WARN} |<p>Minimum input frequency for trigger expression.</p> |`49.7` |
+|{$UPS.INPUT_VOLT.MAX.WARN} |<p>Maximum input voltage for trigger expression.</p> |`243` |
+|{$UPS.INPUT_VOLT.MIN.WARN} |<p>Minimum input voltage for trigger expression.</p> |`197` |
+|{$UPS.OUTPUT.MAX.WARN} |<p>Maximum output load in % for trigger expression.</p> |`80` |
+
+## Template links
+
+There are no template links in this template.
+
+## Discovery rules
+
+|Name|Description|Type|Key and additional info|
+|----|-----------|----|----|
+|Input phases discovery |<p>The input phase identifier. OID upsPhaseInputPhaseIndex.1.1</p> |SNMP |input.phases.discovery |
+|Output phases discovery |<p>The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1</p> |SNMP |output.phases.discovery |
+|External battery packs discovery | |SNMP |battery.packs.discovery<p>**Filter**:</p>AND <p>- A: {#CARTRIDGE_STATUS} NOT_MATCHES_REGEX `^$`</p> |
+|External bad battery packs discovery |<p>Discovery of the number of external defective battery packs.</p> |SNMP |battery.packs.bad.discovery |
+|External sensor port 1 discovery |<p>uioSensorStatusTable</p> |SNMP |external.sensor1.discovery |
+|External sensor port 2 discovery |<p>uioSensorStatusTable</p> |SNMP |external.sensor2.discovery |
+
+## Items collected
+
+|Group|Name|Description|Type|Key and additional info|
+|-----|----|-----------|----|---------------------|
+|General |Model |<p>MIB: PowerNet-MIB</p><p>The UPS model name (e.g. 'APC Smart-UPS 600').</p> |SNMP |system.model[upsBasicIdentModel]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Serial number |<p>MIB: PowerNet-MIB</p><p>An 8-character string identifying the serial number of</p><p> the UPS internal microprocessor. This number is set at</p><p> the factory. NOTE: This number does NOT correspond to</p><p> the serial number on the rear of the UPS.</p> |SNMP |system.sn[upsAdvIdentSerialNumber]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery status |<p>MIB: PowerNet-MIB</p><p>The status of the UPS batteries. A batteryLow(3) value</p><p> indicates the UPS will be unable to sustain the current</p><p> load, and its services will be lost if power is not restored.</p><p> The amount of run time in reserve at the time of low battery</p><p> can be configured by the upsAdvConfigLowBatteryRunTime.</p><p> A batteryInFaultCondition(4)value indicates that a battery</p><p> installed has an internal error condition.</p> |SNMP |battery.status[upsBasicBatteryStatus]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery capacity |<p>MIB: PowerNet-MIB</p><p>The remaining battery capacity expressed as</p><p> percentage of full capacity.</p> |SNMP |battery.capacity[upsHighPrecBatteryCapacity]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery runtime remaining |<p>MIB: PowerNet-MIB</p><p>The UPS battery run time remaining before battery</p><p> exhaustion.</p> |SNMP |battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery voltage |<p>MIB: PowerNet-MIB</p><p>The actual battery bus voltage in Volts.</p> |SNMP |battery.voltage[upsHighPrecBatteryActualVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery last replace date |<p>MIB: PowerNet-MIB</p><p>The date when the UPS system's batteries were last replaced</p><p> in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value</p><p> is originally set at the factory. When the UPS batteries</p><p> are replaced, this value should be reset by the administrator.</p><p> For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.</p> |SNMP |battery.last_replace_date[upsBasicBatteryLastReplaceDate]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery replace indicator |<p>MIB: PowerNet-MIB</p><p>Indicates whether the UPS batteries need replacement.</p> |SNMP |battery.replace_indicator[upsAdvBatteryReplaceIndicator]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |External battery packs count |<p>MIB: PowerNet-MIB</p><p>The number of external battery packs connected to the UPS. If</p><p> the UPS does not use smart cells then the agent reports</p><p> ERROR_NO_SUCH_NAME.</p> |SNMP |battery.external_packs_count[upsAdvBatteryNumOfBattPacks]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery temperature |<p>MIB: PowerNet-MIB</p><p>The current internal UPS temperature in Celsius.</p><p> Temperatures below zero read as 0.</p> |SNMP |battery.temperature[upsHighPrecBatteryTemperature]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input voltage |<p>MIB: PowerNet-MIB</p><p>The current utility line voltage in VAC.</p> |SNMP |input.voltage[upsHighPrecInputLineVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input frequency |<p>MIB: PowerNet-MIB</p><p>The current input frequency to the UPS system in Hz.</p> |SNMP |input.frequency[upsHighPrecInputFrequency]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input fail cause |<p>MIB: PowerNet-MIB</p><p>The reason for the occurrence of the last transfer to UPS</p><p>battery power. The variable is set to:</p><p>- noTransfer(1) -- if there is no transfer yet.</p><p>- highLineVoltage(2) -- if the transfer to battery is caused</p><p>by an over voltage greater than the high transfer voltage.</p><p>- brownout(3) -- if the duration of the outage is greater than</p><p>five seconds and the line voltage is between 40% of the</p><p>rated output voltage and the low transfer voltage.</p><p>- blackout(4) -- if the duration of the outage is greater than five</p><p>seconds and the line voltage is between 40% of the rated</p><p>output voltage and ground.</p><p>- smallMomentarySag(5) -- if the duration of the outage is less</p><p>than five seconds and the line voltage is between 40% of the</p><p>rated output voltage and the low transfer voltage.</p><p>- deepMomentarySag(6) -- if the duration of the outage is less</p><p>than five seconds and the line voltage is between 40% of the</p><p>rated output voltage and ground. The variable is set to</p><p>- smallMomentarySpike(7) -- if the line failure is caused by a</p><p>rate of change of input voltage less than ten volts per cycle.</p><p>- largeMomentarySpike(8) -- if the line failure is caused by</p><p>a rate of change of input voltage greater than ten volts per cycle.</p><p>- selfTest(9) -- if the UPS was commanded to do a self test.</p><p>- rateOfVoltageChange(10) -- if the failure is due to the rate of change of</p><p>the line voltage.</p> |SNMP |input.fail[upsAdvInputLineFailCause]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output voltage |<p>MIB: PowerNet-MIB</p><p>The output voltage of the UPS system in VAC.</p> |SNMP |output.voltage[upsHighPrecOutputVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output load |<p>MIB: PowerNet-MIB</p><p>The current UPS load expressed as percentage</p><p>of rated capacity.</p> |SNMP |output.load[upsHighPrecOutputLoad]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output current |<p>MIB: PowerNet-MIB</p><p>The current in amperes drawn by the load on the UPS.</p> |SNMP |output.current[upsHighPrecOutputCurrent]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output status |<p>MIB: PowerNet-MIB</p><p>The current state of the UPS. If the UPS is unable to</p><p> determine the state of the UPS this variable is set</p><p> to unknown(1).</p><p>During self-test most UPSes report onBattery(3) but</p><p> some that support it will report onBatteryTest(15).</p><p> To determine self-test status across all UPSes, refer</p><p> to the upsBasicStateOutputState OID.</p> |SNMP |output.status[upsBasicOutputStatus]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |SNMP traps (fallback) |<p>Item is used to collect all SNMP traps unmatched by other snmptrap items</p> |SNMP_TRAP |snmptrap.fallback |
+|General |System location |<p>MIB: SNMPv2-MIB</p><p>The physical location of this node (e.g., `telephone closet,</p><p>3rd floor'). If the location is unknown, the value is the zero-length string.</p> |SNMP |system.location[sysLocation.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System contact details |<p>MIB: SNMPv2-MIB</p><p>The textual identification of the contact person for this managed</p><p>node, together with information on how to contact this person. If no contact</p><p>information is known, the value is the zero-length string.</p> |SNMP |system.contact[sysContact.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
+|General |System object ID |<p>MIB: SNMPv2-MIB</p><p>The vendor's authoritative identification of the network management</p><p>subsystem contained in the entity. This value is allocated within the SMI enterprises</p><p>subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what</p><p>kind of box' is being managed. For example, if vendor`Flintstones, Inc.' was</p><p>assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1</p><p>to its `Fred Router'.</p> |SNMP |system.objectid[sysObjectID.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System name |<p>MIB: SNMPv2-MIB</p><p>An administratively-assigned name for this managed node.By</p><p>convention, this is the node's fully-qualified domain name. If the name is unknown,</p><p>the value is the zero-length string.</p> |SNMP |system.name<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System description |<p>MIB: SNMPv2-MIB</p><p>A textual description of the entity. This value should</p><p>include the full name and version identification of the system's hardware type, software operating-system, and</p><p>networking software.</p> |SNMP |system.descr[sysDescr.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
+|General |{#PHASEINDEX}: Phase input voltage |<p>MIB: PowerNet-MIB</p><p>The input voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase input current |<p>MIB: PowerNet-MIB</p><p>The input current in 0.1 amperes, or -0.1 if it's</p><p> unsupported by this UPS.</p> |SNMP |phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output voltage |<p>MIB: PowerNet-MIB</p><p>The output voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output current |<p>MIB: PowerNet-MIB</p><p>The output current in 0.1 amperes drawn</p><p> by the load on the UPS, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output load, % |<p>MIB: PowerNet-MIB</p><p>The percentage of the UPS load capacity in VA at</p><p> redundancy @ (n + x) presently being used on this</p><p> output phase, or -1 if it's unsupported by this UPS.</p> |SNMP |phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status |<p>MIB: PowerNet-MIB</p><p>The battery cartridge status.</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |SNMP |battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature |<p>MIB: PowerNet-MIB</p><p>The battery pack temperature in Celsius.</p> |SNMP |battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number |<p>MIB: PowerNet-MIB</p><p>The battery pack serial number.</p> |SNMP |system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date |<p>MIB: PowerNet-MIB</p><p>The battery cartridge estimated battery replace date.</p> |SNMP |battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery pack cartridge health |<p>MIB: PowerNet-MIB</p><p>The battery cartridge health.</p><p> bit 0 Battery lifetime okay</p><p> bit 1 Battery lifetime near end, order replacement cartridge</p><p> bit 2 Battery lifetime exceeded, replace battery</p><p> bit 3 Battery lifetime near end acknowledged, order replacement cartridge</p><p> bit 4 Battery lifetime exceeded acknowledged, replace battery</p><p> bit 5 Battery measured lifetime near end, order replacement cartridge</p><p> bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge</p> |SNMP |battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#SNMPINDEX}: External battery packs bad |<p>MIB: PowerNet-MIB</p><p>The number of external battery packs connected to the UPS that</p><p>are defective. If the UPS does not use smart cells then the</p><p>agent reports ERROR_NO_SUCH_NAME.</p> |SNMP |battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Temperature sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current temperature reading in Celsius.</p><p> -1 indicates an invalid reading due to lost communications.</p> |SNMP |external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Humidity sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current humidity reading - a relative humidity</p><p> percentage. -1 indicates an invalid reading due to either a</p><p> sensor that doesn't read humidity or lost communications.</p> |SNMP |external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Sensor alarm status |<p>MIB: PowerNet-MIB</p><p>The alarm status of the sensor. Possible values:</p><p>uioNormal (1),</p><p>uioWarning (2),</p><p>uioCritical (3),</p><p>sensorStatusNotApplicable (4)</p> |SNMP |external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Temperature sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current temperature reading in Celsius.</p><p> -1 indicates an invalid reading due to lost communications.</p> |SNMP |external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Humidity sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current humidity reading - a relative humidity</p><p> percentage. -1 indicates an invalid reading due to either a</p><p> sensor that doesn't read humidity or lost communications.</p> |SNMP |external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Sensor alarm status |<p>MIB: PowerNet-MIB</p><p>The alarm status of the sensor. Possible values:</p><p>uioNormal (1),</p><p>uioWarning (2),</p><p>uioCritical (3),</p><p>sensorStatusNotApplicable (4)</p> |SNMP |external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|Status |Uptime |<p>MIB: SNMPv2-MIB</p><p>The time (in hundredths of a second) since the network management</p><p>portion of the system was last re-initialized.</p> |SNMP |system.uptime[sysUpTime.0]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p> |
+|Status |SNMP agent availability |<p>-</p> |INTERNAL |zabbix[host,snmp,available] |
+|Status |ICMP ping |<p>-</p> |SIMPLE |icmpping |
+|Status |ICMP loss |<p>-</p> |SIMPLE |icmppingloss |
+|Status |ICMP response time |<p>-</p> |SIMPLE |icmppingsec |
+
+## Triggers
+
+|Name|Description|Expression|Severity|Dependencies and additional info|
+|----|-----------|----|----|----|
+|Battery has an internal error condition |<p>A battery installed has an internal error condition.</p> |`{TEMPLATE_NAME:battery.status[upsBasicBatteryStatus].last()}=4` |AVERAGE | |
+|Battery is Low |<p>The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.</p> |`{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 |<p>A battery installed has an internal error condition.</p> |`{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}) |<p>A battery installed has an internal error condition.</p> |`{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 | |
+|System name has changed (new name: {ITEM.VALUE}) |<p>System name has changed. Ack to close.</p> |`{TEMPLATE_NAME:system.name.diff()}=1 and {TEMPLATE_NAME:system.name.strlen()}>0` |INFO |<p>Manual close: YES</p> |
+|{#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 |<p>The battery cartridge status:</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |`{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 |<p>The battery cartridge health.</p><p> bit 0 Battery lifetime okay</p><p> bit 1 Battery lifetime near end, order replacement cartridge</p><p> bit 2 Battery lifetime exceeded, replace battery</p><p> bit 3 Battery lifetime near end acknowledged, order replacement cartridge</p><p> bit 4 Battery lifetime exceeded acknowledged, replace battery</p><p> bit 5 Battery measured lifetime near end, order replacement cartridge</p><p> bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge</p> |`{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 |<p>The external sensor does not work or is not connected.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=4` |INFO | |
+|{#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning |<p>The external sensor has returned a value greater than the warning threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=2` |AVERAGE | |
+|{#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical |<p>The external sensor has returned a value greater than the critical threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=3` |HIGH | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable |<p>The external sensor does not work or is not connected.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=4` |INFO | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning |<p>The external sensor has returned a value greater than the warning threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=2` |AVERAGE | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical |<p>The external sensor has returned a value greater than the critical threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=3` |HIGH | |
+|{HOST.NAME} has been restarted (uptime < 10m) |<p>Uptime is less than 10 minutes</p> |`{TEMPLATE_NAME:system.uptime[sysUpTime.0].last()}<10m` |WARNING |<p>Manual close: YES</p><p>**Depends on**:</p><p>- No SNMP data collection</p> |
+|No SNMP data collection |<p>SNMP is not available for polling. Please check device connectivity and SNMP settings.</p> |`{TEMPLATE_NAME:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0` |WARNING |<p>**Depends on**:</p><p>- Unavailable by ICMP ping</p> |
+|Unavailable by ICMP ping |<p>Last three attempts returned timeout. Please check device connectivity.</p> |`{TEMPLATE_NAME:icmpping.max(#3)}=0` |HIGH | |
+|High ICMP ping loss |<p>-</p> |`{TEMPLATE_NAME:icmppingloss.min(5m)}>{$ICMP.LOSS.WARN} and {TEMPLATE_NAME:icmppingloss.min(5m)}<100` |WARNING |<p>**Depends on**:</p><p>- Unavailable by ICMP ping</p> |
+|High ICMP ping response time |<p>-</p> |`{TEMPLATE_NAME:icmppingsec.avg(5m)}>{$ICMP.RESPONSE_TIME.WARN}` |WARNING |<p>**Depends on**:</p><p>- High ICMP ping loss</p><p>- Unavailable by ICMP ping</p> |
+
+## 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](https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups).
+
diff --git a/templates/power/apc_ups_snmp/template_power_apc_ups_snmp.yaml b/templates/power/apc/apc_ups_snmp/template_power_apc_ups_snmp.yaml
index de3012bf471..b6125627579 100644
--- a/templates/power/apc_ups_snmp/template_power_apc_ups_snmp.yaml
+++ b/templates/power/apc/apc_ups_snmp/template_power_apc_ups_snmp.yaml
@@ -1,6 +1,6 @@
zabbix_export:
version: '5.4'
- date: '2021-03-17T13:06:24Z'
+ date: '2021-03-24T17:33:20Z'
groups:
-
name: Templates/Power
@@ -30,8 +30,8 @@ zabbix_export:
-
name: 'Battery capacity'
type: SNMP_AGENT
- snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.1.0
- key: 'battery.capacity[upsAdvBatteryCapacity]'
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.1.0
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
history: 7d
value_type: FLOAT
units: '%'
@@ -44,9 +44,19 @@ zabbix_export:
name: General
preprocessing:
-
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 6h
+ triggers:
+ -
+ expression: '{last()} < {$BATTERY.CAPACITY.MIN.WARN}'
+ name: 'Battery has low capacity (below {$BATTERY.CAPACITY.MIN.WARN}%)'
+ opdata: 'Current capacity: {ITEM.LASTVALUE1}'
+ priority: HIGH
-
name: 'External battery packs count'
type: SNMP_AGENT
@@ -897,7 +907,7 @@ zabbix_export:
- 6h
trigger_prototypes:
-
- expression: '{regexp("^(0{16})$")}=1'
+ expression: '{regexp("^(0{16})$")}=0'
name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status is not okay'
opdata: 'Current bit set: {ITEM.LASTVALUE1}'
priority: WARNING
@@ -1231,8 +1241,92 @@ zabbix_export:
name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
priority: HIGH
+ -
+ name: 'Output phases discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#PHASEINDEX},1.3.6.1.4.1.318.1.1.1.9.3.3.1.2.1.1]'
+ key: output.phases.discovery
+ delay: 1h
+ description: 'The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1'
+ item_prototypes:
+ -
+ name: '{#PHASEINDEX}: Phase output current'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.4.1.1.{#PHASEINDEX}'
+ key: 'phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output load, %'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.10.1.1.{#PHASEINDEX}'
+ key: 'phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output voltage'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.3.1.1.{#PHASEINDEX}'
+ key: 'phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The output voltage in VAC, or -1 if it's unsupported
+ by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}'
+ name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} output voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
macros:
-
+ macro: '{$BATTERY.CAPACITY.MIN.WARN}'
+ value: '50'
+ description: 'Minimum battery capacity percentage for trigger expression.'
+ -
macro: '{$BATTERY.TEMP.MAX.WARN}'
value: '55'
description: 'Maximum battery temperature for trigger expression.'
@@ -1391,26 +1485,10 @@ zabbix_export:
host: 'APC UPS SNMP'
-
type: GRAPH_CLASSIC
- 'y': '4'
- width: '8'
- height: '7'
- fields:
- -
- type: INTEGER
- name: source_type
- value: '0'
- -
- type: GRAPH
- name: graphid
- value:
- name: 'Capacity of the UPS batteries'
- host: 'APC UPS SNMP'
- -
- type: GRAPH_CLASSIC
x: '8'
'y': '4'
width: '8'
- height: '7'
+ height: '5'
fields:
-
type: INTEGER
@@ -1427,7 +1505,7 @@ zabbix_export:
x: '16'
'y': '4'
width: '8'
- height: '7'
+ height: '5'
fields:
-
type: INTEGER
@@ -1542,7 +1620,7 @@ zabbix_export:
color: 1A7C11
item:
host: 'APC UPS SNMP'
- key: 'battery.capacity[upsAdvBatteryCapacity]'
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
-
name: Output
graph_items:
diff --git a/templates/power/apc_ups_snmp/README.md b/templates/power/apc/apc_ups_symmetra_lx_snmp/README.md
index e84595a3379..0495e574dd7 100644
--- a/templates/power/apc_ups_snmp/README.md
+++ b/templates/power/apc/apc_ups_symmetra_lx_snmp/README.md
@@ -1,19 +1,22 @@
-# APC UPS SNMP
+# APC UPS Symmetra LX SNMP
## Overview
For Zabbix version: 5.4 and higher
The template to monitor APC UPS Symmetra LX by Zabbix SNMP agent.
+Note: please, use the latest version of the firmware for your NMC in order for the template to work correctly.
This template was tested on:
-- APC UPS Symmetra LX (without external batteries)
+- APC UPS Symmetra LX 16k (without external batteries)
## Setup
+> See [Zabbix template operation](https://www.zabbix.com/documentation/5.4/manual/config/templates_out_of_the_box/network_devices) for basic instructions.
+
1\. Create a host for APC UPS Symmetra LX management IP as SNMPv2 interface.
2\. Link the template to the host.
@@ -30,6 +33,7 @@ No specific Zabbix configuration is required.
|Name|Description|Default|
|----|-----------|-------|
+|{$BATTERY.CAPACITY.MIN.WARN} |<p>Minimum battery capacity percentage for trigger expression.</p> |`50` |
|{$BATTERY.TEMP.MAX.WARN} |<p>Maximum battery temperature for trigger expression.</p> |`55` |
|{$ICMP.LOSS.WARN} |<p>-</p> |`20` |
|{$ICMP.RESPONSE_TIME.WARN} |<p>-</p> |`0.15` |
@@ -50,6 +54,7 @@ There are no template links in this template.
|Name|Description|Type|Key and additional info|
|----|-----------|----|----|
|Input phases discovery |<p>The input phase identifier. OID upsPhaseInputPhaseIndex.1.1</p> |SNMP |input.phases.discovery |
+|Output phases discovery |<p>The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1</p> |SNMP |output.phases.discovery |
|External battery packs discovery | |SNMP |battery.packs.discovery<p>**Filter**:</p>AND <p>- A: {#CARTRIDGE_STATUS} NOT_MATCHES_REGEX `^$`</p> |
|External bad battery packs discovery |<p>Discovery of the number of external defective battery packs.</p> |SNMP |battery.packs.bad.discovery |
|External sensor port 1 discovery |<p>uioSensorStatusTable</p> |SNMP |external.sensor1.discovery |
@@ -62,7 +67,7 @@ There are no template links in this template.
|General |Model |<p>MIB: PowerNet-MIB</p><p>The UPS model name (e.g. 'APC Smart-UPS 600').</p> |SNMP |system.model[upsBasicIdentModel]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|General |Serial number |<p>MIB: PowerNet-MIB</p><p>An 8-character string identifying the serial number of</p><p> the UPS internal microprocessor. This number is set at</p><p> the factory. NOTE: This number does NOT correspond to</p><p> the serial number on the rear of the UPS.</p> |SNMP |system.sn[upsAdvIdentSerialNumber]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|General |Battery status |<p>MIB: PowerNet-MIB</p><p>The status of the UPS batteries. A batteryLow(3) value</p><p> indicates the UPS will be unable to sustain the current</p><p> load, and its services will be lost if power is not restored.</p><p> The amount of run time in reserve at the time of low battery</p><p> can be configured by the upsAdvConfigLowBatteryRunTime.</p><p> A batteryInFaultCondition(4)value indicates that a battery</p><p> installed has an internal error condition.</p> |SNMP |battery.status[upsBasicBatteryStatus]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
-|General |Battery capacity |<p>MIB: PowerNet-MIB</p><p>The remaining battery capacity expressed as</p><p> percentage of full capacity.</p> |SNMP |battery.capacity[upsAdvBatteryCapacity]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery capacity |<p>MIB: PowerNet-MIB</p><p>The remaining battery capacity expressed as</p><p> percentage of full capacity.</p> |SNMP |battery.capacity[upsHighPrecBatteryCapacity]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|General |Battery runtime remaining |<p>MIB: PowerNet-MIB</p><p>The UPS battery run time remaining before battery</p><p> exhaustion.</p> |SNMP |battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|General |Battery voltage |<p>MIB: PowerNet-MIB</p><p>The actual battery bus voltage in Volts.</p> |SNMP |battery.voltage[upsHighPrecBatteryActualVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|General |Battery last replace date |<p>MIB: PowerNet-MIB</p><p>The date when the UPS system's batteries were last replaced</p><p> in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value</p><p> is originally set at the factory. When the UPS batteries</p><p> are replaced, this value should be reset by the administrator.</p><p> For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.</p> |SNMP |battery.last_replace_date[upsBasicBatteryLastReplaceDate]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
@@ -84,6 +89,9 @@ There are no template links in this template.
|General |System description |<p>MIB: SNMPv2-MIB</p><p>A textual description of the entity. This value should</p><p>include the full name and version identification of the system's hardware type, software operating-system, and</p><p>networking software.</p> |SNMP |system.descr[sysDescr.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
|General |{#PHASEINDEX}: Phase input voltage |<p>MIB: PowerNet-MIB</p><p>The input voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|General |{#PHASEINDEX}: Phase input current |<p>MIB: PowerNet-MIB</p><p>The input current in 0.1 amperes, or -0.1 if it's</p><p> unsupported by this UPS.</p> |SNMP |phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output voltage |<p>MIB: PowerNet-MIB</p><p>The output voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output current |<p>MIB: PowerNet-MIB</p><p>The output current in 0.1 amperes drawn</p><p> by the load on the UPS, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output load, % |<p>MIB: PowerNet-MIB</p><p>The percentage of the UPS load capacity in VA at</p><p> redundancy @ (n + x) presently being used on this</p><p> output phase, or -1 if it's unsupported by this UPS.</p> |SNMP |phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status |<p>MIB: PowerNet-MIB</p><p>The battery cartridge status.</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |SNMP |battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature |<p>MIB: PowerNet-MIB</p><p>The battery pack temperature in Celsius.</p> |SNMP |battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number |<p>MIB: PowerNet-MIB</p><p>The battery pack serial number.</p> |SNMP |system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
@@ -108,6 +116,7 @@ There are no template links in this template.
|----|-----------|----|----|----|
|Battery has an internal error condition |<p>A battery installed has an internal error condition.</p> |`{TEMPLATE_NAME:battery.status[upsBasicBatteryStatus].last()}=4` |AVERAGE | |
|Battery is Low |<p>The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.</p> |`{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 |<p>A battery installed has an internal error condition.</p> |`{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 | |
@@ -126,7 +135,8 @@ There are no template links in this template.
|UPS is Hardware Failure Bypass | |`{TEMPLATE_NAME:output.status[upsBasicOutputStatus].last()}=10` |AVERAGE | |
|System name has changed (new name: {ITEM.VALUE}) |<p>System name has changed. Ack to close.</p> |`{TEMPLATE_NAME:system.name.diff()}=1 and {TEMPLATE_NAME:system.name.strlen()}>0` |INFO |<p>Manual close: YES</p> |
|{#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 | |
-|{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status is not okay |<p>The battery cartridge status:</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |`{TEMPLATE_NAME:battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}].regexp("^(0{16})$")}=1` |WARNING | |
+|{#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 |<p>The battery cartridge status:</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |`{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 |<p>The battery cartridge health.</p><p> bit 0 Battery lifetime okay</p><p> bit 1 Battery lifetime near end, order replacement cartridge</p><p> bit 2 Battery lifetime exceeded, replace battery</p><p> bit 3 Battery lifetime near end acknowledged, order replacement cartridge</p><p> bit 4 Battery lifetime exceeded acknowledged, replace battery</p><p> bit 5 Battery measured lifetime near end, order replacement cartridge</p><p> bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge</p> |`{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 |<p>The external sensor does not work or is not connected.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=4` |INFO | |
diff --git a/templates/power/apc/apc_ups_symmetra_lx_snmp/template_power_apc_ups_symmetra_lx_snmp.yaml b/templates/power/apc/apc_ups_symmetra_lx_snmp/template_power_apc_ups_symmetra_lx_snmp.yaml
new file mode 100644
index 00000000000..370a65318af
--- /dev/null
+++ b/templates/power/apc/apc_ups_symmetra_lx_snmp/template_power_apc_ups_symmetra_lx_snmp.yaml
@@ -0,0 +1,1498 @@
+zabbix_export:
+ version: '5.4'
+ date: '2021-03-24T17:33:43Z'
+ groups:
+ -
+ name: Templates/Power
+ templates:
+ -
+ template: 'APC UPS Symmetra LX SNMP'
+ name: 'APC UPS Symmetra LX SNMP'
+ description: |
+ Template Power APC UPS Symmetra LX
+
+ MIBs used:
+ PowerNet-MIB
+ SNMPv2-MIB
+
+ You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
+
+ Template tooling version used: 0.38
+ groups:
+ -
+ name: Templates/Power
+ applications:
+ -
+ name: General
+ -
+ name: Status
+ items:
+ -
+ name: 'Battery capacity'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.1.0
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ MIB: PowerNet-MIB
+ The remaining battery capacity expressed as
+ percentage of full capacity.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()} < {$BATTERY.CAPACITY.MIN.WARN}'
+ name: 'Battery has low capacity (below {$BATTERY.CAPACITY.MIN.WARN}%)'
+ opdata: 'Current capacity: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'External battery packs count'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.5.0
+ key: 'battery.external_packs_count[upsAdvBatteryNumOfBattPacks]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery last replace date'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.1.3.0
+ key: 'battery.last_replace_date[upsBasicBatteryLastReplaceDate]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery replace indicator'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.4.0
+ key: 'battery.replace_indicator[upsAdvBatteryReplaceIndicator]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ Indicates whether the UPS batteries need replacement.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsAdvBatteryReplaceIndicator'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=2'
+ name: 'Battery needs replacement'
+ priority: HIGH
+ description: 'A battery installed has an internal error condition.'
+ -
+ name: 'Battery runtime remaining'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.3.0
+ key: 'battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]'
+ history: 7d
+ value_type: FLOAT
+ units: s
+ description: |
+ MIB: PowerNet-MIB
+ The UPS battery run time remaining before battery
+ exhaustion.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.01'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.1.1.0
+ key: 'battery.status[upsBasicBatteryStatus]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=4'
+ name: 'Battery has an internal error condition'
+ priority: AVERAGE
+ description: 'A battery installed has an internal error condition.'
+ -
+ expression: '{last()}=3'
+ name: 'Battery is Low'
+ priority: AVERAGE
+ description: 'The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.'
+ -
+ name: 'Battery temperature'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.2.0
+ key: 'battery.temperature[upsHighPrecBatteryTemperature]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The current internal UPS temperature in Celsius.
+ Temperatures below zero read as 0.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$BATTERY.TEMP.MAX.WARN}'
+ name: 'Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD})'
+ opdata: 'Current temperature: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Battery voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.4.0
+ key: 'battery.voltage[upsHighPrecBatteryActualVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The actual battery bus voltage in Volts.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'ICMP ping'
+ type: SIMPLE
+ key: icmpping
+ history: 1w
+ applications:
+ -
+ name: Status
+ valuemap:
+ name: 'Service state'
+ triggers:
+ -
+ expression: '{max(#3)}=0'
+ name: 'Unavailable by ICMP ping'
+ priority: HIGH
+ description: 'Last three attempts returned timeout. Please check device connectivity.'
+ -
+ name: 'ICMP loss'
+ type: SIMPLE
+ key: icmppingloss
+ history: 1w
+ value_type: FLOAT
+ units: '%'
+ applications:
+ -
+ name: Status
+ triggers:
+ -
+ expression: '{min(5m)}>{$ICMP.LOSS.WARN} and {min(5m)}<100'
+ name: 'High ICMP ping loss'
+ opdata: 'Loss: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ dependencies:
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC UPS Symmetra LX SNMP:icmpping.max(#3)}=0'
+ -
+ name: 'ICMP response time'
+ type: SIMPLE
+ key: icmppingsec
+ history: 1w
+ value_type: FLOAT
+ units: s
+ applications:
+ -
+ name: Status
+ triggers:
+ -
+ expression: '{avg(5m)}>{$ICMP.RESPONSE_TIME.WARN}'
+ name: 'High ICMP ping response time'
+ opdata: 'Value: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ dependencies:
+ -
+ name: 'High ICMP ping loss'
+ expression: '{APC UPS Symmetra LX SNMP:icmppingloss.min(5m)}>{$ICMP.LOSS.WARN} and {APC UPS Symmetra LX SNMP:icmppingloss.min(5m)}<100'
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC UPS Symmetra LX SNMP:icmpping.max(#3)}=0'
+ -
+ name: 'Input fail cause'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.2.5.0
+ key: 'input.fail[upsAdvInputLineFailCause]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsAdvInputLineFailCause'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Input frequency'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.3.4.0
+ key: 'input.frequency[upsHighPrecInputFrequency]'
+ history: 7d
+ value_type: FLOAT
+ units: Hz
+ description: |
+ MIB: PowerNet-MIB
+ The current input frequency to the UPS system in Hz.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > 0 and ({min({$TIME.PERIOD})} > {$UPS.INPUT_FREQ.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_FREQ.MIN.WARN})'
+ name: 'Unacceptable input frequency (out of range {$UPS.INPUT_FREQ.MIN.WARN}-{$UPS.INPUT_FREQ.MAX.WARN}Hz for {$TIME.PERIOD})'
+ opdata: 'Current frequency: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Input voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.3.1.0
+ key: 'input.voltage[upsHighPrecInputLineVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The current utility line voltage in VAC.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > 0 and ({min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN})'
+ name: 'Unacceptable input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Output current'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.4.0
+ key: 'output.current[upsHighPrecOutputCurrent]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ MIB: PowerNet-MIB
+ The current in amperes drawn by the load on the UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Output load'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.3.0
+ key: 'output.load[upsHighPrecOutputLoad]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ MIB: PowerNet-MIB
+ The current UPS load expressed as percentage
+ of rated capacity.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.OUTPUT.MAX.WARN}'
+ name: 'Output load is high (over {$UPS.OUTPUT.MAX.WARN}% for {$TIME.PERIOD})'
+ opdata: 'Current load: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ description: 'A battery installed has an internal error condition.'
+ -
+ name: 'Output status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.1.1.0
+ key: 'output.status[upsBasicOutputStatus]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=16'
+ name: 'UPS is Emergency Static Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=10'
+ name: 'UPS is Hardware Failure Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=7'
+ name: 'UPS is Off'
+ priority: AVERAGE
+ -
+ expression: '{last()}=3'
+ name: 'UPS is on battery'
+ priority: AVERAGE
+ -
+ expression: '{last()}=4'
+ name: 'UPS is on Smart Boost'
+ priority: AVERAGE
+ -
+ expression: '{last()}=12'
+ name: 'UPS is On Smart Trim'
+ priority: AVERAGE
+ -
+ expression: '{last()}=8'
+ name: 'UPS is Rebooting'
+ priority: AVERAGE
+ -
+ expression: '{last()}=11'
+ name: 'UPS is Sleeping Until Power Return'
+ priority: AVERAGE
+ -
+ expression: '{last()}=6'
+ name: 'UPS is Software Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=9'
+ name: 'UPS is Switched Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=5'
+ name: 'UPS is Timed Sleeping'
+ priority: AVERAGE
+ -
+ name: 'Output voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.1.0
+ key: 'output.voltage[upsHighPrecOutputVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The output voltage of the UPS system in VAC.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'SNMP traps (fallback)'
+ type: SNMP_TRAP
+ key: snmptrap.fallback
+ history: 2w
+ trends: '0'
+ value_type: LOG
+ description: 'Item is used to collect all SNMP traps unmatched by other snmptrap items'
+ applications:
+ -
+ name: General
+ logtimefmt: 'hh:mm:sszyyyy/MM/dd'
+ -
+ name: 'System contact details'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.4.0
+ key: 'system.contact[sysContact.0]'
+ delay: 1h
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: CONTACT
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1d
+ -
+ name: 'System description'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.1.0
+ key: 'system.descr[sysDescr.0]'
+ delay: 1h
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1d
+ -
+ name: 'System location'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.6.0
+ key: 'system.location[sysLocation.0]'
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: LOCATION
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ -
+ name: Model
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.1.1.1.0
+ key: 'system.model[upsBasicIdentModel]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The UPS model name (e.g. 'APC Smart-UPS 600').
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'System name'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.5.0
+ key: system.name
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: NAME
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ triggers:
+ -
+ expression: '{diff()}=1 and {strlen()}>0'
+ name: 'System name has changed (new name: {ITEM.VALUE})'
+ priority: INFO
+ description: 'System name has changed. Ack to close.'
+ manual_close: 'YES'
+ -
+ name: 'System object ID'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.2.0
+ key: 'system.objectid[sysObjectID.0]'
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: SNMPv2-MIB
+ The vendor's authoritative identification of the network management
+ subsystem contained in the entity. This value is allocated within the SMI enterprises
+ subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what
+ kind of box' is being managed. For example, if vendor`Flintstones, Inc.' was
+ assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1
+ to its `Fred Router'.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ -
+ name: 'Serial number'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.1.2.3.0
+ key: 'system.sn[upsAdvIdentSerialNumber]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: Uptime
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.3.0
+ key: 'system.uptime[sysUpTime.0]'
+ delay: 30s
+ history: 2w
+ trends: 0d
+ units: uptime
+ description: |
+ MIB: SNMPv2-MIB
+ The time (in hundredths of a second) since the network management
+ portion of the system was last re-initialized.
+ applications:
+ -
+ name: Status
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.01'
+ triggers:
+ -
+ expression: '{last()}<10m'
+ name: '{HOST.NAME} has been restarted (uptime < 10m)'
+ priority: WARNING
+ description: 'Uptime is less than 10 minutes'
+ manual_close: 'YES'
+ dependencies:
+ -
+ name: 'No SNMP data collection'
+ expression: '{APC UPS Symmetra LX SNMP:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0'
+ -
+ name: 'SNMP agent availability'
+ type: INTERNAL
+ key: 'zabbix[host,snmp,available]'
+ history: 7d
+ applications:
+ -
+ name: Status
+ valuemap:
+ name: zabbix.host.available
+ triggers:
+ -
+ expression: '{max({$SNMP.TIMEOUT})}=0'
+ name: 'No SNMP data collection'
+ opdata: 'Current state: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: 'SNMP is not available for polling. Please check device connectivity and SNMP settings.'
+ dependencies:
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC UPS Symmetra LX SNMP:icmpping.max(#3)}=0'
+ discovery_rules:
+ -
+ name: 'External bad battery packs discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_PACKS},1.3.6.1.4.1.318.1.1.1.2.2.6]'
+ key: battery.packs.bad.discovery
+ delay: 1h
+ description: 'Discovery of the number of external defective battery packs.'
+ item_prototypes:
+ -
+ name: '{#SNMPINDEX}: External battery packs bad'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.6.0
+ key: 'battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'External battery packs discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#CARTRIDGE_STATUS},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.7,{#BATTERY_PACK},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.1,{#CARTRIDGE_INDEX},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.2]'
+ key: battery.packs.discovery
+ delay: 1h
+ filter:
+ evaltype: AND
+ conditions:
+ -
+ macro: '{#CARTRIDGE_STATUS}'
+ value: ^$
+ operator: NOT_MATCHES_REGEX
+ formulaid: A
+ item_prototypes:
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.8.{#SNMPINDEX}'
+ key: 'battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The battery cartridge estimated battery replace date.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery pack cartridge health'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.7.{#SNMPINDEX}'
+ key: 'battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{regexp("^(0)[0|1]{15}$")}=1'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery lifetime is not okay'
+ opdata: 'Current bit set: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: |
+ 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
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.10.{#SNMPINDEX}'
+ key: 'battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{regexp("^(0{16})$")}=0'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status is not okay'
+ opdata: 'Current bit set: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: |
+ 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
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.5.{#SNMPINDEX}'
+ key: 'battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The battery pack temperature in Celsius.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$BATTERY.TEMP.MAX.WARN}'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD})'
+ opdata: 'Current temperature: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.4.{#SNMPINDEX}'
+ key: 'system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The battery pack serial number.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'External sensor port 1 discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_SENSOR1_NAME},1.3.6.1.4.1.318.1.1.25.1.2.1.3]'
+ key: external.sensor1.discovery
+ delay: 1h
+ description: uioSensorStatusTable
+ item_prototypes:
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Humidity sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.7.1.1
+ key: 'external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor alarm status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.9.1.1
+ key: 'external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ The alarm status of the sensor. Possible values:
+ uioNormal (1),
+ uioWarning (2),
+ uioCritical (3),
+ sensorStatusNotApplicable (4)
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{last()}=3'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical'
+ priority: HIGH
+ description: 'The external sensor has returned a value greater than the critical threshold.'
+ -
+ expression: '{last()}=4'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Not Applicable'
+ priority: INFO
+ description: 'The external sensor does not work or is not connected.'
+ -
+ expression: '{last()}=2'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning'
+ priority: AVERAGE
+ description: 'The external sensor has returned a value greater than the warning threshold.'
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Temperature sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.6.1.1
+ key: 'external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The sensor's current temperature reading in Celsius.
+ -1 indicates an invalid reading due to lost communications.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ overrides:
+ -
+ name: Temp
+ step: '1'
+ filter:
+ conditions:
+ -
+ macro: '{#EXTERNAL_SENSOR1_NAME}'
+ value: Temp
+ formulaid: A
+ operations:
+ -
+ operationobject: ITEM_PROTOTYPE
+ operator: LIKE
+ value: Humidity
+ status: ENABLED
+ discover: NO_DISCOVER
+ -
+ name: 'External sensor port 2 discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_SENSOR2_NAME},1.3.6.1.4.1.318.1.1.25.1.2.2.3]'
+ key: external.sensor2.discovery
+ delay: 1h
+ description: uioSensorStatusTable
+ item_prototypes:
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Humidity sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.7.1.1
+ key: 'external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor alarm status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.9.1.1
+ key: 'external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ The alarm status of the sensor. Possible values:
+ uioNormal (1),
+ uioWarning (2),
+ uioCritical (3),
+ sensorStatusNotApplicable (4)
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{last()}=3'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical'
+ priority: HIGH
+ description: 'The external sensor has returned a value greater than the critical threshold.'
+ -
+ expression: '{last()}=4'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable'
+ priority: INFO
+ description: 'The external sensor does not work or is not connected.'
+ -
+ expression: '{last()}=2'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning'
+ priority: AVERAGE
+ description: 'The external sensor has returned a value greater than the warning threshold.'
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Temperature sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.6.1.1
+ key: 'external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The sensor's current temperature reading in Celsius.
+ -1 indicates an invalid reading due to lost communications.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ overrides:
+ -
+ name: Temp
+ step: '1'
+ filter:
+ conditions:
+ -
+ macro: '{#EXTERNAL_SENSOR2_NAME}'
+ value: Temp
+ formulaid: A
+ operations:
+ -
+ operationobject: ITEM_PROTOTYPE
+ operator: LIKE
+ value: Humidity
+ status: ENABLED
+ discover: NO_DISCOVER
+ -
+ name: 'Input phases discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#PHASEINDEX},1.3.6.1.4.1.318.1.1.1.9.2.3.1.2.1.1]'
+ key: input.phases.discovery
+ delay: 1h
+ description: 'The input phase identifier. OID upsPhaseInputPhaseIndex.1.1'
+ item_prototypes:
+ -
+ name: '{#PHASEINDEX}: Phase input current'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.2.3.1.6.1.1.{#PHASEINDEX}'
+ key: 'phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ MIB: PowerNet-MIB
+ The input current in 0.1 amperes, or -0.1 if it's
+ unsupported by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase input voltage'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.2.3.1.3.1.1.{#PHASEINDEX}'
+ key: 'phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The input voltage in VAC, or -1 if it's unsupported
+ by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}'
+ name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Output phases discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#PHASEINDEX},1.3.6.1.4.1.318.1.1.1.9.3.3.1.2.1.1]'
+ key: output.phases.discovery
+ delay: 1h
+ description: 'The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1'
+ item_prototypes:
+ -
+ name: '{#PHASEINDEX}: Phase output current'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.4.1.1.{#PHASEINDEX}'
+ key: 'phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output load, %'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.10.1.1.{#PHASEINDEX}'
+ key: 'phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output voltage'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.3.1.1.{#PHASEINDEX}'
+ key: 'phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The output voltage in VAC, or -1 if it's unsupported
+ by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}'
+ name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} output voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ macros:
+ -
+ macro: '{$BATTERY.CAPACITY.MIN.WARN}'
+ value: '50'
+ description: 'Minimum battery capacity percentage for trigger expression.'
+ -
+ macro: '{$BATTERY.TEMP.MAX.WARN}'
+ value: '55'
+ description: 'Maximum battery temperature for trigger expression.'
+ -
+ macro: '{$ICMP.LOSS.WARN}'
+ value: '20'
+ -
+ macro: '{$ICMP.RESPONSE_TIME.WARN}'
+ value: '0.15'
+ -
+ macro: '{$SNMP.TIMEOUT}'
+ value: 5m
+ description: 'The time interval for SNMP agent availability trigger expression.'
+ -
+ macro: '{$TIME.PERIOD}'
+ value: 15m
+ description: 'Time period for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_FREQ.MAX.WARN}'
+ value: '50.3'
+ description: 'Maximum input frequency for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_FREQ.MIN.WARN}'
+ value: '49.7'
+ description: 'Minimum input frequency for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_VOLT.MAX.WARN}'
+ value: '243'
+ description: 'Maximum input voltage for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_VOLT.MIN.WARN}'
+ value: '197'
+ description: 'Minimum input voltage for trigger expression.'
+ -
+ macro: '{$UPS.OUTPUT.MAX.WARN}'
+ value: '80'
+ description: 'Maximum output load in % for trigger expression.'
+ valuemaps:
+ -
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ mappings:
+ -
+ value: '1'
+ newvalue: Normal
+ -
+ value: '2'
+ newvalue: Warning
+ -
+ value: '3'
+ newvalue: Critical
+ -
+ value: '4'
+ newvalue: 'Not applicable'
+ -
+ name: 'PowerNet-MIB::upsAdvBatteryReplaceIndicator'
+ mappings:
+ -
+ value: '1'
+ newvalue: 'no Battery Needs Replacing'
+ -
+ value: '2'
+ newvalue: 'battery Needs Replacing'
+ -
+ name: 'PowerNet-MIB::upsAdvInputLineFailCause'
+ mappings:
+ -
+ value: '1'
+ newvalue: 'no Transfer'
+ -
+ value: '2'
+ newvalue: 'High Line Voltage'
+ -
+ value: '3'
+ newvalue: Brownout
+ -
+ value: '4'
+ newvalue: Blackout
+ -
+ value: '5'
+ newvalue: 'Small Momentary Sag'
+ -
+ value: '6'
+ newvalue: 'Deep Momentary Sag'
+ -
+ value: '7'
+ newvalue: 'Small Momentary Spike'
+ -
+ value: '8'
+ newvalue: 'Large Momentary Spike'
+ -
+ value: '9'
+ newvalue: 'Self Test'
+ -
+ value: '10'
+ newvalue: 'Rate of Voltage Change'
+ -
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ mappings:
+ -
+ value: '1'
+ newvalue: Unknown
+ -
+ value: '2'
+ newvalue: Normal
+ -
+ value: '3'
+ newvalue: Low
+ -
+ value: '4'
+ newvalue: 'In Fault Condition'
+ -
+ name: 'Service state'
+ mappings:
+ -
+ value: '0'
+ newvalue: Down
+ -
+ value: '1'
+ newvalue: Up
+ -
+ name: zabbix.host.available
+ mappings:
+ -
+ value: '0'
+ newvalue: 'not available'
+ -
+ value: '1'
+ newvalue: available
+ -
+ value: '2'
+ newvalue: unknown
+ graphs:
+ -
+ name: 'Capacity of the UPS batteries'
+ type: PIE
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC UPS Symmetra LX SNMP'
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
+ -
+ name: Output
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC UPS Symmetra LX SNMP'
+ key: 'output.current[upsHighPrecOutputCurrent]'
+ -
+ sortorder: '1'
+ color: 2774A4
+ item:
+ host: 'APC UPS Symmetra LX SNMP'
+ key: 'output.load[upsHighPrecOutputLoad]'
+ -
+ name: Voltage
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC UPS Symmetra LX SNMP'
+ key: 'input.voltage[upsHighPrecInputLineVoltage]'
+ -
+ sortorder: '1'
+ color: 2774A4
+ item:
+ host: 'APC UPS Symmetra LX SNMP'
+ key: 'output.voltage[upsHighPrecOutputVoltage]'
diff --git a/templates/power/apc/apc_ups_symmetra_rm_snmp/README.md b/templates/power/apc/apc_ups_symmetra_rm_snmp/README.md
new file mode 100644
index 00000000000..0d2a6b4cfad
--- /dev/null
+++ b/templates/power/apc/apc_ups_symmetra_rm_snmp/README.md
@@ -0,0 +1,159 @@
+
+# APC UPS Symmetra RM SNMP
+
+## Overview
+
+For Zabbix version: 5.4 and higher
+The template to monitor APC UPS Symmetra RM by Zabbix SNMP agent.
+Note: please, use the latest version of the firmware for your NMC in order for the template to work correctly.
+
+
+
+This template was tested on:
+
+- APC UPS Symmetra RM 6000
+
+## Setup
+
+> See [Zabbix template operation](https://www.zabbix.com/documentation/5.4/manual/config/templates_out_of_the_box/network_devices) for basic instructions.
+
+1\. Create a host for APC UPS Symmetra RM 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} |<p>Minimum battery capacity percentage for trigger expression.</p> |`50` |
+|{$BATTERY.TEMP.MAX.WARN} |<p>Maximum battery temperature for trigger expression.</p> |`55` |
+|{$ICMP.LOSS.WARN} |<p>-</p> |`20` |
+|{$ICMP.RESPONSE_TIME.WARN} |<p>-</p> |`0.15` |
+|{$SNMP.TIMEOUT} |<p>The time interval for SNMP agent availability trigger expression.</p> |`5m` |
+|{$TIME.PERIOD} |<p>Time period for trigger expression.</p> |`15m` |
+|{$UPS.INPUT_FREQ.MAX.WARN} |<p>Maximum input frequency for trigger expression.</p> |`50.3` |
+|{$UPS.INPUT_FREQ.MIN.WARN} |<p>Minimum input frequency for trigger expression.</p> |`49.7` |
+|{$UPS.INPUT_VOLT.MAX.WARN} |<p>Maximum input voltage for trigger expression.</p> |`243` |
+|{$UPS.INPUT_VOLT.MIN.WARN} |<p>Minimum input voltage for trigger expression.</p> |`197` |
+|{$UPS.OUTPUT.MAX.WARN} |<p>Maximum output load in % for trigger expression.</p> |`80` |
+
+## Template links
+
+There are no template links in this template.
+
+## Discovery rules
+
+|Name|Description|Type|Key and additional info|
+|----|-----------|----|----|
+|Input phases discovery |<p>The input phase identifier. OID upsPhaseInputPhaseIndex.1.1</p> |SNMP |input.phases.discovery |
+|Output phases discovery |<p>The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1</p> |SNMP |output.phases.discovery |
+|External battery packs discovery | |SNMP |battery.packs.discovery<p>**Filter**:</p>AND <p>- A: {#CARTRIDGE_STATUS} NOT_MATCHES_REGEX `^$`</p> |
+|External bad battery packs discovery |<p>Discovery of the number of external defective battery packs.</p> |SNMP |battery.packs.bad.discovery |
+|External sensor port 1 discovery |<p>uioSensorStatusTable</p> |SNMP |external.sensor1.discovery |
+|External sensor port 2 discovery |<p>uioSensorStatusTable</p> |SNMP |external.sensor2.discovery |
+
+## Items collected
+
+|Group|Name|Description|Type|Key and additional info|
+|-----|----|-----------|----|---------------------|
+|General |Model |<p>MIB: PowerNet-MIB</p><p>The UPS model name (e.g. 'APC Smart-UPS 600').</p> |SNMP |system.model[upsBasicIdentModel]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Serial number |<p>MIB: PowerNet-MIB</p><p>An 8-character string identifying the serial number of</p><p> the UPS internal microprocessor. This number is set at</p><p> the factory. NOTE: This number does NOT correspond to</p><p> the serial number on the rear of the UPS.</p> |SNMP |system.sn[upsAdvIdentSerialNumber]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery status |<p>MIB: PowerNet-MIB</p><p>The status of the UPS batteries. A batteryLow(3) value</p><p> indicates the UPS will be unable to sustain the current</p><p> load, and its services will be lost if power is not restored.</p><p> The amount of run time in reserve at the time of low battery</p><p> can be configured by the upsAdvConfigLowBatteryRunTime.</p><p> A batteryInFaultCondition(4)value indicates that a battery</p><p> installed has an internal error condition.</p> |SNMP |battery.status[upsBasicBatteryStatus]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery capacity |<p>MIB: PowerNet-MIB</p><p>The remaining battery capacity expressed as</p><p> percentage of full capacity.</p> |SNMP |battery.capacity[upsHighPrecBatteryCapacity]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery runtime remaining |<p>MIB: PowerNet-MIB</p><p>The UPS battery run time remaining before battery</p><p> exhaustion.</p> |SNMP |battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery voltage |<p>MIB: PowerNet-MIB</p><p>The actual battery bus voltage in Volts.</p> |SNMP |battery.voltage[upsHighPrecBatteryActualVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery last replace date |<p>MIB: PowerNet-MIB</p><p>The date when the UPS system's batteries were last replaced</p><p> in mm/dd/yy (or yyyy) format. For Smart-UPS models, this value</p><p> is originally set at the factory. When the UPS batteries</p><p> are replaced, this value should be reset by the administrator.</p><p> For Symmetra PX 250/500 this OID is read-only and is configurable in the local display only.</p> |SNMP |battery.last_replace_date[upsBasicBatteryLastReplaceDate]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery replace indicator |<p>MIB: PowerNet-MIB</p><p>Indicates whether the UPS batteries need replacement.</p> |SNMP |battery.replace_indicator[upsAdvBatteryReplaceIndicator]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |External battery packs count |<p>MIB: PowerNet-MIB</p><p>The number of external battery packs connected to the UPS. If</p><p> the UPS does not use smart cells then the agent reports</p><p> ERROR_NO_SUCH_NAME.</p> |SNMP |battery.external_packs_count[upsAdvBatteryNumOfBattPacks]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Battery temperature |<p>MIB: PowerNet-MIB</p><p>The current internal UPS temperature in Celsius.</p><p> Temperatures below zero read as 0.</p> |SNMP |battery.temperature[upsHighPrecBatteryTemperature]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input voltage |<p>MIB: PowerNet-MIB</p><p>The current utility line voltage in VAC.</p> |SNMP |input.voltage[upsHighPrecInputLineVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input frequency |<p>MIB: PowerNet-MIB</p><p>The current input frequency to the UPS system in Hz.</p> |SNMP |input.frequency[upsHighPrecInputFrequency]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Input fail cause |<p>MIB: PowerNet-MIB</p><p>The reason for the occurrence of the last transfer to UPS</p><p>battery power. The variable is set to:</p><p>- noTransfer(1) -- if there is no transfer yet.</p><p>- highLineVoltage(2) -- if the transfer to battery is caused</p><p>by an over voltage greater than the high transfer voltage.</p><p>- brownout(3) -- if the duration of the outage is greater than</p><p>five seconds and the line voltage is between 40% of the</p><p>rated output voltage and the low transfer voltage.</p><p>- blackout(4) -- if the duration of the outage is greater than five</p><p>seconds and the line voltage is between 40% of the rated</p><p>output voltage and ground.</p><p>- smallMomentarySag(5) -- if the duration of the outage is less</p><p>than five seconds and the line voltage is between 40% of the</p><p>rated output voltage and the low transfer voltage.</p><p>- deepMomentarySag(6) -- if the duration of the outage is less</p><p>than five seconds and the line voltage is between 40% of the</p><p>rated output voltage and ground. The variable is set to</p><p>- smallMomentarySpike(7) -- if the line failure is caused by a</p><p>rate of change of input voltage less than ten volts per cycle.</p><p>- largeMomentarySpike(8) -- if the line failure is caused by</p><p>a rate of change of input voltage greater than ten volts per cycle.</p><p>- selfTest(9) -- if the UPS was commanded to do a self test.</p><p>- rateOfVoltageChange(10) -- if the failure is due to the rate of change of</p><p>the line voltage.</p> |SNMP |input.fail[upsAdvInputLineFailCause]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output voltage |<p>MIB: PowerNet-MIB</p><p>The output voltage of the UPS system in VAC.</p> |SNMP |output.voltage[upsHighPrecOutputVoltage]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output load |<p>MIB: PowerNet-MIB</p><p>The current UPS load expressed as percentage</p><p>of rated capacity.</p> |SNMP |output.load[upsHighPrecOutputLoad]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output current |<p>MIB: PowerNet-MIB</p><p>The current in amperes drawn by the load on the UPS.</p> |SNMP |output.current[upsHighPrecOutputCurrent]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |Output status |<p>MIB: PowerNet-MIB</p><p>The current state of the UPS. If the UPS is unable to</p><p> determine the state of the UPS this variable is set</p><p> to unknown(1).</p><p>During self-test most UPSes report onBattery(3) but</p><p> some that support it will report onBatteryTest(15).</p><p> To determine self-test status across all UPSes, refer</p><p> to the upsBasicStateOutputState OID.</p> |SNMP |output.status[upsBasicOutputStatus]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |SNMP traps (fallback) |<p>Item is used to collect all SNMP traps unmatched by other snmptrap items</p> |SNMP_TRAP |snmptrap.fallback |
+|General |System location |<p>MIB: SNMPv2-MIB</p><p>The physical location of this node (e.g., `telephone closet,</p><p>3rd floor'). If the location is unknown, the value is the zero-length string.</p> |SNMP |system.location[sysLocation.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System contact details |<p>MIB: SNMPv2-MIB</p><p>The textual identification of the contact person for this managed</p><p>node, together with information on how to contact this person. If no contact</p><p>information is known, the value is the zero-length string.</p> |SNMP |system.contact[sysContact.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
+|General |System object ID |<p>MIB: SNMPv2-MIB</p><p>The vendor's authoritative identification of the network management</p><p>subsystem contained in the entity. This value is allocated within the SMI enterprises</p><p>subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what</p><p>kind of box' is being managed. For example, if vendor`Flintstones, Inc.' was</p><p>assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1</p><p>to its `Fred Router'.</p> |SNMP |system.objectid[sysObjectID.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System name |<p>MIB: SNMPv2-MIB</p><p>An administratively-assigned name for this managed node.By</p><p>convention, this is the node's fully-qualified domain name. If the name is unknown,</p><p>the value is the zero-length string.</p> |SNMP |system.name<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
+|General |System description |<p>MIB: SNMPv2-MIB</p><p>A textual description of the entity. This value should</p><p>include the full name and version identification of the system's hardware type, software operating-system, and</p><p>networking software.</p> |SNMP |system.descr[sysDescr.0]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1d`</p> |
+|General |{#PHASEINDEX}: Phase input voltage |<p>MIB: PowerNet-MIB</p><p>The input voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase input current |<p>MIB: PowerNet-MIB</p><p>The input current in 0.1 amperes, or -0.1 if it's</p><p> unsupported by this UPS.</p> |SNMP |phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output voltage |<p>MIB: PowerNet-MIB</p><p>The output voltage in VAC, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output current |<p>MIB: PowerNet-MIB</p><p>The output current in 0.1 amperes drawn</p><p> by the load on the UPS, or -1 if it's unsupported</p><p> by this UPS.</p> |SNMP |phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#PHASEINDEX}: Phase output load, % |<p>MIB: PowerNet-MIB</p><p>The percentage of the UPS load capacity in VA at</p><p> redundancy @ (n + x) presently being used on this</p><p> output phase, or -1 if it's unsupported by this UPS.</p> |SNMP |phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status |<p>MIB: PowerNet-MIB</p><p>The battery cartridge status.</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |SNMP |battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature |<p>MIB: PowerNet-MIB</p><p>The battery pack temperature in Celsius.</p> |SNMP |battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.1`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number |<p>MIB: PowerNet-MIB</p><p>The battery pack serial number.</p> |SNMP |system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date |<p>MIB: PowerNet-MIB</p><p>The battery cartridge estimated battery replace date.</p> |SNMP |battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery pack cartridge health |<p>MIB: PowerNet-MIB</p><p>The battery cartridge health.</p><p> bit 0 Battery lifetime okay</p><p> bit 1 Battery lifetime near end, order replacement cartridge</p><p> bit 2 Battery lifetime exceeded, replace battery</p><p> bit 3 Battery lifetime near end acknowledged, order replacement cartridge</p><p> bit 4 Battery lifetime exceeded acknowledged, replace battery</p><p> bit 5 Battery measured lifetime near end, order replacement cartridge</p><p> bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge</p> |SNMP |battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#SNMPINDEX}: External battery packs bad |<p>MIB: PowerNet-MIB</p><p>The number of external battery packs connected to the UPS that</p><p>are defective. If the UPS does not use smart cells then the</p><p>agent reports ERROR_NO_SUCH_NAME.</p> |SNMP |battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Temperature sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current temperature reading in Celsius.</p><p> -1 indicates an invalid reading due to lost communications.</p> |SNMP |external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Humidity sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current humidity reading - a relative humidity</p><p> percentage. -1 indicates an invalid reading due to either a</p><p> sensor that doesn't read humidity or lost communications.</p> |SNMP |external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR1_NAME}: Sensor alarm status |<p>MIB: PowerNet-MIB</p><p>The alarm status of the sensor. Possible values:</p><p>uioNormal (1),</p><p>uioWarning (2),</p><p>uioCritical (3),</p><p>sensorStatusNotApplicable (4)</p> |SNMP |external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Temperature sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current temperature reading in Celsius.</p><p> -1 indicates an invalid reading due to lost communications.</p> |SNMP |external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Humidity sensor |<p>MIB: PowerNet-MIB</p><p>The sensor's current humidity reading - a relative humidity</p><p> percentage. -1 indicates an invalid reading due to either a</p><p> sensor that doesn't read humidity or lost communications.</p> |SNMP |external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|General |{#EXTERNAL_SENSOR2_NAME}: Sensor alarm status |<p>MIB: PowerNet-MIB</p><p>The alarm status of the sensor. Possible values:</p><p>uioNormal (1),</p><p>uioWarning (2),</p><p>uioCritical (3),</p><p>sensorStatusNotApplicable (4)</p> |SNMP |external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
+|Status |Uptime |<p>MIB: SNMPv2-MIB</p><p>The time (in hundredths of a second) since the network management</p><p>portion of the system was last re-initialized.</p> |SNMP |system.uptime[sysUpTime.0]<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p> |
+|Status |SNMP agent availability |<p>-</p> |INTERNAL |zabbix[host,snmp,available] |
+|Status |ICMP ping |<p>-</p> |SIMPLE |icmpping |
+|Status |ICMP loss |<p>-</p> |SIMPLE |icmppingloss |
+|Status |ICMP response time |<p>-</p> |SIMPLE |icmppingsec |
+
+## Triggers
+
+|Name|Description|Expression|Severity|Dependencies and additional info|
+|----|-----------|----|----|----|
+|Battery has an internal error condition |<p>A battery installed has an internal error condition.</p> |`{TEMPLATE_NAME:battery.status[upsBasicBatteryStatus].last()}=4` |AVERAGE | |
+|Battery is Low |<p>The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.</p> |`{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 |<p>A battery installed has an internal error condition.</p> |`{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}) |<p>A battery installed has an internal error condition.</p> |`{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 | |
+|System name has changed (new name: {ITEM.VALUE}) |<p>System name has changed. Ack to close.</p> |`{TEMPLATE_NAME:system.name.diff()}=1 and {TEMPLATE_NAME:system.name.strlen()}>0` |INFO |<p>Manual close: YES</p> |
+|{#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 |<p>The battery cartridge status:</p><p>bit 0 Disconnected</p><p>bit 1 Overvoltage</p><p>bit 2 NeedsReplacement</p><p>bit 3 OvertemperatureCritical</p><p>bit 4 Charger</p><p>bit 5 TemperatureSensor</p><p>bit 6 BusSoftStart</p><p>bit 7 OvertemperatureWarning</p><p>bit 8 GeneralError</p><p>bit 9 Communication</p><p>bit 10 DisconnectedFrame</p><p>bit 11 FirmwareMismatch</p> |`{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 |<p>The battery cartridge health.</p><p> bit 0 Battery lifetime okay</p><p> bit 1 Battery lifetime near end, order replacement cartridge</p><p> bit 2 Battery lifetime exceeded, replace battery</p><p> bit 3 Battery lifetime near end acknowledged, order replacement cartridge</p><p> bit 4 Battery lifetime exceeded acknowledged, replace battery</p><p> bit 5 Battery measured lifetime near end, order replacement cartridge</p><p> bit 6 Battery measured lifetime near end acknowledged, order replacement cartridge</p> |`{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 |<p>The external sensor does not work or is not connected.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=4` |INFO | |
+|{#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning |<p>The external sensor has returned a value greater than the warning threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=2` |AVERAGE | |
+|{#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical |<p>The external sensor has returned a value greater than the critical threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}].last()}=3` |HIGH | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable |<p>The external sensor does not work or is not connected.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=4` |INFO | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning |<p>The external sensor has returned a value greater than the warning threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=2` |AVERAGE | |
+|{#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical |<p>The external sensor has returned a value greater than the critical threshold.</p> |`{TEMPLATE_NAME:external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}].last()}=3` |HIGH | |
+|{HOST.NAME} has been restarted (uptime < 10m) |<p>Uptime is less than 10 minutes</p> |`{TEMPLATE_NAME:system.uptime[sysUpTime.0].last()}<10m` |WARNING |<p>Manual close: YES</p><p>**Depends on**:</p><p>- No SNMP data collection</p> |
+|No SNMP data collection |<p>SNMP is not available for polling. Please check device connectivity and SNMP settings.</p> |`{TEMPLATE_NAME:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0` |WARNING |<p>**Depends on**:</p><p>- Unavailable by ICMP ping</p> |
+|Unavailable by ICMP ping |<p>Last three attempts returned timeout. Please check device connectivity.</p> |`{TEMPLATE_NAME:icmpping.max(#3)}=0` |HIGH | |
+|High ICMP ping loss |<p>-</p> |`{TEMPLATE_NAME:icmppingloss.min(5m)}>{$ICMP.LOSS.WARN} and {TEMPLATE_NAME:icmppingloss.min(5m)}<100` |WARNING |<p>**Depends on**:</p><p>- Unavailable by ICMP ping</p> |
+|High ICMP ping response time |<p>-</p> |`{TEMPLATE_NAME:icmppingsec.avg(5m)}>{$ICMP.RESPONSE_TIME.WARN}` |WARNING |<p>**Depends on**:</p><p>- High ICMP ping loss</p><p>- Unavailable by ICMP ping</p> |
+
+## 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](https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups).
+
diff --git a/templates/power/apc/apc_ups_symmetra_rm_snmp/template_power_apc_ups_symmetra_rm_snmp.yaml b/templates/power/apc/apc_ups_symmetra_rm_snmp/template_power_apc_ups_symmetra_rm_snmp.yaml
new file mode 100644
index 00000000000..a87a97f41fe
--- /dev/null
+++ b/templates/power/apc/apc_ups_symmetra_rm_snmp/template_power_apc_ups_symmetra_rm_snmp.yaml
@@ -0,0 +1,1498 @@
+zabbix_export:
+ version: '5.4'
+ date: '2021-03-24T17:34:07Z'
+ groups:
+ -
+ name: Templates/Power
+ templates:
+ -
+ template: 'APC UPS Symmetra RM SNMP'
+ name: 'APC UPS Symmetra RM SNMP'
+ description: |
+ Template Power APC UPS Symmetra RM
+
+ MIBs used:
+ PowerNet-MIB
+ SNMPv2-MIB
+
+ You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/420730-discussion-thread-for-official-zabbix-template-apc-ups
+
+ Template tooling version used: 0.38
+ groups:
+ -
+ name: Templates/Power
+ applications:
+ -
+ name: General
+ -
+ name: Status
+ items:
+ -
+ name: 'Battery capacity'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.1.0
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ MIB: PowerNet-MIB
+ The remaining battery capacity expressed as
+ percentage of full capacity.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()} < {$BATTERY.CAPACITY.MIN.WARN}'
+ name: 'Battery has low capacity (below {$BATTERY.CAPACITY.MIN.WARN}%)'
+ opdata: 'Current capacity: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'External battery packs count'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.5.0
+ key: 'battery.external_packs_count[upsAdvBatteryNumOfBattPacks]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery last replace date'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.1.3.0
+ key: 'battery.last_replace_date[upsBasicBatteryLastReplaceDate]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery replace indicator'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.4.0
+ key: 'battery.replace_indicator[upsAdvBatteryReplaceIndicator]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ Indicates whether the UPS batteries need replacement.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsAdvBatteryReplaceIndicator'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=2'
+ name: 'Battery needs replacement'
+ priority: HIGH
+ description: 'A battery installed has an internal error condition.'
+ -
+ name: 'Battery runtime remaining'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.3.0
+ key: 'battery.runtime_remaining[upsAdvBatteryRunTimeRemaining]'
+ history: 7d
+ value_type: FLOAT
+ units: s
+ description: |
+ MIB: PowerNet-MIB
+ The UPS battery run time remaining before battery
+ exhaustion.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.01'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Battery status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.1.1.0
+ key: 'battery.status[upsBasicBatteryStatus]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=4'
+ name: 'Battery has an internal error condition'
+ priority: AVERAGE
+ description: 'A battery installed has an internal error condition.'
+ -
+ expression: '{last()}=3'
+ name: 'Battery is Low'
+ priority: AVERAGE
+ description: 'The UPS will be unable to sustain the current load, and its services will be lost if power is not restored.'
+ -
+ name: 'Battery temperature'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.2.0
+ key: 'battery.temperature[upsHighPrecBatteryTemperature]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The current internal UPS temperature in Celsius.
+ Temperatures below zero read as 0.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$BATTERY.TEMP.MAX.WARN}'
+ name: 'Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD})'
+ opdata: 'Current temperature: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Battery voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.3.4.0
+ key: 'battery.voltage[upsHighPrecBatteryActualVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The actual battery bus voltage in Volts.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'ICMP ping'
+ type: SIMPLE
+ key: icmpping
+ history: 1w
+ applications:
+ -
+ name: Status
+ valuemap:
+ name: 'Service state'
+ triggers:
+ -
+ expression: '{max(#3)}=0'
+ name: 'Unavailable by ICMP ping'
+ priority: HIGH
+ description: 'Last three attempts returned timeout. Please check device connectivity.'
+ -
+ name: 'ICMP loss'
+ type: SIMPLE
+ key: icmppingloss
+ history: 1w
+ value_type: FLOAT
+ units: '%'
+ applications:
+ -
+ name: Status
+ triggers:
+ -
+ expression: '{min(5m)}>{$ICMP.LOSS.WARN} and {min(5m)}<100'
+ name: 'High ICMP ping loss'
+ opdata: 'Loss: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ dependencies:
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC UPS Symmetra RM SNMP:icmpping.max(#3)}=0'
+ -
+ name: 'ICMP response time'
+ type: SIMPLE
+ key: icmppingsec
+ history: 1w
+ value_type: FLOAT
+ units: s
+ applications:
+ -
+ name: Status
+ triggers:
+ -
+ expression: '{avg(5m)}>{$ICMP.RESPONSE_TIME.WARN}'
+ name: 'High ICMP ping response time'
+ opdata: 'Value: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ dependencies:
+ -
+ name: 'High ICMP ping loss'
+ expression: '{APC UPS Symmetra RM SNMP:icmppingloss.min(5m)}>{$ICMP.LOSS.WARN} and {APC UPS Symmetra RM SNMP:icmppingloss.min(5m)}<100'
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC UPS Symmetra RM SNMP:icmpping.max(#3)}=0'
+ -
+ name: 'Input fail cause'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.2.5.0
+ key: 'input.fail[upsAdvInputLineFailCause]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsAdvInputLineFailCause'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Input frequency'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.3.4.0
+ key: 'input.frequency[upsHighPrecInputFrequency]'
+ history: 7d
+ value_type: FLOAT
+ units: Hz
+ description: |
+ MIB: PowerNet-MIB
+ The current input frequency to the UPS system in Hz.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > 0 and ({min({$TIME.PERIOD})} > {$UPS.INPUT_FREQ.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_FREQ.MIN.WARN})'
+ name: 'Unacceptable input frequency (out of range {$UPS.INPUT_FREQ.MIN.WARN}-{$UPS.INPUT_FREQ.MAX.WARN}Hz for {$TIME.PERIOD})'
+ opdata: 'Current frequency: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Input voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.3.3.1.0
+ key: 'input.voltage[upsHighPrecInputLineVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The current utility line voltage in VAC.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > 0 and ({min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN})'
+ name: 'Unacceptable input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Output current'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.4.0
+ key: 'output.current[upsHighPrecOutputCurrent]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ MIB: PowerNet-MIB
+ The current in amperes drawn by the load on the UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'Output load'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.3.0
+ key: 'output.load[upsHighPrecOutputLoad]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ MIB: PowerNet-MIB
+ The current UPS load expressed as percentage
+ of rated capacity.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.OUTPUT.MAX.WARN}'
+ name: 'Output load is high (over {$UPS.OUTPUT.MAX.WARN}% for {$TIME.PERIOD})'
+ opdata: 'Current load: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ description: 'A battery installed has an internal error condition.'
+ -
+ name: 'Output status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.1.1.0
+ key: 'output.status[upsBasicOutputStatus]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ triggers:
+ -
+ expression: '{last()}=16'
+ name: 'UPS is Emergency Static Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=10'
+ name: 'UPS is Hardware Failure Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=7'
+ name: 'UPS is Off'
+ priority: AVERAGE
+ -
+ expression: '{last()}=3'
+ name: 'UPS is on battery'
+ priority: AVERAGE
+ -
+ expression: '{last()}=4'
+ name: 'UPS is on Smart Boost'
+ priority: AVERAGE
+ -
+ expression: '{last()}=12'
+ name: 'UPS is On Smart Trim'
+ priority: AVERAGE
+ -
+ expression: '{last()}=8'
+ name: 'UPS is Rebooting'
+ priority: AVERAGE
+ -
+ expression: '{last()}=11'
+ name: 'UPS is Sleeping Until Power Return'
+ priority: AVERAGE
+ -
+ expression: '{last()}=6'
+ name: 'UPS is Software Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=9'
+ name: 'UPS is Switched Bypass'
+ priority: AVERAGE
+ -
+ expression: '{last()}=5'
+ name: 'UPS is Timed Sleeping'
+ priority: AVERAGE
+ -
+ name: 'Output voltage'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.4.3.1.0
+ key: 'output.voltage[upsHighPrecOutputVoltage]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The output voltage of the UPS system in VAC.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'SNMP traps (fallback)'
+ type: SNMP_TRAP
+ key: snmptrap.fallback
+ history: 2w
+ trends: '0'
+ value_type: LOG
+ description: 'Item is used to collect all SNMP traps unmatched by other snmptrap items'
+ applications:
+ -
+ name: General
+ logtimefmt: 'hh:mm:sszyyyy/MM/dd'
+ -
+ name: 'System contact details'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.4.0
+ key: 'system.contact[sysContact.0]'
+ delay: 1h
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: CONTACT
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1d
+ -
+ name: 'System description'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.1.0
+ key: 'system.descr[sysDescr.0]'
+ delay: 1h
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1d
+ -
+ name: 'System location'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.6.0
+ key: 'system.location[sysLocation.0]'
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: LOCATION
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ -
+ name: Model
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.1.1.1.0
+ key: 'system.model[upsBasicIdentModel]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The UPS model name (e.g. 'APC Smart-UPS 600').
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'System name'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.5.0
+ key: system.name
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ inventory_link: NAME
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ triggers:
+ -
+ expression: '{diff()}=1 and {strlen()}>0'
+ name: 'System name has changed (new name: {ITEM.VALUE})'
+ priority: INFO
+ description: 'System name has changed. Ack to close.'
+ manual_close: 'YES'
+ -
+ name: 'System object ID'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.2.0
+ key: 'system.objectid[sysObjectID.0]'
+ delay: 15m
+ history: 2w
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: SNMPv2-MIB
+ The vendor's authoritative identification of the network management
+ subsystem contained in the entity. This value is allocated within the SMI enterprises
+ subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what
+ kind of box' is being managed. For example, if vendor`Flintstones, Inc.' was
+ assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1
+ to its `Fred Router'.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 1h
+ -
+ name: 'Serial number'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.1.2.3.0
+ key: 'system.sn[upsAdvIdentSerialNumber]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: Uptime
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.2.1.1.3.0
+ key: 'system.uptime[sysUpTime.0]'
+ delay: 30s
+ history: 2w
+ trends: 0d
+ units: uptime
+ description: |
+ MIB: SNMPv2-MIB
+ The time (in hundredths of a second) since the network management
+ portion of the system was last re-initialized.
+ applications:
+ -
+ name: Status
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.01'
+ triggers:
+ -
+ expression: '{last()}<10m'
+ name: '{HOST.NAME} has been restarted (uptime < 10m)'
+ priority: WARNING
+ description: 'Uptime is less than 10 minutes'
+ manual_close: 'YES'
+ dependencies:
+ -
+ name: 'No SNMP data collection'
+ expression: '{APC UPS Symmetra RM SNMP:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0'
+ -
+ name: 'SNMP agent availability'
+ type: INTERNAL
+ key: 'zabbix[host,snmp,available]'
+ history: 7d
+ applications:
+ -
+ name: Status
+ valuemap:
+ name: zabbix.host.available
+ triggers:
+ -
+ expression: '{max({$SNMP.TIMEOUT})}=0'
+ name: 'No SNMP data collection'
+ opdata: 'Current state: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: 'SNMP is not available for polling. Please check device connectivity and SNMP settings.'
+ dependencies:
+ -
+ name: 'Unavailable by ICMP ping'
+ expression: '{APC UPS Symmetra RM SNMP:icmpping.max(#3)}=0'
+ discovery_rules:
+ -
+ name: 'External bad battery packs discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_PACKS},1.3.6.1.4.1.318.1.1.1.2.2.6]'
+ key: battery.packs.bad.discovery
+ delay: 1h
+ description: 'Discovery of the number of external defective battery packs.'
+ item_prototypes:
+ -
+ name: '{#SNMPINDEX}: External battery packs bad'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.1.2.2.6.0
+ key: 'battery.external_packs_bad[upsAdvBatteryNumOfBadBattPacks.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'External battery packs discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#CARTRIDGE_STATUS},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.7,{#BATTERY_PACK},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.1,{#CARTRIDGE_INDEX},1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.2]'
+ key: battery.packs.discovery
+ delay: 1h
+ filter:
+ evaltype: AND
+ conditions:
+ -
+ macro: '{#CARTRIDGE_STATUS}'
+ value: ^$
+ operator: NOT_MATCHES_REGEX
+ formulaid: A
+ item_prototypes:
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery estimated replace date'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.8.{#SNMPINDEX}'
+ key: 'battery.estimated_replace_date[upsHighPrecBatteryPackCartridgeReplaceDate.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The battery cartridge estimated battery replace date.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery pack cartridge health'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.7.{#SNMPINDEX}'
+ key: 'battery.pack.cartridge_health[upsHighPrecBatteryPackCartridgeHealth.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{regexp("^(0)[0|1]{15}$")}=1'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery lifetime is not okay'
+ opdata: 'Current bit set: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: |
+ 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
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.10.{#SNMPINDEX}'
+ key: 'battery.pack.status[upsHighPrecBatteryPackCartridgeStatus.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ 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
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{regexp("^(0{16})$")}=0'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery status is not okay'
+ opdata: 'Current bit set: {ITEM.LASTVALUE1}'
+ priority: WARNING
+ description: |
+ 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
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery temperature'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.5.{#SNMPINDEX}'
+ key: 'battery.temperature[upsHighPrecBatteryPackTemperature.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The battery pack temperature in Celsius.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$BATTERY.TEMP.MAX.WARN}'
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Battery has high temperature (over {$BATTERY.TEMP.MAX.WARN}℃ for {$TIME.PERIOD})'
+ opdata: 'Current temperature: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: '{#BATTERY_PACK}.{#CARTRIDGE_INDEX}: Serial number'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.2.3.10.2.1.4.{#SNMPINDEX}'
+ key: 'system.sn[upsHighPrecBatteryPackSerialNumber.{#BATTERY_PACK}.{#CARTRIDGE_INDEX}]'
+ history: 7d
+ trends: '0'
+ value_type: CHAR
+ description: |
+ MIB: PowerNet-MIB
+ The battery pack serial number.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: 'External sensor port 1 discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_SENSOR1_NAME},1.3.6.1.4.1.318.1.1.25.1.2.1.3]'
+ key: external.sensor1.discovery
+ delay: 1h
+ description: uioSensorStatusTable
+ item_prototypes:
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Humidity sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.7.1.1
+ key: 'external.sensor.humidity[uioSensorStatusHumidity.1.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor alarm status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.9.1.1
+ key: 'external.sensor.status[uioSensorStatusAlarmStatus.1.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ The alarm status of the sensor. Possible values:
+ uioNormal (1),
+ uioWarning (2),
+ uioCritical (3),
+ sensorStatusNotApplicable (4)
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{last()}=3'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Critical'
+ priority: HIGH
+ description: 'The external sensor has returned a value greater than the critical threshold.'
+ -
+ expression: '{last()}=4'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Not Applicable'
+ priority: INFO
+ description: 'The external sensor does not work or is not connected.'
+ -
+ expression: '{last()}=2'
+ name: '{#EXTERNAL_SENSOR1_NAME}: Sensor has status Warning'
+ priority: AVERAGE
+ description: 'The external sensor has returned a value greater than the warning threshold.'
+ -
+ name: '{#EXTERNAL_SENSOR1_NAME}: Temperature sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.1.6.1.1
+ key: 'external.sensor.temperature[uioSensorStatusTemperatureDegC.1.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The sensor's current temperature reading in Celsius.
+ -1 indicates an invalid reading due to lost communications.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ overrides:
+ -
+ name: Temp
+ step: '1'
+ filter:
+ conditions:
+ -
+ macro: '{#EXTERNAL_SENSOR1_NAME}'
+ value: Temp
+ formulaid: A
+ operations:
+ -
+ operationobject: ITEM_PROTOTYPE
+ operator: LIKE
+ value: Humidity
+ status: ENABLED
+ discover: NO_DISCOVER
+ -
+ name: 'External sensor port 2 discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#EXTERNAL_SENSOR2_NAME},1.3.6.1.4.1.318.1.1.25.1.2.2.3]'
+ key: external.sensor2.discovery
+ delay: 1h
+ description: uioSensorStatusTable
+ item_prototypes:
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Humidity sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.7.1.1
+ key: 'external.sensor.humidity[uioSensorStatusHumidity.2.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor alarm status'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.9.1.1
+ key: 'external.sensor.status[uioSensorStatusAlarmStatus.2.{#SNMPINDEX}]'
+ history: 7d
+ description: |
+ MIB: PowerNet-MIB
+ The alarm status of the sensor. Possible values:
+ uioNormal (1),
+ uioWarning (2),
+ uioCritical (3),
+ sensorStatusNotApplicable (4)
+ applications:
+ -
+ name: General
+ valuemap:
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{last()}=3'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Critical'
+ priority: HIGH
+ description: 'The external sensor has returned a value greater than the critical threshold.'
+ -
+ expression: '{last()}=4'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Not Applicable'
+ priority: INFO
+ description: 'The external sensor does not work or is not connected.'
+ -
+ expression: '{last()}=2'
+ name: '{#EXTERNAL_SENSOR2_NAME}: Sensor has status Warning'
+ priority: AVERAGE
+ description: 'The external sensor has returned a value greater than the warning threshold.'
+ -
+ name: '{#EXTERNAL_SENSOR2_NAME}: Temperature sensor'
+ type: SNMP_AGENT
+ snmp_oid: 1.3.6.1.4.1.318.1.1.25.1.2.2.6.1.1
+ key: 'external.sensor.temperature[uioSensorStatusTemperatureDegC.2.{#SNMPINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: ℃
+ description: |
+ MIB: PowerNet-MIB
+ The sensor's current temperature reading in Celsius.
+ -1 indicates an invalid reading due to lost communications.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ overrides:
+ -
+ name: Temp
+ step: '1'
+ filter:
+ conditions:
+ -
+ macro: '{#EXTERNAL_SENSOR2_NAME}'
+ value: Temp
+ formulaid: A
+ operations:
+ -
+ operationobject: ITEM_PROTOTYPE
+ operator: LIKE
+ value: Humidity
+ status: ENABLED
+ discover: NO_DISCOVER
+ -
+ name: 'Input phases discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#PHASEINDEX},1.3.6.1.4.1.318.1.1.1.9.2.3.1.2.1.1]'
+ key: input.phases.discovery
+ delay: 1h
+ description: 'The input phase identifier. OID upsPhaseInputPhaseIndex.1.1'
+ item_prototypes:
+ -
+ name: '{#PHASEINDEX}: Phase input current'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.2.3.1.6.1.1.{#PHASEINDEX}'
+ key: 'phase.input.current[upsPhaseInputCurrent.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ MIB: PowerNet-MIB
+ The input current in 0.1 amperes, or -0.1 if it's
+ unsupported by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase input voltage'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.2.3.1.3.1.1.{#PHASEINDEX}'
+ key: 'phase.input.voltage[upsPhaseInputVoltage.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The input voltage in VAC, or -1 if it's unsupported
+ by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}'
+ name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} input voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ -
+ name: 'Output phases discovery'
+ type: SNMP_AGENT
+ snmp_oid: 'discovery[{#PHASEINDEX},1.3.6.1.4.1.318.1.1.1.9.3.3.1.2.1.1]'
+ key: output.phases.discovery
+ delay: 1h
+ description: 'The output phase identifier. OID upsPhaseOutputPhaseIndex.1.1'
+ item_prototypes:
+ -
+ name: '{#PHASEINDEX}: Phase output current'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.4.1.1.{#PHASEINDEX}'
+ key: 'phase.output.current[upsPhaseOutputCurrent.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: A
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: MULTIPLIER
+ parameters:
+ - '0.1'
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output load, %'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.10.1.1.{#PHASEINDEX}'
+ key: 'phase.output.load.percent[upsPhaseOutputPercentLoad.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: '%'
+ description: |
+ 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.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ -
+ name: '{#PHASEINDEX}: Phase output voltage'
+ type: SNMP_AGENT
+ snmp_oid: '1.3.6.1.4.1.318.1.1.1.9.3.3.1.3.1.1.{#PHASEINDEX}'
+ key: 'phase.output.voltage[upsPhaseOutputVoltage.1.1.{#PHASEINDEX}]'
+ history: 7d
+ value_type: FLOAT
+ units: V
+ description: |
+ MIB: PowerNet-MIB
+ The output voltage in VAC, or -1 if it's unsupported
+ by this UPS.
+ applications:
+ -
+ name: General
+ preprocessing:
+ -
+ type: DISCARD_UNCHANGED_HEARTBEAT
+ parameters:
+ - 6h
+ trigger_prototypes:
+ -
+ expression: '{min({$TIME.PERIOD})} > {$UPS.INPUT_VOLT.MAX.WARN} or {max({$TIME.PERIOD})} < {$UPS.INPUT_VOLT.MIN.WARN}'
+ name: '{#PHASEINDEX}: Unacceptable phase {#PHASEINDEX} output voltage (out of range {$UPS.INPUT_VOLT.MIN.WARN}-{$UPS.INPUT_VOLT.MAX.WARN}V for {$TIME.PERIOD})'
+ opdata: 'Current phase {#PHASEINDEX} voltage: {ITEM.LASTVALUE1}'
+ priority: HIGH
+ macros:
+ -
+ macro: '{$BATTERY.CAPACITY.MIN.WARN}'
+ value: '50'
+ description: 'Minimum battery capacity percentage for trigger expression.'
+ -
+ macro: '{$BATTERY.TEMP.MAX.WARN}'
+ value: '55'
+ description: 'Maximum battery temperature for trigger expression.'
+ -
+ macro: '{$ICMP.LOSS.WARN}'
+ value: '20'
+ -
+ macro: '{$ICMP.RESPONSE_TIME.WARN}'
+ value: '0.15'
+ -
+ macro: '{$SNMP.TIMEOUT}'
+ value: 5m
+ description: 'The time interval for SNMP agent availability trigger expression.'
+ -
+ macro: '{$TIME.PERIOD}'
+ value: 15m
+ description: 'Time period for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_FREQ.MAX.WARN}'
+ value: '50.3'
+ description: 'Maximum input frequency for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_FREQ.MIN.WARN}'
+ value: '49.7'
+ description: 'Minimum input frequency for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_VOLT.MAX.WARN}'
+ value: '243'
+ description: 'Maximum input voltage for trigger expression.'
+ -
+ macro: '{$UPS.INPUT_VOLT.MIN.WARN}'
+ value: '197'
+ description: 'Minimum input voltage for trigger expression.'
+ -
+ macro: '{$UPS.OUTPUT.MAX.WARN}'
+ value: '80'
+ description: 'Maximum output load in % for trigger expression.'
+ valuemaps:
+ -
+ name: 'PowerNet-MIB::uioSensorStatusAlarmStatus'
+ mappings:
+ -
+ value: '1'
+ newvalue: Normal
+ -
+ value: '2'
+ newvalue: Warning
+ -
+ value: '3'
+ newvalue: Critical
+ -
+ value: '4'
+ newvalue: 'Not applicable'
+ -
+ name: 'PowerNet-MIB::upsAdvBatteryReplaceIndicator'
+ mappings:
+ -
+ value: '1'
+ newvalue: 'no Battery Needs Replacing'
+ -
+ value: '2'
+ newvalue: 'battery Needs Replacing'
+ -
+ name: 'PowerNet-MIB::upsAdvInputLineFailCause'
+ mappings:
+ -
+ value: '1'
+ newvalue: 'no Transfer'
+ -
+ value: '2'
+ newvalue: 'High Line Voltage'
+ -
+ value: '3'
+ newvalue: Brownout
+ -
+ value: '4'
+ newvalue: Blackout
+ -
+ value: '5'
+ newvalue: 'Small Momentary Sag'
+ -
+ value: '6'
+ newvalue: 'Deep Momentary Sag'
+ -
+ value: '7'
+ newvalue: 'Small Momentary Spike'
+ -
+ value: '8'
+ newvalue: 'Large Momentary Spike'
+ -
+ value: '9'
+ newvalue: 'Self Test'
+ -
+ value: '10'
+ newvalue: 'Rate of Voltage Change'
+ -
+ name: 'PowerNet-MIB::upsBasicBatteryStatus'
+ mappings:
+ -
+ value: '1'
+ newvalue: Unknown
+ -
+ value: '2'
+ newvalue: Normal
+ -
+ value: '3'
+ newvalue: Low
+ -
+ value: '4'
+ newvalue: 'In Fault Condition'
+ -
+ name: 'Service state'
+ mappings:
+ -
+ value: '0'
+ newvalue: Down
+ -
+ value: '1'
+ newvalue: Up
+ -
+ name: zabbix.host.available
+ mappings:
+ -
+ value: '0'
+ newvalue: 'not available'
+ -
+ value: '1'
+ newvalue: available
+ -
+ value: '2'
+ newvalue: unknown
+ graphs:
+ -
+ name: 'Capacity of the UPS batteries'
+ type: PIE
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC UPS Symmetra RM SNMP'
+ key: 'battery.capacity[upsHighPrecBatteryCapacity]'
+ -
+ name: Output
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC UPS Symmetra RM SNMP'
+ key: 'output.current[upsHighPrecOutputCurrent]'
+ -
+ sortorder: '1'
+ color: 2774A4
+ item:
+ host: 'APC UPS Symmetra RM SNMP'
+ key: 'output.load[upsHighPrecOutputLoad]'
+ -
+ name: Voltage
+ graph_items:
+ -
+ color: 1A7C11
+ item:
+ host: 'APC UPS Symmetra RM SNMP'
+ key: 'input.voltage[upsHighPrecInputLineVoltage]'
+ -
+ sortorder: '1'
+ color: 2774A4
+ item:
+ host: 'APC UPS Symmetra RM SNMP'
+ key: 'output.voltage[upsHighPrecOutputVoltage]'