Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/net/zyxel_snmp/zyxel_mes-3528_snmp

ZYXEL MES-3528 SNMP

Overview

For Zabbix version: 6.4 and higher
https://service-provider.zyxel.com/emea/en/products/carrier-and-access-switches/access-switches/mes3500-series

This template was tested on:

  • ZYXEL MES-3528, version V3.90(BHR.5)20111006 | 10/06/2011

Setup

See Zabbix template operation 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
{$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

1|2
{$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
Interface discovery

-

SNMP zyxel.3528.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.3528.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.3528.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}

Items collected

Group Name Description Type Key and additional info
CPU ZYXEL MES-3528: CPU utilization

MIB: ZYXEL-MES3528-MIB

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

getting the values.

SNMP zyxel.3528.cpuusage
Inventory ZYXEL MES-3528: 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.3528.model

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 6h

Inventory ZYXEL MES-3528: 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.3528.contact

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 6h

Inventory ZYXEL MES-3528: 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.3528.name

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 6h

Inventory ZYXEL MES-3528: Location

MIB: RFC1213-MIB

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

telephone closet, 3rd floor').</p> |SNMP |zyxel.3528.location<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT:6h`

Inventory ZYXEL MES-3528: MAC address

MIB: IF-MIB

The interface's address at the protocol layer

immediately below' the network layer in the</p><p>protocol stack. For interfaces which do not have</p><p>such an address (e.g., a serial line), this object</p><p>should contain an octet string of zero length.</p> |SNMP |zyxel.3528.mac<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT:6h`

Inventory ZYXEL MES-3528: ZyNOS F/W Version

MIB: ZYXEL-MES3528-MIB

SNMP zyxel.3528.fwversion

Preprocessing:

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

- DISCARD_UNCHANGED_HEARTBEAT: 1d

Inventory ZYXEL MES-3528: Hardware serial number

MIB: ZYXEL-MES3528-MIB

Serial number

SNMP zyxel.3528.serialnumber

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 6h

Network interfaces ZYXEL MES-3528: Port {#SNMPINDEX}: Speed Duplex

MIB: ZYXEL-MES3528-MIB

Transmission mode

SNMP zyxel.3528.net.if.speed_duplex[{#SNMPINDEX}]

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 6h

Network interfaces ZYXEL MES-3528: Port {#SNMPINDEX}: Interface description

MIB: ZYXEL-MES3528-MIB

A textual string containing information about the interface

SNMP zyxel.3528.net.if.name[{#SNMPINDEX}]

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 6h

Network interfaces ZYXEL MES-3528: Port {#SNMPINDEX}: Link type

MIB: ZYXEL-MES3528-MIB

Physical connection type

SNMP zyxel.3528.net.if.link_type[{#SNMPINDEX}]

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 6h

Network interfaces ZYXEL MES-3528: Port {#SNMPINDEX}: Interface name

MIB: IF-MIB

A textual string containing information about the interface

SNMP zyxel.3528.net.if.descr[{#SNMPINDEX}]

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 6h

Network interfaces ZYXEL MES-3528: 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.3528.net.if.operstatus[{#SNMPINDEX}]

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 6h

Network interfaces ZYXEL MES-3528: 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.3528.net.if.adminstatus[{#SNMPINDEX}]

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 6h

Network interfaces ZYXEL MES-3528: Port {#SNMPINDEX}: Incoming traffic

MIB: IF-MIB

The total number of octets received on the interface,

including framing characters.

SNMP zyxel.3528.net.if.in.traffic[{#SNMPINDEX}]

Preprocessing:

- MULTIPLIER: 8

- CHANGE_PER_SECOND

Network interfaces ZYXEL MES-3528: 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.3528.net.if.in.ucastpkts[{#SNMPINDEX}]

Preprocessing:

- CHANGE_PER_SECOND

Network interfaces ZYXEL MES-3528: 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.3528.net.if.in.multicastpkts[{#SNMPINDEX}]

Preprocessing:

- CHANGE_PER_SECOND

Network interfaces ZYXEL MES-3528: 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.3528.net.if.in.broadcastpkts[{#SNMPINDEX}]

Preprocessing:

- CHANGE_PER_SECOND

Network interfaces ZYXEL MES-3528: 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.3528.net.if.out.traffic[{#SNMPINDEX}]

Preprocessing:

- MULTIPLIER: 8

- CHANGE_PER_SECOND

Network interfaces ZYXEL MES-3528: 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.3528.net.if.out.ucastpkts[{#SNMPINDEX}]

Preprocessing:

- CHANGE_PER_SECOND

Network interfaces ZYXEL MES-3528: 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.3528.net.if.out.multicastpkts[{#SNMPINDEX}]

Preprocessing:

- CHANGE_PER_SECOND

Network interfaces ZYXEL MES-3528: 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.3528.net.if.out.broadcastpkts[{#SNMPINDEX}]

Preprocessing:

- CHANGE_PER_SECOND

Network interfaces ZYXEL MES-3528: Port {#SNMPINDEX}: Link speed

MIB: IF-MIB

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

SNMP zyxel.3528.net.if.highspeed[{#SNMPINDEX}]

Preprocessing:

- MULTIPLIER: 1000000

- DISCARD_UNCHANGED_HEARTBEAT: 6h

Network interfaces ZYXEL MES-3528: Port {#SNMPINDEX}: Incoming utilization

Interface utilization percentage

CALCULATED zyxel.3528.net.if.in.util[{#SNMPINDEX}]

Preprocessing:

- IN_RANGE: 0 100

⛔️ON_FAIL: DISCARD_VALUE ->

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

Expression:

last(//zyxel.3528.net.if.in.traffic[{#SNMPINDEX}]) * (last(//zyxel.3528.net.if.highspeed[{#SNMPINDEX}]) <> 0) / ( last(//zyxel.3528.net.if.highspeed[{#SNMPINDEX}]) + (last(//zyxel.3528.net.if.highspeed[{#SNMPINDEX}]) = 0) ) * 100
Network interfaces ZYXEL MES-3528: Port {#SNMPINDEX}: Outgoing utilization

Interface utilization percentage

CALCULATED zyxel.3528.net.if.out.util[{#SNMPINDEX}]

Preprocessing:

- IN_RANGE: 0 100

⛔️ON_FAIL: DISCARD_VALUE ->

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

Expression:

last(//zyxel.3528.net.if.out.traffic[{#SNMPINDEX}]) * (last(//zyxel.3528.net.if.highspeed[{#SNMPINDEX}]) <> 0) / ( last(//zyxel.3528.net.if.highspeed[{#SNMPINDEX}]) + (last(//zyxel.3528.net.if.highspeed[{#SNMPINDEX}]) = 0) ) * 100
Network interfaces ZYXEL MES-3528: SFP {#SNMPINDEX}: Status

MIB: ZYXEL-MES3528-MIB

Transceiver module status.

SNMP zyxel.3528.sfp.status[{#SNMPINDEX}]

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 1h

Network interfaces ZYXEL MES-3528: SFP {#SNMPINDEX}: Vendor

MIB: ZYXEL-MES3528-MIB

Transceiver module vendor name.

SNMP zyxel.3528.sfp.vendor[{#SNMPINDEX}]

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 1h

Network interfaces ZYXEL MES-3528: SFP {#SNMPINDEX}: Part number

MIB: ZYXEL-MES3528-MIB

Part number provided by transceiver module vendor.

SNMP zyxel.3528.sfp.part[{#SNMPINDEX}]

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 1h

Network interfaces ZYXEL MES-3528: SFP {#SNMPINDEX}: Serial number

MIB: ZYXEL-MES3528-MIB

Serial number provided by transceiver module vendor.

SNMP zyxel.3528.sfp.serialnumber[{#SNMPINDEX}]

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 1h

Network interfaces ZYXEL MES-3528: SFP {#SNMPINDEX}: Revision

MIB: ZYXEL-MES3528-MIB

Revision level for part number provided by transceiver module vendor.

SNMP zyxel.3528.sfp.revision[{#SNMPINDEX}]

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 1h

Network interfaces ZYXEL MES-3528: SFP {#SNMPINDEX}: Date code

MIB: ZYXEL-MES3528-MIB

Transceiver module vendor's manufacturing date code.

SNMP zyxel.3528.sfp.datecode[{#SNMPINDEX}]

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 1h

Network interfaces ZYXEL MES-3528: SFP {#SNMPINDEX}: Transceiver

MIB: ZYXEL-MES3528-MIB

Transceiver module type names.

SNMP zyxel.3528.sfp.transceiver[{#SNMPINDEX}]

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 1h

Network interfaces ZYXEL MES-3528: SFP {#ZYXEL.SFP.PORT}: {#ZYXEL.SFP.DESCRIPTION}

MIB: ZYXEL-MES3528-MIB

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

SNMP zyxel.3528.sfp.ddm[{#SNMPINDEX}]

Preprocessing:

- MULTIPLIER: 0.01

- DISCARD_UNCHANGED_HEARTBEAT: 6h

Status ZYXEL MES-3528: SNMP agent availability

-

INTERNAL zabbix[host,snmp,available]

Preprocessing:

- DISCARD_UNCHANGED_HEARTBEAT: 1h

Status ZYXEL MES-3528: 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 zyxel.3528.net.uptime

Preprocessing:

- MULTIPLIER: 0.01

Status ZYXEL MES-3528: 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 zyxel.3528.hw.uptime

Preprocessing:

- CHECK_NOT_SUPPORTED

⛔️ON_FAIL: CUSTOM_VALUE -> 0

- MULTIPLIER: 0.01

Triggers

Name Description Expression Severity Dependencies and additional info
ZYXEL MES-3528: High CPU utilization

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

min(/ZYXEL MES-3528 SNMP/zyxel.3528.cpuusage,5m)>{$CPU.UTIL.CRIT} WARNING
ZYXEL MES-3528: Template does not match hardware

This template is for Zyxel MES-3528, but connected to {ITEM.VALUE}

last(/ZYXEL MES-3528 SNMP/zyxel.3528.model)<>"MES-3528" INFO
ZYXEL MES-3528: Firmware has changed

Firmware version has changed. Ack to close

last(/ZYXEL MES-3528 SNMP/zyxel.3528.fwversion,#1)<>last(/ZYXEL MES-3528 SNMP/zyxel.3528.fwversion,#2) and length(last(/ZYXEL MES-3528 SNMP/zyxel.3528.fwversion))>0 INFO

Manual close: YES

ZYXEL MES-3528: Device has been replaced

Device serial number has changed. Ack to close

last(/ZYXEL MES-3528 SNMP/zyxel.3528.serialnumber,#1)<>last(/ZYXEL MES-3528 SNMP/zyxel.3528.serialnumber,#2) and length(last(/ZYXEL MES-3528 SNMP/zyxel.3528.serialnumber))>0 INFO

Manual close: YES

ZYXEL MES-3528: 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 MES-3528 SNMP/zyxel.3528.net.if.operstatus[{#SNMPINDEX}])=2 and last(/ZYXEL MES-3528 SNMP/zyxel.3528.net.if.operstatus[{#SNMPINDEX}],#1)<>last(/ZYXEL MES-3528 SNMP/zyxel.3528.net.if.operstatus[{#SNMPINDEX}],#2)

Recovery expression:

last(/ZYXEL MES-3528 SNMP/zyxel.3528.net.if.operstatus[{#SNMPINDEX}])<>2
AVERAGE

Manual close: YES

ZYXEL MES-3528: SFP {#SNMPINDEX} has been replaced

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

last(/ZYXEL MES-3528 SNMP/zyxel.3528.sfp.serialnumber[{#SNMPINDEX}],#1)<>last(/ZYXEL MES-3528 SNMP/zyxel.3528.sfp.serialnumber[{#SNMPINDEX}],#2) and length(last(/ZYXEL MES-3528 SNMP/zyxel.3528.sfp.serialnumber[{#SNMPINDEX}]))>0 INFO

Manual close: YES

ZYXEL MES-3528: SFP {#ZYXEL.SFP.PORT}: High {#ZYXEL.SFP.DESCRIPTION}

The upper threshold value of the parameter is exceeded

last(/ZYXEL MES-3528 SNMP/zyxel.3528.sfp.ddm[{#SNMPINDEX}]) > {#ZYXEL.SFP.WARN.MAX} WARNING
ZYXEL MES-3528: SFP {#ZYXEL.SFP.PORT}: Low {#ZYXEL.SFP.DESCRIPTION}

The parameter values are less than the lower threshold

last(/ZYXEL MES-3528 SNMP/zyxel.3528.sfp.ddm[{#SNMPINDEX}]) < {#ZYXEL.SFP.WARN.MIN} WARNING
ZYXEL MES-3528: No SNMP data collection

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

max(/ZYXEL MES-3528 SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0 WARNING
ZYXEL MES-3528: Host has been restarted

Uptime is less than 10 minutes.

(last(/ZYXEL MES-3528 SNMP/zyxel.3528.hw.uptime)>0 and last(/ZYXEL MES-3528 SNMP/zyxel.3528.hw.uptime)<10m) or (last(/ZYXEL MES-3528 SNMP/zyxel.3528.hw.uptime)=0 and last(/ZYXEL MES-3528 SNMP/zyxel.3528.net.uptime)<10m) INFO

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 with it at ZABBIX forums.

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 MES-3528

Articles and documentation

+ Propose new article

Nenašli jste integraci, kterou potřebujete?