# ZYXEL MGS3520-28x SNMP ## Overview For Zabbix version: 6.0 and higher https://service-provider.zyxel.com/emea/en/products/carrier-and-access-switches/access-switches/mgs3520-series This template was tested on: - ZYXEL MGS3520-28, version V4.10(AATN.1)C0_20190522 | 05/22/2019 - ZYXEL MGS3520-28F, version V4.10(AATM.1)C0_20190626 | 06/27/2019 ## Setup > See [Zabbix template operation](https://www.zabbix.com/documentation/6.0/manual/config/templates_out_of_the_box/network_devices) for basic instructions. Refer to the vendor documentation. ## Zabbix configuration No specific Zabbix configuration is required. ### Macros used |Name|Description|Default| |----|-----------|-------| |{$CPU.UTIL.CRIT} |

-

|`90` | |{$MEMORY.UTIL.MAX} |

-

|`90` | |{$SNMP.TIMEOUT} |

The time interval for SNMP agent availability trigger expression.

|`5m` | |{$ZYXEL.LLD.FILTER.IF.CONTROL.MATCHES} |

Triggers will be created only for interfaces whose description contains the value of this macro

|`CHANGE_IF_NEEDED` | |{$ZYXEL.LLD.FILTER.IF.LINKUPTYPE.MATCHES} |

Filter of discoverable link types.

0 - Down link

1 - Cooper link

2 - Fiber link

3 - XFP

4 - CX4

|`1|2|3|4` | |{$ZYXEL.LLD.FILTER.IF.LINKUPTYPE.NOT_MATCHES} |

Filter to exclude discovered by link types.

|`CHANGE_IF_NEEDED` | |{$ZYXEL.LLD.FILTER.IF.NAME.MATCHES} |

Filter by discoverable interface names.

|`.*` | |{$ZYXEL.LLD.FILTER.IF.NAME.NOT_MATCHES} |

Filter to exclude discovered interfaces by name.

|`CHANGE_IF_NEEDED` | |{$ZYXEL.LLD.FILTER.SFP.STATUS.MATCHES} |

Filter of discoverable status.

0 - OK with DDM

1 - OK without DDM

2 - nonoperational

|`1|2` | |{$ZYXEL.LLD.FILTER.SFP.STATUS.NOT_MATCHES} |

Filter to exclude discovered by status.

|`CHANGE_IF_NEEDED` | |{$ZYXEL.LLD.FILTER.SFPDDM.DESC.MATCHES} |

Filter by discoverable SFP modules name.

|`.*` | |{$ZYXEL.LLD.FILTER.SFPDDM.DESC.NOT_MATCHES} |

Filter to exclude discovered SFP modules by name.

|`N/A` | |{$ZYXEL.LLD.SFP.UPDATE} |

Receiving data from the SFP module is slow, we do not recommend setting the interval less than 10 minutes.

|`10m` | ## Template links There are no template links in this template. ## Discovery rules |Name|Description|Type|Key and additional info| |----|-----------|----|----| |Fan discovery |

An entry in fanRpmTable.

|SNMP |zyxel.3520_28.fan.discovery | |Interface discovery |

-

|SNMP |zyxel.3520_28.net.if.discovery

**Filter**:

AND

