Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/net/zyxel_snmp/zyxel_gs4012f_snmp

ZYXEL GS-4012F 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 GS-4012F

Requirements

Zabbix version: 7.0 and higher.

Tested versions

This template has been tested on:

  • ZYXEL GS-4012F 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

Items

Name Description Type Key and additional info
ZYXEL GS-4012F: SNMP agent availability Zabbix internal zabbix[host,snmp,available]

Preprocessing

  • Discard unchanged with heartbeat: 1h

ZYXEL GS-4012F: 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.4012f.model

Preprocessing

  • Discard unchanged with heartbeat: 6h

ZYXEL GS-4012F: 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.4012f.contact

Preprocessing

  • Discard unchanged with heartbeat: 6h

ZYXEL GS-4012F: 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.4012f.name

Preprocessing

  • Discard unchanged with heartbeat: 6h

ZYXEL GS-4012F: Location

MIB: RFC1213-MIB

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

`telephone closet, 3rd floor').

SNMP agent zyxel.4012f.location

Preprocessing

  • Discard unchanged with heartbeat: 6h

ZYXEL GS-4012F: 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.4012f.mac

Preprocessing

  • Discard unchanged with heartbeat: 6h

ZYXEL GS-4012F: 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.4012f.net.uptime

Preprocessing

  • Custom multiplier: 0.01

ZYXEL GS-4012F: 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.4012f.hw.uptime

Preprocessing

  • Check for not supported value: any error

    ⛔️Custom on fail: Set value to: 0

  • Custom multiplier: 0.01

ZYXEL GS-4012F: ZyNOS F/W Version

MIB: ZYXEL-GS4012F-MIB

SNMP agent zyxel.4012f.fwversion

Preprocessing

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

  • Discard unchanged with heartbeat: 1d

ZYXEL GS-4012F: Hardware serial number

MIB: ZYXEL-GS4012F-MIB

Serial number

SNMP agent zyxel.4012f.serialnumber

Preprocessing

  • Discard unchanged with heartbeat: 6h

ZYXEL GS-4012F: CPU utilization

MIB: ZYXEL-GS4012F-MIB

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

getting the values.

SNMP agent zyxel.4012f.cpuusage

Triggers

Name Description Expression Severity Dependencies and additional info
ZYXEL GS-4012F: No SNMP data collection

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

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

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

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

Uptime is less than 10 minutes.

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

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

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

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

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

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

min(/ZYXEL GS-4012F by SNMP/zyxel.4012f.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.4012f.fan.discovery

Item prototypes for Fan discovery

Name Description Type Key and additional info
ZYXEL GS-4012F: Fan #{#SNMPINDEX}

MIB: ZYXEL-GS4012F-MIB

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

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

Preprocessing

  • Discard unchanged with heartbeat: 1h

Trigger prototypes for Fan discovery

Name Description Expression Severity Dependencies and additional info
ZYXEL GS-4012F: FAN{#SNMPINDEX} is in critical state

Please check the fan unit

last(/ZYXEL GS-4012F by SNMP/zyxel.4012f.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.4012f.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 GS-4012F: Temperature "{#ZYXEL.TEMP.ID}"

MIB: ZYXEL-GS4012F-MIB

The current temperature measured at this sensor

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

Preprocessing

  • Discard unchanged with heartbeat: 1h

Trigger prototypes for Temperature discovery

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

Please check the temperature

last(/ZYXEL GS-4012F by SNMP/zyxel.4012f.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.4012f.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 GS-4012F: Nominal "{#ZYXEL.VOLT.NOMINAL}"

MIB: ZYXEL-GS4012F-MIB

The current voltage reading.

SNMP agent zyxel.4012f.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 GS-4012F: Voltage {#ZYXEL.VOLT.NOMINAL} is in critical state

Please check the power supply

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

LLD rule Interface discovery

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

Item prototypes for Interface discovery

Name Description Type Key and additional info
ZYXEL GS-4012F: Port {#SNMPINDEX}: Speed Duplex

MIB: ZYXEL-GS4012F-MIB

Transmission mode

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

Preprocessing

  • Discard unchanged with heartbeat: 6h

ZYXEL GS-4012F: Port {#SNMPINDEX}: Interface description

MIB: ZYXEL-GS4012F-MIB

A textual string containing information about the interface

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

Preprocessing

  • Discard unchanged with heartbeat: 6h

ZYXEL GS-4012F: Port {#SNMPINDEX}: Link type

MIB: ZYXEL-GS4012F-MIB

Physical connection type

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

Preprocessing

  • Discard unchanged with heartbeat: 6h

ZYXEL GS-4012F: Port {#SNMPINDEX}: Interface name

MIB: IF-MIB

A textual string containing information about the interface

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

Preprocessing

  • Discard unchanged with heartbeat: 6h

ZYXEL GS-4012F: 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.4012f.net.if.operstatus[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 6h

ZYXEL GS-4012F: 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.4012f.net.if.adminstatus[{#SNMPINDEX}]

Preprocessing

  • Discard unchanged with heartbeat: 6h

ZYXEL GS-4012F: Port {#SNMPINDEX}: Incoming traffic

MIB: IF-MIB

The total number of octets received on the interface,

including framing characters.

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

Preprocessing

  • Custom multiplier: 8

  • Change per second
ZYXEL GS-4012F: 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.4012f.net.if.in.ucastpkts[{#SNMPINDEX}]

Preprocessing

  • Change per second
ZYXEL GS-4012F: 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.4012f.net.if.in.multicastpkts[{#SNMPINDEX}]

Preprocessing

  • Change per second
ZYXEL GS-4012F: 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.4012f.net.if.in.broadcastpkts[{#SNMPINDEX}]

Preprocessing

  • Change per second
ZYXEL GS-4012F: 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.4012f.net.if.out.traffic[{#SNMPINDEX}]

Preprocessing

  • Custom multiplier: 8

  • Change per second
ZYXEL GS-4012F: 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.4012f.net.if.out.ucastpkts[{#SNMPINDEX}]

Preprocessing

  • Change per second
ZYXEL GS-4012F: 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.4012f.net.if.out.multicastpkts[{#SNMPINDEX}]

Preprocessing

  • Change per second
ZYXEL GS-4012F: 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.4012f.net.if.out.broadcastpkts[{#SNMPINDEX}]

Preprocessing

  • Change per second
ZYXEL GS-4012F: Port {#SNMPINDEX}: Link speed

MIB: IF-MIB

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

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

Preprocessing

  • Custom multiplier: 1000000

  • Discard unchanged with heartbeat: 6h

ZYXEL GS-4012F: Port {#SNMPINDEX}: Incoming utilization

Interface utilization percentage

Calculated zyxel.4012f.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 GS-4012F: Port {#SNMPINDEX}: Outgoing utilization

Interface utilization percentage

Calculated zyxel.4012f.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 GS-4012F: 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 GS-4012F by SNMP/zyxel.4012f.net.if.operstatus[{#SNMPINDEX}])=2 and last(/ZYXEL GS-4012F by SNMP/zyxel.4012f.net.if.operstatus[{#SNMPINDEX}],#1)<>last(/ZYXEL GS-4012F by SNMP/zyxel.4012f.net.if.operstatus[{#SNMPINDEX}],#2) Average 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

Не нашли то, что искали?