diff --git a/templates/devices/zyxel_gs1920/6.0/README.md b/templates/devices/zyxel_gs1920/6.0/README.md new file mode 100644 index 0000000..3491021 --- /dev/null +++ b/templates/devices/zyxel_gs1920/6.0/README.md @@ -0,0 +1,84 @@ + +# ZYXEL GS1920 SNMP + +## Overview + +This template is designed for [ZYXEL GS1920](https://www.zyxel.com/global/en/products/switch/8-24-48-port-gbe-smart-managed-switch-gs1920-series) monitoring by SNMP. + +## Requirements + +- Zabbix version: 6.0 and higher. + +## Tested versions + +This template has been tested on: + +- [V4.80(ABMK.1) | 07/08/2024](https://download.zyxel.com/GS1920-48HPv2/firmware/GS1920-48HPv2_4.80(ABMK.1)C0_2.pdf) + +### 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`| + +### Items + +|Name|Description|Type|Key and additional info| +|----|-----------|----|-----------------------| +|ZYXEL GS1920: CPU utilization|MIB: ZYXEL-SYSTEM-MGMT-MIB|SNMP agent|zyxel.gs1920.cpuusage| +|ZYXEL GS1920: Hardware model name|MIB: RFC1213-MIB|SNMP agent|zyxel.gs1920.model| +|ZYXEL GS1920: Hardware serial number|MIB: ZYXEL-SYSTEM-MIB|SNMP agent|zyxel.gs1920.serialnumber| +|ZYXEL GS1920: Host name|MIB: RFC1213-MIB|SNMP agent|zyxel.gs1920.name| +|ZYXEL GS1920: MAC address|MIB: IF-MIB|SNMP agent|zyxel.gs1920.mac| +|ZYXEL GS1920: RAM utilization|MIB: ZYXEL-SYS-MEMORY-MIB|SNMP agent|zyxel.gs1920.ramusage| +|ZYXEL GS1920: Uptime|MIB: RFC1213-MIB|SNMP agent|zyxel.gs1920.uptime| + +### Triggers + +|Name|Description|Expression|Severity|Dependencies and additional info| +|----|-----------|----------|--------|--------------------------------| +|ZYXEL GS1920: Device has been replaced (new serial number received)|-|last(/ZYXEL GS1920 SNMP/zyxel.gs1920.serialnumber,#1)<>last(/ZYXEL GS1920 SNMP/zyxel.gs1920.serialnumber,#2) and length(last(/ZYXEL GS1920 SNMP/zyxel.gs1920.serialnumber))>0|Information|-| +|ZYXEL GS1920: has been restarted (uptime < 10m)|-|last(/ZYXEL GS1920 SNMP/zyxel.gs1920.uptime)<10m|Information|-| +|ZYXEL GS1920: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)|-|min(/ZYXEL GS1920 SNMP/zyxel.gs1920.cpuusage,5m)>{$CPU.UTIL.CRIT}|Warning|-| +|ZYXEL GS1920: No SNMP data collection|-|max(/ZYXEL GS1920 SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0|Warning|-| +|ZYXEL GS1920: Template does not match hardware|-|last(/ZYXEL GS1920 SNMP/zyxel.gs1920.model)<>"GS1920-48HP"|Information|-| + +### Discovery rules + +|Name|Description|Type|Key and additional info| +|----|-----------|----|-----------------------| +|Fan discovery|MIB: ZYXEL-HW-MONITOR-MIB|SNMP agent|zyxel.gs1920.fan.discovery| +|Interface discovery|-|SNMP agent|zyxel.gs1920.net.if.discovery| +|Temperature discovery|MIB: ZYXEL-HW-MONITOR-MIB|SNMP agent|zyxel.gs1920.temp.discovery| +|Voltage discovery|MIB: ZYXEL-HW-MONITOR-MIB|SNMP agent|zyxel.gs1920.volt.discovery| + +### Item prototypes + +|Name|Description|Type|Key and additional info| +|----|-----------|----|-----------------------| +|ZYXEL GS1920: Fan #{#SNMPINDEX}|MIB: ZYXEL-HW-MONITOR-MIB|SNMP agent|zyxel.gs1920.fan[{#SNMPINDEX}]| +|ZYXEL GS1920: Port {#SNMPINDEX}: Administrative status|MIB: IF-MIB|SNMP agent|zyxel.gs1920.net.if.adminstatus[{#SNMPINDEX}]| +|ZYXEL GS1920: Port {#SNMPINDEX}: Incoming broadcast packages|MIB: IF-MIB|SNMP agent|zyxel.gs1920.net.if.in.broadcastpkts[{#SNMPINDEX}]| +|ZYXEL GS1920: Port {#SNMPINDEX}: Incoming multicast packages|MIB: IF-MIB|SNMP agent|zyxel.gs1920.net.if.in.multicastpkts[{#SNMPINDEX}]| +|ZYXEL GS1920: Port {#SNMPINDEX}: Incoming traffic|MIB: IF-MIB|SNMP agent|zyxel.gs1920.net.if.in.traffic[{#SNMPINDEX}]| +|ZYXEL GS1920: Port {#SNMPINDEX}: Incoming unicast packages|MIB: IF-MIB|SNMP agent|zyxel.gs1920.net.if.in.ucastpkts[{#SNMPINDEX}]| +|ZYXEL GS1920: Port {#SNMPINDEX}: Incoming utilization|-|Calculated|zyxel.gs1920.net.if.in.util[{#SNMPINDEX}]| +|ZYXEL GS1920: Port {#SNMPINDEX}: Interface description|MIB: ZYXEL-PORT-MIB|SNMP agent|zyxel.gs1920.net.if.name[{#SNMPINDEX}]| +|ZYXEL GS1920: Port {#SNMPINDEX}: Interface name|MIB: IF-MIB|SNMP agent|zyxel.gs1920.net.if.descr[{#SNMPINDEX}]| +|ZYXEL GS1920: Port {#SNMPINDEX}: Link speed|MIB: IF-MIB|SNMP agent|zyxel.gs1920.net.if.highspeed[{#SNMPINDEX}]| +|ZYXEL GS1920: Port {#SNMPINDEX}: Link type|MIB: ZYXEL-PORT-MIB|SNMP agent|zyxel.gs1920.net.if.link_type[{#SNMPINDEX}]| +|ZYXEL GS1920: Port {#SNMPINDEX}: Operational status|MIB: IF-MIB|SNMP agent|zyxel.gs1920.net.if.operstatus[{#SNMPINDEX}]| +|ZYXEL GS1920: Port {#SNMPINDEX}: Outgoing broadcast packages|MIB: IF-MIB|SNMP agent|zyxel.gs1920.net.if.out.broadcastpkts[{#SNMPINDEX}]| +|ZYXEL GS1920: Port {#SNMPINDEX}: Outgoing multicast packages|MIB: IF-MIB|SNMP agent|zyxel.gs1920.net.if.out.multicastpkts[{#SNMPINDEX}]| +|ZYXEL GS1920: Port {#SNMPINDEX}: Outgoing traffic|MIB: IF-MIB|SNMP agent|zyxel.gs1920.net.if.out.traffic[{#SNMPINDEX}]| +|ZYXEL GS1920: Port {#SNMPINDEX}: Outgoing unicast packages|MIB: IF-MIB|SNMP agent|zyxel.gs1920.net.if.out.ucastpkts[{#SNMPINDEX}]| +|ZYXEL GS1920: Port {#SNMPINDEX}: Outgoing utilization|-|Calculated|zyxel.gs1920.net.if.out.util[{#SNMPINDEX}]| +|ZYXEL GS1920: Port {#SNMPINDEX}: Speed Duplex|MIB: ZYXEL-PORT-MIB|SNMP agent|zyxel.gs1920.net.if.speed_duplex[{#SNMPINDEX}]| +|ZYXEL GS1920: Temperature "{#ZYXEL.TEMP.ID}"|MIB: ZYXEL-HW-MONITOR-MIB|SNMP agent|zyxel.gs1920.temp[{#SNMPINDEX}]| +|ZYXEL GS1920: Nominal "{#ZYXEL.VOLT.NOMINAL}"|MIB: ZYXEL-HW-MONITOR-MIB|SNMP agent|zyxel.gs1920.volt[{#SNMPINDEX}]| diff --git a/templates/devices/zyxel_gs1920/6.0/zyxel_gs1920_snmp.yaml b/templates/devices/zyxel_gs1920/6.0/zyxel_gs1920_snmp.yaml new file mode 100644 index 0000000..a6d26a0 --- /dev/null +++ b/templates/devices/zyxel_gs1920/6.0/zyxel_gs1920_snmp.yaml @@ -0,0 +1,1237 @@ +zabbix_export: + version: '6.0' + date: '2025-01-15T00:00:00Z' + groups: + - + uuid: 36bff6c29af64692839d077febfc7079 + name: 'Templates/Network devices' + templates: + - + uuid: 463b0a1bccdc47ab859d81a064afcf38 + template: 'ZYXEL GS1920 SNMP' + name: 'ZYXEL GS1920 SNMP' + description: | + ZYXEL GS1920 + + MIBs used: + ZYXEL-SYSTEM-MIB + ZYXEL-SYSTEM-MGMT-MIB + ZYXEL-HW-MONITOR-MIB + ZYXEL-SYS-MEMORY-MIB + RFC1213-MIB + IF-MIB + + Reference: ZYXEL GS-4012F SNMP + groups: + - + name: 'Templates/Network devices' + items: + - + uuid: 8f73f5fe99e749faa9b7a2f9d70ddef0 + name: 'ZYXEL GS1920: SNMP agent availability' + type: INTERNAL + key: 'zabbix[host,snmp,available]' + history: 7d + valuemap: + name: 'SNMP available' + preprocessing: + - + type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 1h + tags: + - + tag: component + value: network + triggers: + - + uuid: 583e70f0f9b14815a8d3e154f869d135 + expression: 'max(/ZYXEL GS1920 SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0' + name: 'ZYXEL GS1920: No SNMP data collection' + opdata: 'Current state: {ITEM.LASTVALUE1}' + priority: WARNING + description: 'SNMP is not available for polling. Please check device connectivity and SNMP settings.' + tags: + - + tag: scope + value: availability + - + uuid: e18291b1bbd345cd97e48ba0540718d1 + name: 'ZYXEL GS1920: CPU utilization' + type: SNMP_AGENT + snmp_oid: .1.3.6.1.4.1.890.1.15.3.49.1.7.0 + key: zyxel.gs1920.cpuusage + history: 7d + value_type: FLOAT + units: '%' + description: | + MIB: ZYXEL-SYSTEM-MGMT-MIB + Show device CPU load in %, it's the snapshot of CPU load when + getting the values. + tags: + - + tag: component + value: cpu + triggers: + - + uuid: 4dbec6fbc4ed4bcd942909c990ef709f + expression: 'min(/ZYXEL GS1920 SNMP/zyxel.gs1920.cpuusage,5m)>{$CPU.UTIL.CRIT}' + name: 'ZYXEL GS1920: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)' + opdata: 'Current utilization: {ITEM.LASTVALUE1}' + priority: WARNING + description: 'CPU utilization is too high. The system might be slow to respond.' + tags: + - + tag: scope + value: performance + - + uuid: 00c3fbe999c04b7e8afa1c2bf87af021 + name: 'ZYXEL GS1920: MAC address' + type: SNMP_AGENT + snmp_oid: .1.3.6.1.2.1.2.2.1.6.1 + key: zyxel.gs1920.mac + delay: 1h + history: 7d + trends: '0' + value_type: CHAR + description: | + 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. + inventory_link: MACADDRESS_A + preprocessing: + - + type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 6h + tags: + - + tag: component + value: inventory + - + uuid: da3cef7e4d8049bfafe13ad7eb6933ff + name: 'ZYXEL GS1920: Hardware model name' + type: SNMP_AGENT + snmp_oid: .1.3.6.1.2.1.1.1.0 + key: zyxel.gs1920.model + delay: 1h + history: 7d + trends: '0' + value_type: CHAR + description: | + 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. + inventory_link: MODEL + preprocessing: + - + type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 6h + tags: + - + tag: component + value: inventory + triggers: + - + uuid: 9b2cde579287497ba10965b45a43752b + expression: 'last(/ZYXEL GS1920 SNMP/zyxel.gs1920.model)<>"GS1920-48HP"' + name: 'ZYXEL GS1920: Template does not match hardware' + priority: INFO + description: 'This template is for Zyxel GS1920-48HP, but connected to {ITEM.VALUE}' + tags: + - + tag: scope + value: notice + - + uuid: 647ddcf53d8c4d78bb2df079f0db7b61 + name: 'ZYXEL GS1920: Host name' + type: SNMP_AGENT + snmp_oid: .1.3.6.1.2.1.1.5.0 + key: zyxel.gs1920.name + delay: 1h + history: 7d + trends: '0' + value_type: CHAR + description: | + MIB: RFC1213-MIB + An administratively-assigned name for this + managed node. By convention, this is the node's + fully-qualified domain name. + inventory_link: NAME + preprocessing: + - + type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 6h + tags: + - + tag: component + value: inventory + - + uuid: 1ef0d049b85549379f21e9ce680f1740 + name: 'ZYXEL GS1920: RAM utilization' + type: SNMP_AGENT + snmp_oid: .1.3.6.1.4.1.890.1.15.3.50.1.1.1.5.1 + key: zyxel.gs1920.ramusage + history: 7d + units: '%' + description: | + MIB: ZYXEL-SYS-MEMORY-MIB + Show device RAM load in %, it's the snapshot of CPU load when + getting the values. + tags: + - + tag: component + value: ram + - + uuid: 53219806288a466ba0aebb5c3577ea1e + name: 'ZYXEL GS1920: Hardware serial number' + type: SNMP_AGENT + snmp_oid: .1.3.6.1.4.1.890.1.15.3.82.2.10.0 + key: zyxel.gs1920.serialnumber + delay: 1h + history: 7d + trends: '0' + value_type: CHAR + description: | + MIB: ZYXEL-SYSTEM-MIB + Serial number + inventory_link: SERIALNO_A + preprocessing: + - + type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 6h + tags: + - + tag: component + value: inventory + triggers: + - + uuid: 7edcc2d22fff420cb511e5123998a1d8 + expression: 'last(/ZYXEL GS1920 SNMP/zyxel.gs1920.serialnumber,#1)<>last(/ZYXEL GS1920 SNMP/zyxel.gs1920.serialnumber,#2) and length(last(/ZYXEL GS1920 SNMP/zyxel.gs1920.serialnumber))>0' + name: 'ZYXEL GS1920: Device has been replaced (new serial number received)' + priority: INFO + description: 'Device serial number has changed. Ack to close' + manual_close: 'YES' + tags: + - + tag: scope + value: notice + - + uuid: 84c30cdd8a73442493b08bca117ac8e8 + name: 'ZYXEL GS1920: Uptime' + type: SNMP_AGENT + snmp_oid: .1.3.6.1.2.1.1.3.0 + key: zyxel.gs1920.uptime + delay: 30s + history: 2w + trends: '0' + units: uptime + description: | + MIB: RFC1213-MIB + The time (in hundredths of a second) since the + network management portion of the system was last + re-initialized. + preprocessing: + - + type: MULTIPLIER + parameters: + - '0.01' + tags: + - + tag: component + value: system + triggers: + - + uuid: 5217c4a17bfd44a6ab255b765e1410a9 + expression: 'last(/ZYXEL GS1920 SNMP/zyxel.gs1920.uptime)<10m' + name: 'ZYXEL GS1920: has been restarted (uptime < 10m)' + priority: INFO + description: 'Uptime is less than 10 minutes' + manual_close: 'YES' + tags: + - + tag: scope + value: notice + discovery_rules: + - + uuid: e2202c8b17aa4eea9a9a2860f2626a9b + name: 'Fan discovery' + type: SNMP_AGENT + snmp_oid: 'discovery[{#ZYXEL.FANRPM.THRESH.LOW},.1.3.6.1.4.1.890.1.15.3.26.1.1.1.6]' + key: zyxel.gs1920.fan.discovery + delay: 1h + description: | + MIB: ZYXEL-HW-MONITOR-MIB + An entry in fanRpmTable. + item_prototypes: + - + uuid: 7ec1854512ed4db78ffaaaa0403e381c + name: 'ZYXEL GS1920: Fan #{#SNMPINDEX}' + type: SNMP_AGENT + snmp_oid: '.1.3.6.1.4.1.890.1.15.3.26.1.1.1.3.{#SNMPINDEX}' + key: 'zyxel.gs1920.fan[{#SNMPINDEX}]' + history: 7d + units: '!rpm' + description: | + MIB: ZYXEL-HW-MONITOR-MIB + Current speed in Revolutions Per Minute (RPM) on the fan. + preprocessing: + - + type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 1h + tags: + - + tag: component + value: fan + - + tag: component + value: sensor + trigger_prototypes: + - + uuid: bcaf72ae940b497696a5c72483d108c9 + expression: 'last(/ZYXEL GS1920 SNMP/zyxel.gs1920.fan[{#SNMPINDEX}])<{#ZYXEL.FANRPM.THRESH.LOW}' + name: 'ZYXEL GS1920: FAN{#SNMPINDEX} is in critical state' + opdata: 'Current state: {ITEM.LASTVALUE1}' + priority: AVERAGE + description: 'Please check the fan unit' + tags: + - + tag: scope + value: notice + graph_prototypes: + - + uuid: 500c5fd17177419a89da5d3334143998 + name: 'ZYXEL GS1920: Fan #{#SNMPINDEX}' + graph_items: + - + color: 1A7C11 + item: + host: 'ZYXEL GS1920 SNMP' + key: 'zyxel.gs1920.fan[{#SNMPINDEX}]' + - + uuid: 2c80b99176854d208c89e3177fb8824a + name: 'Interface discovery' + type: SNMP_AGENT + snmp_oid: 'discovery[{#ZYXEL.IF.NAME},.1.3.6.1.4.1.890.1.15.3.61.1.1.1.3,{#ZYXEL.IF.LINKUPTYPE},.1.3.6.1.4.1.890.1.15.3.61.2.1.1.2]' + key: zyxel.gs1920.net.if.discovery + delay: 1h + filter: + evaltype: AND + conditions: + - + macro: '{#ZYXEL.IF.NAME}' + value: '{$ZYXEL.LLD.FILTER.IF.NAME.MATCHES}' + formulaid: C + - + macro: '{#ZYXEL.IF.NAME}' + value: '{$ZYXEL.LLD.FILTER.IF.NAME.NOT_MATCHES}' + operator: NOT_MATCHES_REGEX + formulaid: D + - + macro: '{#ZYXEL.IF.LINKUPTYPE}' + value: '{$ZYXEL.LLD.FILTER.IF.LINKUPTYPE.MATCHES}' + formulaid: A + - + macro: '{#ZYXEL.IF.LINKUPTYPE}' + value: '{$ZYXEL.LLD.FILTER.IF.LINKUPTYPE.NOT_MATCHES}' + operator: NOT_MATCHES_REGEX + formulaid: B + item_prototypes: + - + uuid: 86cf1d26482b4fc9860415c8d90cd767 + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Administrative status' + type: SNMP_AGENT + snmp_oid: '.1.3.6.1.2.1.2.2.1.7.{#SNMPINDEX}' + key: 'zyxel.gs1920.net.if.adminstatus[{#SNMPINDEX}]' + history: 7d + description: | + MIB: IF-MIB + The desired state of the interface. The + testing(3) state indicates that no operational + packets can be passed. + valuemap: + name: 'ZYXEL GS1920 port admin status' + preprocessing: + - + type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 6h + tags: + - + tag: component + value: network + - + tag: description + value: '{#ZYXEL.IF.NAME}' + - + tag: interface + value: '{#SNMPINDEX}' + - + uuid: a7b2916184fc479181bf48dd059068e2 + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Interface name' + type: SNMP_AGENT + snmp_oid: '.1.3.6.1.2.1.2.2.1.2.{#SNMPINDEX}' + key: 'zyxel.gs1920.net.if.descr[{#SNMPINDEX}]' + history: 7d + trends: '0' + value_type: CHAR + description: | + MIB: IF-MIB + A textual string containing information about the interface + preprocessing: + - + type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 6h + tags: + - + tag: component + value: network + - + tag: description + value: '{#ZYXEL.IF.NAME}' + - + tag: interface + value: '{#SNMPINDEX}' + - + uuid: 8e96c98d4beb4f94b6b16bcaf423f0cf + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Link speed' + type: SNMP_AGENT + snmp_oid: '.1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}' + key: 'zyxel.gs1920.net.if.highspeed[{#SNMPINDEX}]' + history: 7d + units: bps + description: | + MIB: IF-MIB + An estimate of the interface's current bandwidth in bits per second + preprocessing: + - + type: MULTIPLIER + parameters: + - '1000000' + - + type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 6h + tags: + - + tag: component + value: network + - + tag: description + value: '{#ZYXEL.IF.NAME}' + - + tag: interface + value: '{#SNMPINDEX}' + - + uuid: 16ca2f4246454b6387dd299c96c00842 + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Incoming broadcast packages' + type: SNMP_AGENT + snmp_oid: '.1.3.6.1.2.1.31.1.1.1.9.{#SNMPINDEX}' + key: 'zyxel.gs1920.net.if.in.broadcastpkts[{#SNMPINDEX}]' + history: 7d + units: packets/s + description: | + 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. + preprocessing: + - + type: CHANGE_PER_SECOND + parameters: + - '' + tags: + - + tag: component + value: network + - + tag: description + value: '{#ZYXEL.IF.NAME}' + - + tag: interface + value: '{#SNMPINDEX}' + - + uuid: 6c9cb29bfffa420eab9124e9a3525471 + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Incoming multicast packages' + type: SNMP_AGENT + snmp_oid: '.1.3.6.1.2.1.31.1.1.1.8.{#SNMPINDEX}' + key: 'zyxel.gs1920.net.if.in.multicastpkts[{#SNMPINDEX}]' + history: 7d + units: packets/s + description: | + 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. + preprocessing: + - + type: CHANGE_PER_SECOND + parameters: + - '' + tags: + - + tag: component + value: network + - + tag: description + value: '{#ZYXEL.IF.NAME}' + - + tag: interface + value: '{#SNMPINDEX}' + - + uuid: 743e205a0dcb4ee48d005935435348d6 + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Incoming traffic' + type: SNMP_AGENT + snmp_oid: '.1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}' + key: 'zyxel.gs1920.net.if.in.traffic[{#SNMPINDEX}]' + history: 7d + units: bps + description: | + MIB: IF-MIB + The total number of octets received on the interface, + including framing characters. + preprocessing: + - + type: MULTIPLIER + parameters: + - '8' + - + type: CHANGE_PER_SECOND + parameters: + - '' + tags: + - + tag: component + value: network + - + tag: description + value: '{#ZYXEL.IF.NAME}' + - + tag: interface + value: '{#SNMPINDEX}' + - + uuid: 98184bebcbc442cd8d7d1e5e2a7362a5 + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Incoming unicast packages' + type: SNMP_AGENT + snmp_oid: '.1.3.6.1.2.1.31.1.1.1.7.{#SNMPINDEX}' + key: 'zyxel.gs1920.net.if.in.ucastpkts[{#SNMPINDEX}]' + history: 7d + units: packets/s + description: | + 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 + preprocessing: + - + type: CHANGE_PER_SECOND + parameters: + - '' + tags: + - + tag: component + value: network + - + tag: description + value: '{#ZYXEL.IF.NAME}' + - + tag: interface + value: '{#SNMPINDEX}' + - + uuid: 81843ac7420b4dffb9a17e47a0dedd9b + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Incoming utilization' + type: CALCULATED + key: 'zyxel.gs1920.net.if.in.util[{#SNMPINDEX}]' + history: 7d + value_type: FLOAT + units: '%' + params: 'last(//zyxel.gs1920.net.if.in.traffic[{#SNMPINDEX}]) * (last(//zyxel.gs1920.net.if.highspeed[{#SNMPINDEX}]) <> 0) / ( last(//zyxel.gs1920.net.if.highspeed[{#SNMPINDEX}]) + (last(//zyxel.gs1920.net.if.highspeed[{#SNMPINDEX}]) = 0) ) * 100' + description: 'Interface utilization percentage' + preprocessing: + - + type: IN_RANGE + parameters: + - '0' + - '100' + error_handler: DISCARD_VALUE + - + type: JAVASCRIPT + parameters: + - 'return +parseFloat(value).toFixed(0);' + tags: + - + tag: component + value: network + - + tag: description + value: '{#ZYXEL.IF.NAME}' + - + tag: interface + value: '{#SNMPINDEX}' + - + uuid: 81d9394e7e8043fabfb0878f97364bca + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Link type' + type: SNMP_AGENT + snmp_oid: '.1.3.6.1.4.1.890.1.15.3.61.2.1.1.2.{#SNMPINDEX}' + key: 'zyxel.gs1920.net.if.link_type[{#SNMPINDEX}]' + history: 7d + description: | + MIB: ZYXEL-PORT-MIB + Physical connection type + valuemap: + name: 'ZYXEL GS1920 operational mode port link up type' + preprocessing: + - + type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 6h + tags: + - + tag: component + value: network + - + tag: description + value: '{#ZYXEL.IF.NAME}' + - + tag: interface + value: '{#SNMPINDEX}' + - + uuid: 6844c9e14ae04de0a4642b66247dd2cb + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Interface description' + type: SNMP_AGENT + snmp_oid: '.1.3.6.1.4.1.890.1.15.3.61.1.1.1.3.{#SNMPINDEX}' + key: 'zyxel.gs1920.net.if.name[{#SNMPINDEX}]' + history: 7d + trends: '0' + value_type: CHAR + description: | + MIB: ZYXEL-PORT-MIB + A textual string containing information about the interface + preprocessing: + - + type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 6h + tags: + - + tag: component + value: network + - + tag: description + value: '{#ZYXEL.IF.NAME}' + - + tag: interface + value: '{#SNMPINDEX}' + - + uuid: 034e4f408d8c406180de392ffd0bd80c + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Operational status' + type: SNMP_AGENT + snmp_oid: '.1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}' + key: 'zyxel.gs1920.net.if.operstatus[{#SNMPINDEX}]' + history: 7d + description: | + MIB: IF-MIB + The current operational state of the interface. + The testing(3) state indicates that no operational + packets can be passed. + valuemap: + name: 'ZYXEL GS1920 port operational status' + preprocessing: + - + type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 6h + tags: + - + tag: component + value: network + - + tag: description + value: '{#ZYXEL.IF.NAME}' + - + tag: interface + value: '{#SNMPINDEX}' + trigger_prototypes: + - + uuid: 77902ed97e2142018d7b38fa24ddbaa9 + expression: 'last(/ZYXEL GS1920 SNMP/zyxel.gs1920.net.if.operstatus[{#SNMPINDEX}])=2 and last(/ZYXEL GS1920 SNMP/zyxel.gs1920.net.if.operstatus[{#SNMPINDEX}],#1)<>last(/ZYXEL GS1920 SNMP/zyxel.gs1920.net.if.operstatus[{#SNMPINDEX}],#2)' + recovery_mode: RECOVERY_EXPRESSION + recovery_expression: 'last(/ZYXEL GS1920 SNMP/zyxel.gs1920.net.if.operstatus[{#SNMPINDEX}])<>2' + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Link down' + opdata: 'Current state: {ITEM.LASTVALUE1}' + priority: AVERAGE + description: | + 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. + tags: + - + tag: scope + value: notice + - + uuid: 8b9a89bc49614e55b2c926436e5e0be5 + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Outgoing broadcast packages' + type: SNMP_AGENT + snmp_oid: '.1.3.6.1.2.1.31.1.1.1.13.{#SNMPINDEX}' + key: 'zyxel.gs1920.net.if.out.broadcastpkts[{#SNMPINDEX}]' + history: 7d + units: packets/s + description: | + 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. + preprocessing: + - + type: CHANGE_PER_SECOND + parameters: + - '' + tags: + - + tag: component + value: network + - + tag: description + value: '{#ZYXEL.IF.NAME}' + - + tag: interface + value: '{#SNMPINDEX}' + - + uuid: a24e1dfd287044fc87569c0c236e306e + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Outgoing multicast packages' + type: SNMP_AGENT + snmp_oid: '.1.3.6.1.2.1.31.1.1.1.12.{#SNMPINDEX}' + key: 'zyxel.gs1920.net.if.out.multicastpkts[{#SNMPINDEX}]' + history: 7d + units: packets/s + description: | + 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. + preprocessing: + - + type: CHANGE_PER_SECOND + parameters: + - '' + tags: + - + tag: component + value: network + - + tag: description + value: '{#ZYXEL.IF.NAME}' + - + tag: interface + value: '{#SNMPINDEX}' + - + uuid: aa3bfdc920dc4e6db4925c5b963c5859 + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Outgoing traffic' + type: SNMP_AGENT + snmp_oid: '.1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}' + key: 'zyxel.gs1920.net.if.out.traffic[{#SNMPINDEX}]' + history: 7d + units: bps + description: | + 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. + preprocessing: + - + type: MULTIPLIER + parameters: + - '8' + - + type: CHANGE_PER_SECOND + parameters: + - '' + tags: + - + tag: component + value: network + - + tag: description + value: '{#ZYXEL.IF.NAME}' + - + tag: interface + value: '{#SNMPINDEX}' + - + uuid: 6d5f631e4a9d43bbb4b0f0cf8bbb3c13 + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Outgoing unicast packages' + type: SNMP_AGENT + snmp_oid: '.1.3.6.1.2.1.31.1.1.1.11.{#SNMPINDEX}' + key: 'zyxel.gs1920.net.if.out.ucastpkts[{#SNMPINDEX}]' + history: 7d + units: packets/s + description: | + 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. + preprocessing: + - + type: CHANGE_PER_SECOND + parameters: + - '' + tags: + - + tag: component + value: network + - + tag: description + value: '{#ZYXEL.IF.NAME}' + - + tag: interface + value: '{#SNMPINDEX}' + - + uuid: 28418d953bb74372818948cc70dfd61f + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Outgoing utilization' + type: CALCULATED + key: 'zyxel.gs1920.net.if.out.util[{#SNMPINDEX}]' + history: 7d + value_type: FLOAT + units: '%' + params: 'last(//zyxel.gs1920.net.if.out.traffic[{#SNMPINDEX}]) * (last(//zyxel.gs1920.net.if.highspeed[{#SNMPINDEX}]) <> 0) / ( last(//zyxel.gs1920.net.if.highspeed[{#SNMPINDEX}]) + (last(//zyxel.gs1920.net.if.highspeed[{#SNMPINDEX}]) = 0) ) * 100' + description: 'Interface utilization percentage' + preprocessing: + - + type: IN_RANGE + parameters: + - '0' + - '100' + error_handler: DISCARD_VALUE + - + type: JAVASCRIPT + parameters: + - 'return +parseFloat(value).toFixed(0);' + tags: + - + tag: component + value: network + - + tag: description + value: '{#ZYXEL.IF.NAME}' + - + tag: interface + value: '{#SNMPINDEX}' + - + uuid: 9c42a0d47e8943bfab24d65fdadb9bc2 + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Speed Duplex' + type: SNMP_AGENT + snmp_oid: '.1.3.6.1.4.1.890.1.15.3.61.1.1.1.1.{#SNMPINDEX}' + key: 'zyxel.gs1920.net.if.speed_duplex[{#SNMPINDEX}]' + history: 7d + description: | + MIB: ZYXEL-PORT-MIB + Transmission mode + valuemap: + name: 'ZYXEL GS1920 operational mode port speed duplex' + preprocessing: + - + type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 6h + tags: + - + tag: component + value: network + - + tag: description + value: '{#ZYXEL.IF.NAME}' + - + tag: interface + value: '{#SNMPINDEX}' + graph_prototypes: + - + uuid: beb6a6f33f1a454d917b13c373177b3d + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Packets traffic' + graph_items: + - + color: 1A7C11 + item: + host: 'ZYXEL GS1920 SNMP' + key: 'zyxel.gs1920.net.if.in.ucastpkts[{#SNMPINDEX}]' + - + sortorder: '1' + color: 2774A4 + item: + host: 'ZYXEL GS1920 SNMP' + key: 'zyxel.gs1920.net.if.out.ucastpkts[{#SNMPINDEX}]' + - + sortorder: '2' + color: F63100 + item: + host: 'ZYXEL GS1920 SNMP' + key: 'zyxel.gs1920.net.if.in.multicastpkts[{#SNMPINDEX}]' + - + sortorder: '3' + color: A54F10 + item: + host: 'ZYXEL GS1920 SNMP' + key: 'zyxel.gs1920.net.if.out.multicastpkts[{#SNMPINDEX}]' + - + sortorder: '4' + color: FC6EA3 + item: + host: 'ZYXEL GS1920 SNMP' + key: 'zyxel.gs1920.net.if.in.broadcastpkts[{#SNMPINDEX}]' + - + sortorder: '5' + color: 6C59DC + item: + host: 'ZYXEL GS1920 SNMP' + key: 'zyxel.gs1920.net.if.out.broadcastpkts[{#SNMPINDEX}]' + - + uuid: 6e201ae170e74c30991ae14cfc996957 + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Traffic' + graph_items: + - + color: 1A7C11 + item: + host: 'ZYXEL GS1920 SNMP' + key: 'zyxel.gs1920.net.if.in.traffic[{#SNMPINDEX}]' + - + sortorder: '1' + color: 2774A4 + item: + host: 'ZYXEL GS1920 SNMP' + key: 'zyxel.gs1920.net.if.out.traffic[{#SNMPINDEX}]' + - + uuid: 3ba0c6934cdc42039643a4fc2a57558b + name: 'ZYXEL GS1920: Port {#SNMPINDEX}: Utilization' + ymin_type_1: FIXED + ymax_type_1: FIXED + graph_items: + - + color: 1A7C11 + item: + host: 'ZYXEL GS1920 SNMP' + key: 'zyxel.gs1920.net.if.out.util[{#SNMPINDEX}]' + - + sortorder: '1' + color: 2774A4 + item: + host: 'ZYXEL GS1920 SNMP' + key: 'zyxel.gs1920.net.if.in.util[{#SNMPINDEX}]' + overrides: + - + name: 'Don''t create triggers for matching interface' + step: '1' + filter: + conditions: + - + macro: '{#ZYXEL.IF.NAME}' + value: '{$ZYXEL.LLD.FILTER.IF.CONTROL.MATCHES}' + operator: NOT_MATCHES_REGEX + formulaid: A + operations: + - + operationobject: TRIGGER_PROTOTYPE + operator: REGEXP + value: '.*' + status: ENABLED + discover: NO_DISCOVER + - + uuid: 494831874d1a49d492fb847e91a896d5 + name: 'Temperature discovery' + type: SNMP_AGENT + snmp_oid: 'discovery[{#ZYXEL.TEMP.THRESH.HIGH},.1.3.6.1.4.1.890.1.15.3.26.1.2.1.6]' + key: zyxel.gs1920.temp.discovery + delay: 1h + description: | + MIB: ZYXEL-HW-MONITOR-MIB + An entry in tempTable. + Index of temperature unit. 1:MAC, 2:CPU, 3:PHY + item_prototypes: + - + uuid: b44978636ef7444c803d5c15c68d0989 + name: 'ZYXEL GS1920: Temperature "{#ZYXEL.TEMP.ID}"' + type: SNMP_AGENT + snmp_oid: '.1.3.6.1.4.1.890.1.15.3.26.1.2.1.3.{#SNMPINDEX}' + key: 'zyxel.gs1920.temp[{#SNMPINDEX}]' + history: 7d + units: °C + description: | + MIB: ZYXEL-HW-MONITOR-MIB + The current temperature measured at this sensor + preprocessing: + - + type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 1h + tags: + - + tag: component + value: sensor + - + tag: component + value: temperature + trigger_prototypes: + - + uuid: 9a72f2981a954a6f988527d6e7e7ad8d + expression: 'last(/ZYXEL GS1920 SNMP/zyxel.gs1920.temp[{#SNMPINDEX}])>{#ZYXEL.TEMP.THRESH.HIGH}' + name: 'ZYXEL GS1920: Temperature {#ZYXEL.TEMP.ID} is in critical state' + opdata: 'Current state: {ITEM.LASTVALUE1}' + priority: AVERAGE + description: 'Please check the temperature' + tags: + - + tag: scope + value: notice + graph_prototypes: + - + uuid: 64c6755c540343b4a1f9ddc042a5afb1 + name: 'ZYXEL GS1920: Temperature "{#ZYXEL.TEMP.ID}"' + graph_items: + - + color: 1A7C11 + item: + host: 'ZYXEL GS1920 SNMP' + key: 'zyxel.gs1920.temp[{#SNMPINDEX}]' + preprocessing: + - + type: JAVASCRIPT + parameters: + - | + var inArray = JSON.parse(value); + var nameMap = {"1":"MAC", "2":"CPU", "3":"PHY"}; + var outArr = []; + inArray.forEach(function(item, i, arr) { + item["{#ZYXEL.TEMP.ID}"] = nameMap[item["{#SNMPINDEX}"]] + outArr.push(item) + }); + return JSON.stringify(outArr); + - + uuid: 4e5201c0057a4780bea0d07ff8514eaf + name: 'Voltage discovery' + type: SNMP_AGENT + snmp_oid: 'discovery[{#ZYXEL.VOLT.THRESH.LOW},.1.3.6.1.4.1.890.1.15.3.26.1.3.1.7,{#ZYXEL.VOLT.NOMINAL},.1.3.6.1.4.1.890.1.15.3.26.1.3.1.6]' + key: zyxel.gs1920.volt.discovery + delay: 1h + description: | + MIB: ZYXEL-HW-MONITOR-MIB + An entry in voltageTable. + item_prototypes: + - + uuid: 5eed6210bbba4c748c05a66d49d6ab30 + name: 'ZYXEL GS1920: Nominal "{#ZYXEL.VOLT.NOMINAL}"' + type: SNMP_AGENT + snmp_oid: '.1.3.6.1.4.1.890.1.15.3.26.1.3.1.3.{#SNMPINDEX}' + key: 'zyxel.gs1920.volt[{#SNMPINDEX}]' + history: 7d + value_type: FLOAT + units: V + description: | + MIB: ZYXEL-HW-MONITOR-MIB + The current voltage reading. + preprocessing: + - + type: MULTIPLIER + parameters: + - '0.001' + - + type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 1h + tags: + - + tag: component + value: sensor + - + tag: component + value: voltage + trigger_prototypes: + - + uuid: a267bfb4c01949df8d18581600290bfa + expression: 'last(/ZYXEL GS1920 SNMP/zyxel.gs1920.volt[{#SNMPINDEX}])<{#ZYXEL.VOLT.THRESH.LOW}' + name: 'ZYXEL GS1920: Voltage {#ZYXEL.VOLT.NOMINAL} is in critical state' + opdata: 'Current state: {ITEM.LASTVALUE1}' + priority: AVERAGE + description: 'Please check the power supply' + tags: + - + tag: scope + value: notice + graph_prototypes: + - + uuid: f64e58ba7f1e42c39c8e9779cdd04c57 + name: 'ZYXEL GS1920: Nominal "{#ZYXEL.VOLT.NOMINAL}"' + graph_items: + - + color: 1A7C11 + item: + host: 'ZYXEL GS1920 SNMP' + key: 'zyxel.gs1920.volt[{#SNMPINDEX}]' + preprocessing: + - + type: JAVASCRIPT + parameters: + - | + var inArray = JSON.parse(value); + var outArr = [] + inArray.forEach(function(item, i, arr) { + item["{#ZYXEL.VOLT.NOMINAL}"] = "+" + item["{#ZYXEL.VOLT.NOMINAL}"] / 1000 + "V"; + item["{#ZYXEL.VOLT.THRESH.LOW}"] = item["{#ZYXEL.VOLT.THRESH.LOW}"] / 1000; + outArr.push(item) + }); + return JSON.stringify(outArr); + tags: + - + tag: class + value: network + - + tag: target + value: gs1920 + - + tag: target + value: switch + - + tag: target + value: zyxel + macros: + - + macro: '{$CPU.UTIL.CRIT}' + value: '90' + - + macro: '{$SNMP.TIMEOUT}' + value: 5m + description: 'The time interval for SNMP agent availability trigger expression.' + - + macro: '{$ZYXEL.LLD.FILTER.IF.CONTROL.MATCHES}' + value: CHANGE_IF_NEEDED + description: 'Triggers will be created only for interfaces whose description contains the value of this macro' + - + macro: '{$ZYXEL.LLD.FILTER.IF.LINKUPTYPE.MATCHES}' + value: 1|2 + description: 'Filter of discoverable link types. 0 - Down link 1 - Cooper link 2 - Fiber link' + - + macro: '{$ZYXEL.LLD.FILTER.IF.LINKUPTYPE.NOT_MATCHES}' + value: CHANGE_IF_NEEDED + description: 'Filter to exclude discovered by link types.' + - + macro: '{$ZYXEL.LLD.FILTER.IF.NAME.MATCHES}' + value: '.*' + description: 'Filter by discoverable interface names.' + - + macro: '{$ZYXEL.LLD.FILTER.IF.NAME.NOT_MATCHES}' + value: CHANGE_IF_NEEDED + description: 'Filter to exclude discovered interfaces by name.' + valuemaps: + - + uuid: 4aade53b6ad744faa66b946f71e82c5e + name: 'SNMP available' + mappings: + - + value: '0' + newvalue: 'not available' + - + value: '1' + newvalue: available + - + value: '2' + newvalue: unknown + - + uuid: b5f3675de6cd407badfc933f1ec2ecfb + name: 'ZYXEL GS1920 operational mode port link up type' + mappings: + - + value: '0' + newvalue: Down + - + value: '1' + newvalue: Cooper + - + value: '2' + newvalue: Fiber + - + uuid: 52f52ed613a14aacaeb4a358ed96f063 + name: 'ZYXEL GS1920 operational mode port speed duplex' + mappings: + - + value: '0' + newvalue: auto + - + value: '1' + newvalue: '10M half' + - + value: '2' + newvalue: '10M full' + - + value: '3' + newvalue: '100M half' + - + value: '4' + newvalue: '100M full' + - + value: '5' + newvalue: '1G full' + - + uuid: 93e80ab18b82463b97350a3f8fe31c25 + name: 'ZYXEL GS1920 port admin status' + mappings: + - + value: '1' + newvalue: Up + - + value: '2' + newvalue: Down + - + value: '3' + newvalue: Testing + - + uuid: bb758e264f114f35bd6acd0f40dd5096 + name: 'ZYXEL GS1920 port operational status' + mappings: + - + value: '1' + newvalue: Up + - + value: '2' + newvalue: Down + - + value: '3' + newvalue: Testing + - + value: '4' + newvalue: Unknown + - + value: '5' + newvalue: Dormant + - + value: '6' + newvalue: NotPresent + - + value: '7' + newvalue: lowerLayerDown + graphs: + - + uuid: 5b90d456e3614127ab96e6f91c51262a + name: 'ZYXEL GS1920: CPU utilization' + ymin_type_1: FIXED + ymax_type_1: FIXED + graph_items: + - + color: 1A7C11 + item: + host: 'ZYXEL GS1920 SNMP' + key: zyxel.gs1920.cpuusage