Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/net/zyxel_snmp/zyxel_mgs-3712f_snmp

ZYXEL MGS-3712F by SNMP

Overview

https://service-provider.zyxel.com/global/en/products/carrier-and-access-switches/access-switches/mgs-3712f

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 MGS-3712F

Requirements

Zabbix version: 7.2 and higher.

Tested versions

This template has been tested on:

  • ZYXEL MGS-3712F V3.90(BBB.5)_2019.9.23

Configuration

Zabbix should be configured according to the instructions in the Templates out of the box section.

Setup

Refer to the vendor documentation.

Macros used

Name Description Default
{$ZYXEL.LLD.FILTER.IF.CONTROL.MATCHES}

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

CHANGE_IF_NEEDED
{$SNMP.TIMEOUT}

The time interval for SNMP agent availability trigger expression.

5m
{$CPU.UTIL.CRIT} 90
{$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.IF.LINKUPTYPE.MATCHES}

Filter of discoverable link types.

0 - Down link

1 - Cooper link

2 - Fiber link

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

Filter to exclude discovered by link types.

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

Items

Name Description Type Key and additional info
SNMP agent availability Zabbix internal zabbix[host,snmp,available]

Preprocessing

  • Discard unchanged with heartbeat: 1h

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 agent zyxel.3712f.model

Preprocessing

  • Discard unchanged with heartbeat: 6h

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 agent zyxel.3712f.contact

Preprocessing

  • Discard unchanged with heartbeat: 6h

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 agent zyxel.3712f.name

Preprocessing

  • Discard unchanged with heartbeat: 6h

Location

MIB: RFC1213-MIB

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