- {#ZYXEL.IF.NAME} MATCHES_REGEX `{$ZYXEL.LLD.FILTER.IF.NAME.MATCHES}`

- {#ZYXEL.IF.NAME} NOT_MATCHES_REGEX `{$ZYXEL.LLD.FILTER.IF.NAME.NOT_MATCHES}`

- {#ZYXEL.IF.LINKUPTYPE} MATCHES_REGEX `{$ZYXEL.LLD.FILTER.IF.LINKUPTYPE.MATCHES}`

- {#ZYXEL.IF.LINKUPTYPE} NOT_MATCHES_REGEX `{$ZYXEL.LLD.FILTER.IF.LINKUPTYPE.NOT_MATCHES}`

**Overrides:**

Don't create triggers for matching interface
- {#ZYXEL.IF.NAME} NOT_MATCHES_REGEX `{$ZYXEL.LLD.FILTER.IF.CONTROL.MATCHES}`
- TRIGGER_PROTOTYPE REGEXP `.*` - NO_DISCOVER

| |SFP with DDM discovery |

SFP DDM module discovery.

|SNMP |zyxel.3520_28.sfp.ddm.discovery

**Preprocessing**:

- JAVASCRIPT: `The text is too long. Please see the template.`

**Filter**:

AND

- {#ZYXEL.SFP.DESCRIPTION} MATCHES_REGEX `{$ZYXEL.LLD.FILTER.SFPDDM.DESC.MATCHES}`

- {#ZYXEL.SFP.DESCRIPTION} NOT_MATCHES_REGEX `{$ZYXEL.LLD.FILTER.SFPDDM.DESC.NOT_MATCHES}`

| |SFP without DDM discovery |

SFP module discovery.

|SNMP |zyxel.3520_28.sfp.discovery

**Filter**:

AND

- {#ZYXEL.SFP.STATUS} MATCHES_REGEX `{$ZYXEL.LLD.FILTER.SFP.STATUS.MATCHES}`

- {#ZYXEL.SFP.STATUS} NOT_MATCHES_REGEX `{$ZYXEL.LLD.FILTER.SFP.STATUS.NOT_MATCHES}`

| |Temperature discovery |

An entry in tempTable.

|SNMP |zyxel.3520_28.temp.discovery | |Voltage discovery |

An entry in voltageTable.

|SNMP |zyxel.3520_28.volt.discovery

**Preprocessing**:

- JAVASCRIPT: `The text is too long. Please see the template.`

| ## Items collected |Group|Name|Description|Type|Key and additional info| |-----|----|-----------|----|---------------------| |CPU |ZYXEL MGS3520-28x: CPU utilization |

MIB: ZYXEL-ES-COMMON

Show device CPU load in %, it's the snapshot of CPU load when

getting the values.

|SNMP |zyxel.3520_28.cpuusage | |Fans |ZYXEL MGS3520-28x: {#ZYXEL.FAN.DESCRIPTION} |

MIB: ZYXEL-HW-MONITOR-MIB

Current speed in Revolutions Per Minute (RPM) on the fan.

|SNMP |zyxel.3520_28.fan[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Inventory |ZYXEL MGS3520-28x: Hardware model name |

MIB: RFC1213-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. It is mandatory that this only contain

printable ASCII characters.

|SNMP |zyxel.3520_28.model

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Inventory |ZYXEL MGS3520-28x: Contact |

MIB: RFC1213-MIB

The textual identification of the contact person

for this managed node, together with information

on how to contact this person.

|SNMP |zyxel.3520_28.contact

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Inventory |ZYXEL MGS3520-28x: Host name |

MIB: RFC1213-MIB

An administratively-assigned name for this

managed node. By convention, this is the node's

fully-qualified domain name.

|SNMP |zyxel.3520_28.name

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Inventory |ZYXEL MGS3520-28x: Location |

MIB: RFC1213-MIB

The physical location of this node (e.g.,

`telephone closet, 3rd floor').

|SNMP |zyxel.3520_28.location

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Inventory |ZYXEL MGS3520-28x: MAC address |

MIB: IF-MIB

The interface's address at the protocol layer

immediately `below' the network layer in the

protocol stack. For interfaces which do not have

such an address (e.g., a serial line), this object

should contain an octet string of zero length.

|SNMP |zyxel.3520_28.mac

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Inventory |ZYXEL MGS3520-28x: ZyNOS F/W Version |

MIB: ZYXEL-ES-COMMON

|SNMP |zyxel.3520_28.fwversion

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Inventory |ZYXEL MGS3520-28x: Hardware serial number |

MIB: ZYXEL-ES-COMMON

Serial number

|SNMP |zyxel.3520_28.serialnumber

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Memory |ZYXEL MGS3520-28x: Memory utilization |

MIB: ZYXEL-ES-COMMON

Show device memory usage in %.

|SNMP |zyxel.3520_28.memusage | |Network interfaces |ZYXEL MGS3520-28x: Port {#SNMPINDEX}: Speed Duplex |

MIB: ZYXEL-PORT-MIB

Select The speed and the duplex mode of the Ethernet connection on this port. Selecting Auto

(auto-negotiation) allows one port to negotiate with a peer port automatically to obtain the

connection speed and duplex mode that both ends support. When auto-negotiation is turned on,

a port on the Switch negotiates with the peer automatically to determine the connection speed

and duplex mode. If the peer port does not support auto-negotiation or turns off this feature,

the Switch determines the connection speed by detecting the signal on the cable and using half

duplex mode. Thus requiring you to make sure that the settings of the peer port are the same in

order to connect.

|SNMP |zyxel.3520_28.net.if.speed_duplex[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Network interfaces |ZYXEL MGS3520-28x: Port {#SNMPINDEX}: Interface description |

MIB: ZYXEL-PORT-MIB

Descriptive name that identifies this port.

|SNMP |zyxel.3520_28.net.if.name[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Network interfaces |ZYXEL MGS3520-28x: Port {#SNMPINDEX}: Link type |

MIB: ZYXEL-PORT-MIB

The entry shows the linkUp cable type (copper, fiber, xfp or cx4) for the combo ports.

|SNMP |zyxel.3520_28.net.if.link_type[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Network interfaces |ZYXEL MGS3520-28x: Port {#SNMPINDEX}: Interface name |

MIB: IF-MIB

A textual string containing information about the interface

|SNMP |zyxel.3520_28.net.if.descr[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Network interfaces |ZYXEL MGS3520-28x: Port {#SNMPINDEX}: Operational status |

MIB: IF-MIB

The current operational state of the interface.

The testing(3) state indicates that no operational

packets can be passed.

|SNMP |zyxel.3520_28.net.if.operstatus[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Network interfaces |ZYXEL MGS3520-28x: Port {#SNMPINDEX}: Administrative status |

MIB: IF-MIB

The desired state of the interface. The

testing(3) state indicates that no operational

packets can be passed.

|SNMP |zyxel.3520_28.net.if.adminstatus[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Network interfaces |ZYXEL MGS3520-28x: Port {#SNMPINDEX}: Incoming traffic |

MIB: IF-MIB

The total number of octets received on the interface,

including framing characters.

|SNMP |zyxel.3520_28.net.if.in.traffic[{#SNMPINDEX}]

**Preprocessing**:

- MULTIPLIER: `8`

- CHANGE_PER_SECOND

| |Network interfaces |ZYXEL MGS3520-28x: Port {#SNMPINDEX}: Incoming unicast packages |

MIB: IF-MIB

The number of packets, delivered by this sub-layer to a

higher (sub-)layer, which were not addressed to a multicast

or broadcast address at this sub-layer

|SNMP |zyxel.3520_28.net.if.in.ucastpkts[{#SNMPINDEX}]

**Preprocessing**:

- CHANGE_PER_SECOND

| |Network interfaces |ZYXEL MGS3520-28x: Port {#SNMPINDEX}: Incoming multicast packages |

MIB: IF-MIB

The number of packets, delivered by this sub-layer to a

higher (sub-)layer, which were addressed to a multicast

address at this sub-layer. For a MAC layer protocol, this

includes both Group and Functional addresses.

|SNMP |zyxel.3520_28.net.if.in.multicastpkts[{#SNMPINDEX}]

**Preprocessing**:

- CHANGE_PER_SECOND

| |Network interfaces |ZYXEL MGS3520-28x: Port {#SNMPINDEX}: Incoming broadcast packages |

MIB: IF-MIB

The number of packets, delivered by this sub-layer to a

higher (sub-)layer, which were addressed to a broadcast

address at this sub-layer.

|SNMP |zyxel.3520_28.net.if.in.broadcastpkts[{#SNMPINDEX}]

**Preprocessing**:

- CHANGE_PER_SECOND

| |Network interfaces |ZYXEL MGS3520-28x: Port {#SNMPINDEX}: Outgoing traffic |

MIB: IF-MIB

The total number of octets transmitted out of the

interface, including framing characters. This object is a

64-bit version of ifOutOctets.

|SNMP |zyxel.3520_28.net.if.out.traffic[{#SNMPINDEX}]

**Preprocessing**:

- MULTIPLIER: `8`

- CHANGE_PER_SECOND

| |Network interfaces |ZYXEL MGS3520-28x: Port {#SNMPINDEX}: Outgoing unicast packages |

MIB: IF-MIB

The total number of packets that higher-level protocols

requested be transmitted, and which were not addressed to a

multicast or broadcast address at this sub-layer, including

those that were discarded or not sent.

|SNMP |zyxel.3520_28.net.if.out.ucastpkts[{#SNMPINDEX}]

**Preprocessing**:

- CHANGE_PER_SECOND

| |Network interfaces |ZYXEL MGS3520-28x: Port {#SNMPINDEX}: Outgoing multicast packages |

MIB: IF-MIB

The total number of packets that higher-level protocols

requested be transmitted, and which were addressed to a

multicast address at this sub-layer, including those that

were discarded or not sent. For a MAC layer protocol, this

includes both Group and Functional addresses.

|SNMP |zyxel.3520_28.net.if.out.multicastpkts[{#SNMPINDEX}]

**Preprocessing**:

- CHANGE_PER_SECOND

| |Network interfaces |ZYXEL MGS3520-28x: Port {#SNMPINDEX}: Outgoing broadcast packages |

MIB: IF-MIB

The total number of packets that higher-level protocols

requested be transmitted, and which were addressed to a

broadcast address at this sub-layer, including those that

were discarded or not sent.

|SNMP |zyxel.3520_28.net.if.out.broadcastpkts[{#SNMPINDEX}]

**Preprocessing**:

- CHANGE_PER_SECOND

| |Network interfaces |ZYXEL MGS3520-28x: Port {#SNMPINDEX}: Link speed |

MIB: IF-MIB

An estimate of the interface's current bandwidth in bits per second

|SNMP |zyxel.3520_28.net.if.highspeed[{#SNMPINDEX}]

**Preprocessing**:

- MULTIPLIER: `1000000`

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Network interfaces |ZYXEL MGS3520-28x: Port {#SNMPINDEX}: Incoming utilization |

Interface utilization percentage

|CALCULATED |zyxel.3520_28.net.if.in.util[{#SNMPINDEX}]

**Preprocessing**:

- IN_RANGE: `0 100`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- JAVASCRIPT: `return +parseFloat(value).toFixed(0); `

**Expression**:

`last(//zyxel.3520_28.net.if.in.traffic[{#SNMPINDEX}]) * (last(//zyxel.3520_28.net.if.highspeed[{#SNMPINDEX}]) <> 0) / ( last(//zyxel.3520_28.net.if.highspeed[{#SNMPINDEX}]) + (last(//zyxel.3520_28.net.if.highspeed[{#SNMPINDEX}]) = 0) ) * 100` | |Network interfaces |ZYXEL MGS3520-28x: Port {#SNMPINDEX}: Outgoing utilization |

Interface utilization percentage

|CALCULATED |zyxel.3520_28.net.if.out.util[{#SNMPINDEX}]

**Preprocessing**:

- IN_RANGE: `0 100`

⛔️ON_FAIL: `DISCARD_VALUE -> `

- JAVASCRIPT: `return +parseFloat(value).toFixed(0); `

**Expression**:

`last(//zyxel.3520_28.net.if.out.traffic[{#SNMPINDEX}]) * (last(//zyxel.3520_28.net.if.highspeed[{#SNMPINDEX}]) <> 0) / ( last(//zyxel.3520_28.net.if.highspeed[{#SNMPINDEX}]) + (last(//zyxel.3520_28.net.if.highspeed[{#SNMPINDEX}]) = 0) ) * 100` | |Network interfaces |ZYXEL MGS3520-28x: SFP {#SNMPINDEX}: Status |

MIB: ZYXEL-TRANSCEIVER-MIB

Transceiver module type.

|SNMP |zyxel.3520_28.sfp.status[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Network interfaces |ZYXEL MGS3520-28x: SFP {#SNMPINDEX}: Vendor |

MIB: ZYXEL-TRANSCEIVER-MIB

Transceiver module vendor name.

|SNMP |zyxel.3520_28.sfp.vendor[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Network interfaces |ZYXEL MGS3520-28x: SFP {#SNMPINDEX}: Part number |

MIB: ZYXEL-TRANSCEIVER-MIB

Part number provided by transceiver module vendor.

|SNMP |zyxel.3520_28.sfp.part[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Network interfaces |ZYXEL MGS3520-28x: SFP {#SNMPINDEX}: Serial number |

MIB: ZYXEL-TRANSCEIVER-MIB

Serial number provided by transceiver module vendor.

|SNMP |zyxel.3520_28.sfp.serialnumber[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Network interfaces |ZYXEL MGS3520-28x: SFP {#SNMPINDEX}: Revision |

MIB: ZYXEL-TRANSCEIVER-MIB

Revision level for part number provided by transceiver module vendor.

|SNMP |zyxel.3520_28.sfp.revision[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Network interfaces |ZYXEL MGS3520-28x: SFP {#SNMPINDEX}: Date code |

MIB: ZYXEL-TRANSCEIVER-MIB

Transceiver module vendor's manufacturing date code.

|SNMP |zyxel.3520_28.sfp.datecode[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Network interfaces |ZYXEL MGS3520-28x: SFP {#SNMPINDEX}: Transceiver |

MIB: ZYXEL-TRANSCEIVER-MIB

Transceiver module type names.

|SNMP |zyxel.3520_28.sfp.transceiver[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Network interfaces |ZYXEL MGS3520-28x: SFP {#ZYXEL.SFP.PORT}: {#ZYXEL.SFP.DESCRIPTION} |

MIB: ZYXEL-TRANSCEIVER-MIB

Transceiver module DDM data ({#ZYXEL.SFP.DESCRIPTION}).

|SNMP |zyxel.3520_28.sfp.ddm[{#SNMPINDEX}]

**Preprocessing**:

- MULTIPLIER: `0.01`

- DISCARD_UNCHANGED_HEARTBEAT: `6h`

| |Power supply |ZYXEL MGS3520-28x: Nominal "{#ZYXEL.DESCRIPTION}" |

MIB: ZYXEL-HW-MONITOR-MIB

The current voltage reading.

|SNMP |zyxel.3520_28.volt[{#SNMPINDEX}]

**Preprocessing**:

- MULTIPLIER: `0.001`

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Status |ZYXEL MGS3520-28x: SNMP agent availability |

-

|INTERNAL |zabbix[host,snmp,available]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| |Status |ZYXEL MGS3520-28x: Uptime |

MIB: RFC1213-MIB

The time (in hundredths of a second) since the

network management portion of the system was last

re-initialized.

|SNMP |zyxel.3520_28.uptime

**Preprocessing**:

- MULTIPLIER: `0.01`

| |Temperature |ZYXEL MGS3520-28x: Temperature "{#ZYXEL.TEMPDESCRIPTION}" |

MIB: ZYXEL-HW-MONITOR-MIB

The current temperature measured at this sensor

|SNMP |zyxel.3520_28.temp[{#SNMPINDEX}]

**Preprocessing**:

- DISCARD_UNCHANGED_HEARTBEAT: `1h`

| ## Triggers |Name|Description|Expression|Severity|Dependencies and additional info| |----|-----------|----|----|----| |ZYXEL MGS3520-28x: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m) |

CPU utilization is too high. The system might be slow to respond.

|`min(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.cpuusage,5m)>{$CPU.UTIL.CRIT}` |WARNING | | |ZYXEL MGS3520-28x: {#ZYXEL.FAN.DESCRIPTION} is in critical state |

Please check the fan unit

|`last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.fan[{#SNMPINDEX}])<{#ZYXEL.FANRPM.THRESH.LOW}` |AVERAGE | | |ZYXEL MGS3520-28x: Template does not match hardware |

This template is for Zyxel MGS3520-28x series, but connected to {ITEM.VALUE}

|`not(last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.model)="MGS3520-28" or last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.model)="MGS3520-28F")` |INFO | | |ZYXEL MGS3520-28x: Firmware has changed |

Firmware version has changed. Ack to close

|`last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.fwversion,#1)<>last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.fwversion,#2) and length(last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.fwversion))>0` |INFO |

Manual close: YES

| |ZYXEL MGS3520-28x: Device has been replaced (new serial number received) |

Device serial number has changed. Ack to close

|`last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.serialnumber,#1)<>last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.serialnumber,#2) and length(last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.serialnumber))>0` |INFO |

Manual close: YES

| |ZYXEL MGS3520-28x: High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m) |

The system is running out of free memory.

|`min(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.memusage,5m)>{$MEMORY.UTIL.MAX}` |AVERAGE | | |ZYXEL MGS3520-28x: Port {#SNMPINDEX}: Link down |

This trigger expression works as follows:

1. Can be triggered if operations status is down.

2. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status was up(1) sometime before. (So, do not fire 'ethernal off' interfaces.)

WARNING: if closed manually - won't fire again on next poll, because of .diff.

|`last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.net.if.operstatus[{#SNMPINDEX}])=2 and last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.net.if.operstatus[{#SNMPINDEX}],#1)<>last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.net.if.operstatus[{#SNMPINDEX}],#2)`

Recovery expression:

`last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.net.if.operstatus[{#SNMPINDEX}])<>2` |AVERAGE |

Manual close: YES

| |ZYXEL MGS3520-28x: SFP {#SNMPINDEX} has been replaced (new serial number received) |

SFP {#SNMPINDEX} serial number has changed. Ack to close

|`last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.sfp.serialnumber[{#SNMPINDEX}],#1)<>last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.sfp.serialnumber[{#SNMPINDEX}],#2) and length(last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.sfp.serialnumber[{#SNMPINDEX}]))>0` |INFO |

Manual close: YES

| |ZYXEL MGS3520-28x: SFP {#ZYXEL.SFP.PORT}: High {#ZYXEL.SFP.DESCRIPTION} (over {#ZYXEL.SFP.WARN.MAX}{#ZYXEL.SFP.UNIT}) |

The upper threshold value of the parameter is exceeded

|`last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.sfp.ddm[{#SNMPINDEX}]) > {#ZYXEL.SFP.WARN.MAX}` |WARNING | | |ZYXEL MGS3520-28x: SFP {#ZYXEL.SFP.PORT}: Low {#ZYXEL.SFP.DESCRIPTION} (less than {#ZYXEL.SFP.WARN.MIN}{#ZYXEL.SFP.UNIT}) |

The parameter values are less than the lower threshold

|`last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.sfp.ddm[{#SNMPINDEX}]) < {#ZYXEL.SFP.WARN.MIN}` |WARNING | | |ZYXEL MGS3520-28x: Voltage {#ZYXEL.DESCRIPTION} is in critical state |

Please check the power supply

|`last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.volt[{#SNMPINDEX}])<{#ZYXEL.VOLT.THRESH.LOW}` |AVERAGE | | |ZYXEL MGS3520-28x: No SNMP data collection |

SNMP is not available for polling. Please check device connectivity and SNMP settings.

|`max(/ZYXEL MGS3520-28x SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0` |WARNING | | |ZYXEL MGS3520-28x: has been restarted (uptime < 10m) |

Uptime is less than 10 minutes

|`last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.uptime)<10m` |INFO |

Manual close: YES

| |ZYXEL MGS3520-28x: Temperature {#ZYXEL.TEMPDESCRIPTION} is in critical state |

Please check the temperature

|`last(/ZYXEL MGS3520-28x SNMP/zyxel.3520_28.temp[{#SNMPINDEX}])>{#ZYXEL.TEMP.THRESH.HIGH}` |AVERAGE | | ## Feedback Please report any issues with the template at https://support.zabbix.com You can also provide feedback, discuss the template or ask for help with it at [ZABBIX forums](https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/422668-discussion-thread-for-official-zabbix-templates-for-zyxel). ## Known Issues - Description: Incorrect handling of SNMP bulk requests. Disable the use of bulk requests in the SNMP interface settings. - Version: all versions firmware - Device: ZYXEL MGS3520-28