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.0 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
ZYXEL MGS-3712F: SNMP agent availability Zabbix internal zabbix[host,snmp,available]

Preprocessing

  • Discard unchanged with heartbeat: 1h

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

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

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

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

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

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

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

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

ZYXEL MGS-3712F: Hardware serial number

MIB: ZYXEL-MGS3712F-MIB

Serial number

SNMP agent zyxel.3712f.serialnumber

Preprocessing

  • Discard unchanged with heartbeat: 6h

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

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

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

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

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

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

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

ZYXEL MGS-3712F: 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.

ZYXEL MGS-3712F: 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
ZYXEL MGS-3712F: 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
ZYXEL MGS-3712F: SFP {#SNMPINDEX}: Status

MIB: ZYXEL-MGS3712F-MIB

Transceiver module status.

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

Preprocessing

  • Discard unchanged with heartbeat: 1h

ZYXEL MGS-3712F: SFP {#SNMPINDEX}: Vendor

MIB: ZYXEL-MGS3712F-MIB

Transceiver module vendor name.

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

Preprocessing

  • Discard unchanged with heartbeat: 1h

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

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

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

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

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

Vous n’avez pas trouvé ce que vous cherchiez ?