`telephone closet, 3rd floor').

SNMP agent zyxel.3712f.location

Preprocessing

  • Discard unchanged with heartbeat: 6h

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 agent zyxel.3712f.mac

Preprocessing

  • Discard unchanged with heartbeat: 6h

Uptime (network)

MIB: RFC1213-MIB

The time (in hundredths of a second) since the

network management portion of the system was last

re-initialized.

SNMP agent zyxel.3712f.net.uptime

Preprocessing

  • Custom multiplier: 0.01

Uptime (hardware)

MIB: HOST-RESOURCES-MIB

The amount of time since this host was last initialized.

Note that this is different from sysUpTime in the SNMPv2-MIB

[RFC1907] because sysUpTime is the uptime of the

network management portion of the system.

SNMP agent zyxel.3712f.hw.uptime

Preprocessing

  • Check for not supported value: any error

    ⛔️Custom on fail: Set value to: 0

  • Custom multiplier: 0.01

ZyNOS F/W Version

MIB: ZYXEL-MGS3712F-MIB

SNMP agent zyxel.3712f.fwversion

Preprocessing

  • JavaScript: The text is too long. Please see the template.

  • Discard unchanged with heartbeat: 1d

Hardware serial number

MIB: ZYXEL-MGS3712F-MIB

Serial number

SNMP agent zyxel.3712f.serialnumber

Preprocessing

  • Discard unchanged with heartbeat: 6h

CPU utilization

MIB: ZYXEL-MGS3712F-MIB

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

getting the values.

SNMP agent zyxel.3712f.cpuusage

Triggers

Name Description Expression Severity Dependencies and additional info
No SNMP data collection

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

max(/ZYXEL MGS-3712F by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 Warning
Template does not match hardware

This template is for Zyxel MGS-3712F, but connected to {ITEM.VALUE}

last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.model)<>"MGS-3712F" Info Manual close: Yes
Host has been restarted

Uptime is less than 10 minutes.

(last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.hw.uptime)>0 and last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.hw.uptime)<10m) or (last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.hw.uptime)=0 and last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.net.uptime)<10m) Info Manual close: Yes
Firmware has changed

Firmware version has changed. Acknowledge to close the problem manually.

last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.fwversion,#1)<>last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.fwversion,#2) and length(last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.fwversion))>0 Info Manual close: Yes
Device has been replaced

Device serial number has changed. Acknowledge to close the problem manually.

last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.serialnumber,#1)<>last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.serialnumber,#2) and length(last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.serialnumber))>0 Info Manual close: Yes
High CPU utilization

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

min(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.cpuusage,5m)>{$CPU.UTIL.CRIT} Warning

LLD rule Fan discovery

Name Description Type Key and additional info
Fan discovery

An entry in fanRpmTable.

SNMP agent zyxel.3712f.fan.discovery

Item prototypes for Fan discovery

Name Description Type Key and additional info
Fan #{#SNMPINDEX}

MIB: ZYXEL-MGS3712F-MIB

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

SNMP agent zyxel.3712f.fan[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 1h

Trigger prototypes for Fan discovery

Name Description Expression Severity Dependencies and additional info
FAN{#SNMPINDEX} is in critical state

Please check the fan unit

last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.fan[{#SNMPINDEX}])<{#ZYXEL.FANRPM.THRESH.LOW} Average

LLD rule Temperature discovery

Name Description Type Key and additional info
Temperature discovery

An entry in tempTable.

Index of temperature unit. 1:MAC, 2:CPU, 3:PHY

SNMP agent zyxel.3712f.temp.discovery

Preprocessing

  • JavaScript: The text is too long. Please see the template.

Item prototypes for Temperature discovery

Name Description Type Key and additional info
Temperature "{#ZYXEL.TEMP.ID}"

MIB: ZYXEL-MGS3712F-MIB

The current temperature measured at this sensor

SNMP agent zyxel.3712f.temp[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 1h

Trigger prototypes for Temperature discovery

Name Description Expression Severity Dependencies and additional info
Temperature {#ZYXEL.TEMP.ID} is in critical state

Please check the temperature

last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.temp[{#SNMPINDEX}])>{#ZYXEL.TEMP.THRESH.HIGH} Average

LLD rule Voltage discovery

Name Description Type Key and additional info
Voltage discovery

An entry in voltageTable.

SNMP agent zyxel.3712f.volt.discovery

Preprocessing

  • JavaScript: The text is too long. Please see the template.

Item prototypes for Voltage discovery

Name Description Type Key and additional info
Nominal "{#ZYXEL.VOLT.NOMINAL}"

MIB: ZYXEL-MGS3712F-MIB

The current voltage reading.

SNMP agent zyxel.3712f.volt[{#SNMPINDEX}]

Preprocessing

  • Custom multiplier: 0.001

  • Discard unchanged with heartbeat: 1h

Trigger prototypes for Voltage discovery

Name Description Expression Severity Dependencies and additional info
Voltage {#ZYXEL.VOLT.NOMINAL} is in critical state

Please check the power supply

last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.volt[{#SNMPINDEX}])<{#ZYXEL.VOLT.THRESH.LOW} Average

LLD rule Interface discovery

Name Description Type Key and additional info
Interface discovery SNMP agent zyxel.3712f.net.if.discovery

Item prototypes for Interface discovery

Name Description Type Key and additional info
Port {#SNMPINDEX}: Speed Duplex

MIB: ZYXEL-MGS3712F-MIB

Transmission mode

SNMP agent zyxel.3712f.net.if.speed_duplex[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 6h

Port {#SNMPINDEX}: Interface description

MIB: ZYXEL-MGS3712F-MIB

A textual string containing information about the interface

SNMP agent zyxel.3712f.net.if.name[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 6h

Port {#SNMPINDEX}: Link type

MIB: ZYXEL-MGS3712F-MIB

Physical connection type

SNMP agent zyxel.3712f.net.if.link_type[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 6h

Port {#SNMPINDEX}: Interface name

MIB: IF-MIB

A textual string containing information about the interface

SNMP agent zyxel.3712f.net.if.descr[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 6h

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 agent zyxel.3712f.net.if.operstatus[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 6h

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 agent zyxel.3712f.net.if.adminstatus[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 6h

Port {#SNMPINDEX}: Incoming traffic

MIB: IF-MIB

The total number of octets received on the interface,

including framing characters.

SNMP agent zyxel.3712f.net.if.in.traffic[{#SNMPINDEX}]

Preprocessing

  • Custom multiplier: 8

  • Change per second
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 agent zyxel.3712f.net.if.in.ucastpkts[{#SNMPINDEX}]

Preprocessing

  • Change per second
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 agent zyxel.3712f.net.if.in.multicastpkts[{#SNMPINDEX}]

Preprocessing

  • Change per second
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 agent zyxel.3712f.net.if.in.broadcastpkts[{#SNMPINDEX}]

Preprocessing

  • Change per second
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 agent zyxel.3712f.net.if.out.traffic[{#SNMPINDEX}]

Preprocessing

  • Custom multiplier: 8

  • Change per second
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 agent zyxel.3712f.net.if.out.ucastpkts[{#SNMPINDEX}]

Preprocessing

  • Change per second
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 agent zyxel.3712f.net.if.out.multicastpkts[{#SNMPINDEX}]

Preprocessing

  • Change per second
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 agent zyxel.3712f.net.if.out.broadcastpkts[{#SNMPINDEX}]

Preprocessing

  • Change per second
Port {#SNMPINDEX}: Link speed

MIB: IF-MIB

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

SNMP agent zyxel.3712f.net.if.highspeed[{#SNMPINDEX}]

Preprocessing

  • Custom multiplier: 1000000

  • Discard unchanged with heartbeat: 6h

Port {#SNMPINDEX}: Incoming utilization

Interface utilization percentage

Calculated zyxel.3712f.net.if.in.util[{#SNMPINDEX}]

Preprocessing

  • In range: 0 -> 100

    ⛔️Custom on fail: Discard value

  • JavaScript: The text is too long. Please see the template.

Port {#SNMPINDEX}: Outgoing utilization

Interface utilization percentage

Calculated zyxel.3712f.net.if.out.util[{#SNMPINDEX}]

Preprocessing

  • In range: 0 -> 100

    ⛔️Custom on fail: Discard value

  • JavaScript: The text is too long. Please see the template.

Trigger prototypes for Interface discovery

Name Description Expression Severity Dependencies and additional info
Port {#SNMPINDEX}: Link down

This trigger expression works as follows:
1. It can be triggered if the operations status is down.
2. {$IFCONTROL:"{#IFNAME}"}=1 - a user can redefine context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down.
3. {TEMPLATE_NAME:METRIC.diff()}=1 - the trigger fires only if the operational status was up to (1) sometime before (so, do not fire for the 'eternal off' interfaces.)

WARNING: if closed manually - it will not fire again on the next poll, because of .diff.

last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.net.if.operstatus[{#SNMPINDEX}])=2 and last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.net.if.operstatus[{#SNMPINDEX}],#1)<>last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.net.if.operstatus[{#SNMPINDEX}],#2) Average Manual close: Yes

LLD rule SFP without DDM discovery

Name Description Type Key and additional info
SFP without DDM discovery

SFP module discovery.

SNMP agent zyxel.3712f.sfp.discovery

Item prototypes for SFP without DDM discovery

Name Description Type Key and additional info
SFP {#SNMPINDEX}: Status

MIB: ZYXEL-MGS3712F-MIB

Transceiver module status.

SNMP agent zyxel.3712f.sfp.status[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 1h

SFP {#SNMPINDEX}: Vendor

MIB: ZYXEL-MGS3712F-MIB

Transceiver module vendor name.

SNMP agent zyxel.3712f.sfp.vendor[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 1h

SFP {#SNMPINDEX}: Part number

MIB: ZYXEL-MGS3712F-MIB

Part number provided by transceiver module vendor.

SNMP agent zyxel.3712f.sfp.part[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 1h

SFP {#SNMPINDEX}: Serial number

MIB: ZYXEL-MGS3712F-MIB

Serial number provided by transceiver module vendor.

SNMP agent zyxel.3712f.sfp.serialnumber[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 1h

SFP {#SNMPINDEX}: Revision

MIB: ZYXEL-MGS3712F-MIB

Revision level for part number provided by transceiver module vendor.

SNMP agent zyxel.3712f.sfp.revision[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 1h

SFP {#SNMPINDEX}: Date code

MIB: ZYXEL-MGS3712F-MIB

Transceiver module vendor's manufacturing date code.

SNMP agent zyxel.3712f.sfp.datecode[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 1h

SFP {#SNMPINDEX}: Transceiver

MIB: ZYXEL-MGS3712F-MIB

Transceiver module type names.

SNMP agent zyxel.3712f.sfp.transceiver[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 1h

Trigger prototypes for SFP without DDM discovery

Name Description Expression Severity Dependencies and additional info
SFP {#SNMPINDEX} has been replaced

SFP {#SNMPINDEX} serial number has changed. Acknowledge to close the problem manually.

last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.sfp.serialnumber[{#SNMPINDEX}],#1)<>last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.sfp.serialnumber[{#SNMPINDEX}],#2) and length(last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.sfp.serialnumber[{#SNMPINDEX}]))>0 Info Manual close: Yes

LLD rule SFP with DDM discovery

Name Description Type Key and additional info
SFP with DDM discovery

SFP DDM module discovery.

SNMP agent zyxel.3712f.sfp.ddm.discovery

Preprocessing

  • JavaScript: The text is too long. Please see the template.

Item prototypes for SFP with DDM discovery

Name Description Type Key and additional info
SFP {#ZYXEL.SFP.PORT}: {#ZYXEL.SFP.DESCRIPTION}

MIB: ZYXEL-MGS3712F-MIB

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

SNMP agent zyxel.3712f.sfp.ddm[{#SNMPINDEX}]

Preprocessing

  • Custom multiplier: 0.01

  • Discard unchanged with heartbeat: 6h

Trigger prototypes for SFP with DDM discovery

Name Description Expression Severity Dependencies and additional info
SFP {#ZYXEL.SFP.PORT}: High {#ZYXEL.SFP.DESCRIPTION}

The upper threshold value of the parameter is exceeded

last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.sfp.ddm[{#SNMPINDEX}]) > {#ZYXEL.SFP.WARN.MAX} Warning Manual close: Yes
SFP {#ZYXEL.SFP.PORT}: Low {#ZYXEL.SFP.DESCRIPTION}

The parameter values are less than the lower threshold

last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.sfp.ddm[{#SNMPINDEX}]) < {#ZYXEL.SFP.WARN.MIN} Warning Manual close: Yes

Feedback

Please report any issues with the template at https://support.zabbix.com

You can also provide feedback, discuss the template, or ask for help at ZABBIX forums

Articles and documentation

+ Propose new article

Didn't find what you are looking for?