zabbix_export:
  version: '7.0'
  template_groups:
    - uuid: 36bff6c29af64692839d077febfc7079
      name: 'Templates/Network devices'
  templates:
    - uuid: 01deb47efa1f4a9092de67fd61820a7d
      template: 'ZYXEL MGS-3712F by SNMP'
      name: 'ZYXEL MGS-3712F by SNMP'
      description: |
        ZYXEL MGS-3712F
        
        MIBs used:
        RFC1213-MIB
        HOST-RESOURCES-MIB
        ZYXEL-MGS3712F-MIB
        IF-MIB
        
        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
        
        You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/422668-discussion-thread-for-official-zabbix-templates-for-zyxel
        
        Generated by official Zabbix template tool "Templator"
      vendor:
        name: Zabbix
        version: 7.0-0
      groups:
        - name: 'Templates/Network devices'
      items:
        - uuid: 2bd320c5d71d471e8b68a5f30e1aa5d9
          name: 'SNMP agent availability'
          type: INTERNAL
          key: 'zabbix[host,snmp,available]'
          valuemap:
            name: 'SNMP available'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          tags:
            - tag: component
              value: network
          triggers:
            - uuid: c4244d60e8aa4cc380442992c031b2fd
              expression: 'max(/ZYXEL MGS-3712F by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
              name: '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: 71ba1c991114432c9dca4f39b30e7872
          name: Contact
          type: SNMP_AGENT
          snmp_oid: .1.3.6.1.2.1.1.4.0
          key: zyxel.3712f.contact
          delay: 1h
          value_type: CHAR
          description: |
            MIB: RFC1213-MIB
            The textual identification of the contact person
            for this managed node, together with information
            on how to contact this person.
          inventory_link: CONTACT
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          tags:
            - tag: component
              value: inventory
        - uuid: 69432e1306ae46eab178082cb5ed7bc3
          name: 'CPU utilization'
          type: SNMP_AGENT
          snmp_oid: .1.3.6.1.4.1.890.1.5.8.48.11.7.0
          key: zyxel.3712f.cpuusage
          value_type: FLOAT
          units: '%'
          description: |
            MIB: ZYXEL-MGS3712F-MIB
            Show device CPU load in %, it's the snapshot of CPU load when
            getting the values.
          tags:
            - tag: component
              value: cpu
          triggers:
            - uuid: 084cf3c89c9c48eeac9131d831a4f71b
              expression: 'min(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.cpuusage,5m)>{$CPU.UTIL.CRIT}'
              name: 'High CPU utilization'
              event_name: 'High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)'
              opdata: 'Current utilization: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'The CPU utilization is too high. The system might be slow to respond.'
              tags:
                - tag: scope
                  value: performance
        - uuid: 4ced5f4185284f32b767036ffe41302c
          name: 'ZyNOS F/W Version'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#SNMP.ARRAY},.1.3.6.1.4.1.890.1.5.8.48.1]'
          key: zyxel.3712f.fwversion
          delay: 1h
          value_type: CHAR
          description: 'MIB: ZYXEL-MGS3712F-MIB'
          inventory_link: SOFTWARE_FULL
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var inArray = JSON.parse(value);
                  var tmpObj = {};
                  inArray.forEach(function(item, i, arr) {
                    tmpObj[item["{#SNMPINDEX}"]] = item["{#SNMP.ARRAY}"]
                  });
                  var strOut = 'V' + tmpObj["1.0"] + '.' + tmpObj["2.0"]
                    + '(' + tmpObj["3.0"] + '.' + tmpObj["4.0"] + ')_'
                    + tmpObj["7.0"] + '.' + tmpObj["6.0"] + '.' + tmpObj["5.0"];
                  return strOut;
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: inventory
          triggers:
            - uuid: fbf62d3f9ce54baab9a16f3e123811ef
              expression: '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'
              name: 'Firmware has changed'
              opdata: 'Current value: {ITEM.LASTVALUE1}'
              priority: INFO
              description: 'Firmware version has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 29bc66a7a2c949549fc2e4c6fa841ab0
          name: 'Uptime (hardware)'
          type: SNMP_AGENT
          snmp_oid: .1.3.6.1.2.1.25.1.1.0
          key: zyxel.3712f.hw.uptime
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            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.
          preprocessing:
            - type: CHECK_NOT_SUPPORTED
              parameters:
                - '-1'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: 98c18ebb978448098922d7930e2ed00b
          name: Location
          type: SNMP_AGENT
          snmp_oid: .1.3.6.1.2.1.1.6.0
          key: zyxel.3712f.location
          delay: 1h
          value_type: CHAR
          description: |
            MIB: RFC1213-MIB
            The physical location of this node (e.g.,
            `telephone closet, 3rd floor').
          inventory_link: LOCATION
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          tags:
            - tag: component
              value: inventory
        - uuid: bfd1233a36e94dfe93cd02ac95a7218e
          name: 'MAC address'
          type: SNMP_AGENT
          snmp_oid: .1.3.6.1.2.1.2.2.1.6.1
          key: zyxel.3712f.mac
          delay: 1h
          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: e734e8fe661043ac84d55a2497a50cf5
          name: 'Hardware model name'
          type: SNMP_AGENT
          snmp_oid: .1.3.6.1.2.1.1.1.0
          key: zyxel.3712f.model
          delay: 1h
          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: bf3d28b088db48a59aaa9e88f6b13cb8
              expression: 'last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.model)<>"MGS-3712F"'
              name: 'Template does not match hardware'
              priority: INFO
              description: 'This template is for Zyxel MGS-3712F, but connected to {ITEM.VALUE}'
              tags:
                - tag: scope
                  value: notice
        - uuid: 026c51d2e28943e98056a934355a0161
          name: 'Host name'
          type: SNMP_AGENT
          snmp_oid: .1.3.6.1.2.1.1.5.0
          key: zyxel.3712f.name
          delay: 1h
          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: e5e21fdb6dae4dc49038f0801c87a5c6
          name: 'Uptime (network)'
          type: SNMP_AGENT
          snmp_oid: .1.3.6.1.2.1.1.3.0
          key: zyxel.3712f.net.uptime
          delay: 30s
          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
        - uuid: 97eaf488887c42b89a4e6f6103ceeef6
          name: 'Hardware serial number'
          type: SNMP_AGENT
          snmp_oid: .1.3.6.1.4.1.890.1.5.8.48.1.10.0
          key: zyxel.3712f.serialnumber
          delay: 1h
          value_type: CHAR
          description: |
            MIB: ZYXEL-MGS3712F-MIB
            Serial number
          inventory_link: SERIALNO_A
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          tags:
            - tag: component
              value: inventory
          triggers:
            - uuid: ccb3fe676cd742af954b8c5e7898e5f0
              expression: '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'
              name: 'Device has been replaced'
              event_name: 'Device has been replaced (new serial number received)'
              priority: INFO
              description: 'Device serial number has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
      discovery_rules:
        - uuid: 0f15b0a5b34d4849800ea65b1f5e0916
          name: 'Fan discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#ZYXEL.FANRPM.THRESH.LOW},.1.3.6.1.4.1.890.1.5.8.48.8.1.1.5]'
          key: zyxel.3712f.fan.discovery
          delay: 1h
          description: 'An entry in fanRpmTable.'
          item_prototypes:
            - uuid: 12073ba0a2894561bfa130aeca7c8aba
              name: 'Fan #{#SNMPINDEX}'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.8.48.8.1.1.2.{#SNMPINDEX}'
              key: 'zyxel.3712f.fan[{#SNMPINDEX}]'
              units: '!rpm'
              description: |
                MIB: ZYXEL-MGS3712F-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: 4672af40f7434a419d063c6f00f4f9f8
                  expression: 'last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.fan[{#SNMPINDEX}])<{#ZYXEL.FANRPM.THRESH.LOW}'
                  name: '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: 09b10e607e14466d8c49512955f6f30e
              name: 'ZYXEL MGS-3712F: Fan #{#SNMPINDEX}'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'ZYXEL MGS-3712F by SNMP'
                    key: 'zyxel.3712f.fan[{#SNMPINDEX}]'
        - uuid: 4e39a7b918fd44a1bd3986380d116e9f
          name: 'Interface discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#ZYXEL.IF.NAME},.1.3.6.1.4.1.890.1.5.8.48.22.1.1.3,{#ZYXEL.IF.LINKUPTYPE},.1.3.6.1.4.1.890.1.5.8.48.22.1.1.5]'
          key: zyxel.3712f.net.if.discovery
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#ZYXEL.IF.LINKUPTYPE}'
                value: '{$ZYXEL.LLD.FILTER.IF.LINKUPTYPE.MATCHES}'
              - macro: '{#ZYXEL.IF.LINKUPTYPE}'
                value: '{$ZYXEL.LLD.FILTER.IF.LINKUPTYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#ZYXEL.IF.NAME}'
                value: '{$ZYXEL.LLD.FILTER.IF.NAME.MATCHES}'
              - macro: '{#ZYXEL.IF.NAME}'
                value: '{$ZYXEL.LLD.FILTER.IF.NAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          item_prototypes:
            - uuid: 84b7463fd2ff40f4b854ad5331fbf0da
              name: 'Port {#SNMPINDEX}: Administrative status'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.2.2.1.7.{#SNMPINDEX}'
              key: 'zyxel.3712f.net.if.adminstatus[{#SNMPINDEX}]'
              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 MGS-3712F 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: ba54ef4ceafd4445bab7f2365c6c4404
              name: 'Port {#SNMPINDEX}: Interface name'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.2.2.1.2.{#SNMPINDEX}'
              key: 'zyxel.3712f.net.if.descr[{#SNMPINDEX}]'
              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: 1955d72ae95a4c53922a4a209c48af45
              name: 'Port {#SNMPINDEX}: Link speed'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}'
              key: 'zyxel.3712f.net.if.highspeed[{#SNMPINDEX}]'
              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: 8971f0814f9f4a90a9163b83804665f1
              name: 'Port {#SNMPINDEX}: Incoming broadcast packages'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.9.{#SNMPINDEX}'
              key: 'zyxel.3712f.net.if.in.broadcastpkts[{#SNMPINDEX}]'
              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
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: b3f54f3b51474b608ae5f4cec6990b1a
              name: 'Port {#SNMPINDEX}: Incoming multicast packages'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.8.{#SNMPINDEX}'
              key: 'zyxel.3712f.net.if.in.multicastpkts[{#SNMPINDEX}]'
              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
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: a4a13a2309d94ea7a6f935796c1f4623
              name: 'Port {#SNMPINDEX}: Incoming traffic'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}'
              key: 'zyxel.3712f.net.if.in.traffic[{#SNMPINDEX}]'
              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
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: a1b595cd244340aea0dd9343a36619b6
              name: 'Port {#SNMPINDEX}: Incoming unicast packages'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.7.{#SNMPINDEX}'
              key: 'zyxel.3712f.net.if.in.ucastpkts[{#SNMPINDEX}]'
              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
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 13f394481ad045ed8db3693be14ed2f1
              name: 'Port {#SNMPINDEX}: Incoming utilization'
              type: CALCULATED
              key: 'zyxel.3712f.net.if.in.util[{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              params: 'last(//zyxel.3712f.net.if.in.traffic[{#SNMPINDEX}]) * (last(//zyxel.3712f.net.if.highspeed[{#SNMPINDEX}]) <> 0) / ( last(//zyxel.3712f.net.if.highspeed[{#SNMPINDEX}]) + (last(//zyxel.3712f.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: c173d9fb0e4645f8b1b5cdd70881ea0a
              name: 'Port {#SNMPINDEX}: Link type'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.8.48.22.1.1.5.{#SNMPINDEX}'
              key: 'zyxel.3712f.net.if.link_type[{#SNMPINDEX}]'
              description: |
                MIB: ZYXEL-MGS3712F-MIB
                Physical connection type
              valuemap:
                name: 'ZYXEL MGS-3712F 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: b0dc3f51f7f544e6ac7c14d4aaf5b7a6
              name: 'Port {#SNMPINDEX}: Interface description'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.8.48.22.1.1.3.{#SNMPINDEX}'
              key: 'zyxel.3712f.net.if.name[{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: ZYXEL-MGS3712F-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: 0c940b9948f043b5a58e59cfd1e3f585
              name: 'Port {#SNMPINDEX}: Operational status'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}'
              key: 'zyxel.3712f.net.if.operstatus[{#SNMPINDEX}]'
              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 MGS-3712F 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: d92c1f55c21e4780ada69269d95c5f45
                  expression: '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)'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.net.if.operstatus[{#SNMPINDEX}])<>2'
                  name: 'Port {#SNMPINDEX}: Link down'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: |
                    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.
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: 759ec75f1155444187f970e3141e219b
              name: 'Port {#SNMPINDEX}: Outgoing broadcast packages'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.13.{#SNMPINDEX}'
              key: 'zyxel.3712f.net.if.out.broadcastpkts[{#SNMPINDEX}]'
              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
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 9cfa5cdeb08c403ea487107303fb52c9
              name: 'Port {#SNMPINDEX}: Outgoing multicast packages'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.12.{#SNMPINDEX}'
              key: 'zyxel.3712f.net.if.out.multicastpkts[{#SNMPINDEX}]'
              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
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 44c57404960045998f6b11129c5c9e74
              name: 'Port {#SNMPINDEX}: Outgoing traffic'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}'
              key: 'zyxel.3712f.net.if.out.traffic[{#SNMPINDEX}]'
              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
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: d618cdab510147dba8781669b62535d5
              name: 'Port {#SNMPINDEX}: Outgoing unicast packages'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.2.1.31.1.1.1.11.{#SNMPINDEX}'
              key: 'zyxel.3712f.net.if.out.ucastpkts[{#SNMPINDEX}]'
              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
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 4ae2370776ea425095a8856ac4a51868
              name: 'Port {#SNMPINDEX}: Outgoing utilization'
              type: CALCULATED
              key: 'zyxel.3712f.net.if.out.util[{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              params: 'last(//zyxel.3712f.net.if.out.traffic[{#SNMPINDEX}]) * (last(//zyxel.3712f.net.if.highspeed[{#SNMPINDEX}]) <> 0) / ( last(//zyxel.3712f.net.if.highspeed[{#SNMPINDEX}]) + (last(//zyxel.3712f.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: 9dabada8160e47138c2416002346fc2d
              name: 'Port {#SNMPINDEX}: Speed Duplex'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.8.48.22.1.1.1.{#SNMPINDEX}'
              key: 'zyxel.3712f.net.if.speed_duplex[{#SNMPINDEX}]'
              description: |
                MIB: ZYXEL-MGS3712F-MIB
                Transmission mode
              valuemap:
                name: 'ZYXEL MGS-3712F 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: 6d6da920b3b841d2a348016bfa4fd529
              name: 'ZYXEL MGS-3712F: Port {#SNMPINDEX}: Packets traffic'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'ZYXEL MGS-3712F by SNMP'
                    key: 'zyxel.3712f.net.if.in.ucastpkts[{#SNMPINDEX}]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'ZYXEL MGS-3712F by SNMP'
                    key: 'zyxel.3712f.net.if.out.ucastpkts[{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  item:
                    host: 'ZYXEL MGS-3712F by SNMP'
                    key: 'zyxel.3712f.net.if.in.multicastpkts[{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  item:
                    host: 'ZYXEL MGS-3712F by SNMP'
                    key: 'zyxel.3712f.net.if.out.multicastpkts[{#SNMPINDEX}]'
                - sortorder: '4'
                  color: FC6EA3
                  item:
                    host: 'ZYXEL MGS-3712F by SNMP'
                    key: 'zyxel.3712f.net.if.in.broadcastpkts[{#SNMPINDEX}]'
                - sortorder: '5'
                  color: 6C59DC
                  item:
                    host: 'ZYXEL MGS-3712F by SNMP'
                    key: 'zyxel.3712f.net.if.out.broadcastpkts[{#SNMPINDEX}]'
            - uuid: 337c2059cb87491fbacae5690da55ca7
              name: 'ZYXEL MGS-3712F: Port {#SNMPINDEX}: Traffic'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'ZYXEL MGS-3712F by SNMP'
                    key: 'zyxel.3712f.net.if.in.traffic[{#SNMPINDEX}]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'ZYXEL MGS-3712F by SNMP'
                    key: 'zyxel.3712f.net.if.out.traffic[{#SNMPINDEX}]'
            - uuid: 3e75d1f6271943eaaf19644716fe4e40
              name: 'ZYXEL MGS-3712F: Port {#SNMPINDEX}: Utilization'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - color: 199C0D
                  item:
                    host: 'ZYXEL MGS-3712F by SNMP'
                    key: 'zyxel.3712f.net.if.out.util[{#SNMPINDEX}]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'ZYXEL MGS-3712F by SNMP'
                    key: 'zyxel.3712f.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
              operations:
                - operationobject: TRIGGER_PROTOTYPE
                  operator: REGEXP
                  value: '.*'
                  discover: NO_DISCOVER
        - uuid: d48eedbbb8ad448da866d11d6f40ce91
          name: 'SFP with DDM discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#ZYXEL.SFP.WARN.MAX},.1.3.6.1.4.1.890.1.5.8.48.117.2.1.5,{#ZYXEL.SFP.WARN.MIN},.1.3.6.1.4.1.890.1.5.8.48.117.2.1.6,{#ZYXEL.SFP.DESCRIPTION},.1.3.6.1.4.1.890.1.5.8.48.117.2.1.8]'
          key: zyxel.3712f.sfp.ddm.discovery
          delay: 12h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#ZYXEL.SFP.DESCRIPTION}'
                value: '{$ZYXEL.LLD.FILTER.SFPDDM.DESC.MATCHES}'
              - macro: '{#ZYXEL.SFP.DESCRIPTION}'
                value: '{$ZYXEL.LLD.FILTER.SFPDDM.DESC.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'SFP DDM module discovery.'
          item_prototypes:
            - uuid: d9accdfbf4e44ef28a191f6c9fd864b1
              name: 'SFP {#ZYXEL.SFP.PORT}: {#ZYXEL.SFP.DESCRIPTION}'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.8.48.117.2.1.7.{#SNMPINDEX}'
              key: 'zyxel.3712f.sfp.ddm[{#SNMPINDEX}]'
              delay: '{$ZYXEL.LLD.SFP.UPDATE}'
              value_type: FLOAT
              units: '!{#ZYXEL.SFP.UNIT}'
              description: |
                MIB: ZYXEL-MGS3712F-MIB
                Transceiver module DDM data ({#ZYXEL.SFP.DESCRIPTION}).
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.01'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
              trigger_prototypes:
                - uuid: 1ef8b878bd334f1eac9d9c4258d1f4f2
                  expression: 'last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.sfp.ddm[{#SNMPINDEX}]) > {#ZYXEL.SFP.WARN.MAX}'
                  name: 'SFP {#ZYXEL.SFP.PORT}: High {#ZYXEL.SFP.DESCRIPTION}'
                  event_name: 'SFP {#ZYXEL.SFP.PORT}: High {#ZYXEL.SFP.DESCRIPTION} (over {#ZYXEL.SFP.WARN.MAX}{#ZYXEL.SFP.UNIT})'
                  priority: WARNING
                  description: 'The upper threshold value of the parameter is exceeded'
                  tags:
                    - tag: scope
                      value: notice
                - uuid: 6605455fa4764a578feff4ce12a20883
                  expression: 'last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.sfp.ddm[{#SNMPINDEX}]) < {#ZYXEL.SFP.WARN.MIN}'
                  name: 'SFP {#ZYXEL.SFP.PORT}: Low {#ZYXEL.SFP.DESCRIPTION}'
                  event_name: 'SFP {#ZYXEL.SFP.PORT}: Low {#ZYXEL.SFP.DESCRIPTION} (less than {#ZYXEL.SFP.WARN.MIN}{#ZYXEL.SFP.UNIT})'
                  priority: WARNING
                  description: 'The parameter values are less than the lower threshold'
                  tags:
                    - tag: scope
                      value: notice
          graph_prototypes:
            - uuid: 1ea36937222d40b0a714b47fb0fceb36
              name: 'ZYXEL MGS-3712F: SFP {#ZYXEL.SFP.PORT}: {#ZYXEL.SFP.DESCRIPTION}'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'ZYXEL MGS-3712F by SNMP'
                    key: 'zyxel.3712f.sfp.ddm[{#SNMPINDEX}]'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var inArray = JSON.parse(value);
                  var nameMap = {
                  	'Temperature': '°C',
                  	'Voltage': 'V',
                  	'TxBias': 'mA',
                  	'TxPower': 'dbm',
                  	'RxPower': 'dbm'
                  };
                  var outArr = [];
                  inArray.forEach(function (item, i, arr) {
                  	item['{#ZYXEL.SFP.PORT}'] = item['{#SNMPINDEX}'].split('.')[0];
                  	item['{#ZYXEL.SFP.UNIT}'] = nameMap[item['{#ZYXEL.SFP.DESCRIPTION}']] === undefined ? "" : nameMap[item['{#ZYXEL.SFP.DESCRIPTION}']];
                  	item['{#ZYXEL.SFP.WARN.MAX}'] /= 100;
                  	item['{#ZYXEL.SFP.WARN.MIN}'] /= 100;
                  	outArr.push(item)
                  });
                  return JSON.stringify(outArr);
        - uuid: b3d39eb65ab547de92862c93ca9ea2b0
          name: 'SFP without DDM discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#ZYXEL.SFP.STATUS},.1.3.6.1.4.1.890.1.5.8.48.117.1.1.2]'
          key: zyxel.3712f.sfp.discovery
          delay: 12h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#ZYXEL.SFP.STATUS}'
                value: '{$ZYXEL.LLD.FILTER.SFP.STATUS.MATCHES}'
              - macro: '{#ZYXEL.SFP.STATUS}'
                value: '{$ZYXEL.LLD.FILTER.SFP.STATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'SFP module discovery.'
          item_prototypes:
            - uuid: 430c8c876a974a0f8df8d79222bb7dcd
              name: 'SFP {#SNMPINDEX}: Date code'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.8.48.117.1.1.7.{#SNMPINDEX}'
              key: 'zyxel.3712f.sfp.datecode[{#SNMPINDEX}]'
              delay: '{$ZYXEL.LLD.SFP.UPDATE}'
              value_type: CHAR
              description: |
                MIB: ZYXEL-MGS3712F-MIB
                Transceiver module vendor's manufacturing date code.
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 519c8737de814a6aabce25ea8ef52c1a
              name: 'SFP {#SNMPINDEX}: Part number'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.8.48.117.1.1.4.{#SNMPINDEX}'
              key: 'zyxel.3712f.sfp.part[{#SNMPINDEX}]'
              delay: '{$ZYXEL.LLD.SFP.UPDATE}'
              value_type: CHAR
              description: |
                MIB: ZYXEL-MGS3712F-MIB
                Part number provided by transceiver module vendor.
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: ea54a5a49aa4447ba77a28b4b110a77a
              name: 'SFP {#SNMPINDEX}: Revision'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.8.48.117.1.1.6.{#SNMPINDEX}'
              key: 'zyxel.3712f.sfp.revision[{#SNMPINDEX}]'
              delay: '{$ZYXEL.LLD.SFP.UPDATE}'
              value_type: CHAR
              description: |
                MIB: ZYXEL-MGS3712F-MIB
                Revision level for part number provided by transceiver module vendor.
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: bb97e6edd8574888b6892a0d49849406
              name: 'SFP {#SNMPINDEX}: Serial number'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.8.48.117.1.1.5.{#SNMPINDEX}'
              key: 'zyxel.3712f.sfp.serialnumber[{#SNMPINDEX}]'
              delay: '{$ZYXEL.LLD.SFP.UPDATE}'
              value_type: CHAR
              description: |
                MIB: ZYXEL-MGS3712F-MIB
                Serial number provided by transceiver module vendor.
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
              trigger_prototypes:
                - uuid: 8fc46b61f7854893839a307700627d18
                  expression: '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'
                  name: 'SFP {#SNMPINDEX} has been replaced'
                  event_name: 'SFP {#SNMPINDEX} has been replaced (new serial number received)'
                  priority: INFO
                  description: 'SFP {#SNMPINDEX} serial number has changed. Acknowledge to close the problem manually.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: notice
            - uuid: b0a81abdecad42788715ad879c2d03fa
              name: 'SFP {#SNMPINDEX}: Status'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.8.48.117.1.1.2.{#SNMPINDEX}'
              key: 'zyxel.3712f.sfp.status[{#SNMPINDEX}]'
              delay: '{$ZYXEL.LLD.SFP.UPDATE}'
              description: |
                MIB: ZYXEL-MGS3712F-MIB
                Transceiver module status.
              valuemap:
                name: 'ZYXEL MGS-3712F SFP status'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: db78a10438534c53bc0bc7ce09d784cd
              name: 'SFP {#SNMPINDEX}: Transceiver'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.8.48.117.1.1.8.{#SNMPINDEX}'
              key: 'zyxel.3712f.sfp.transceiver[{#SNMPINDEX}]'
              delay: '{$ZYXEL.LLD.SFP.UPDATE}'
              value_type: CHAR
              description: |
                MIB: ZYXEL-MGS3712F-MIB
                Transceiver module type names.
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
            - uuid: 536d22ea7a654bf99b26eeaa8e6761f7
              name: 'SFP {#SNMPINDEX}: Vendor'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.8.48.117.1.1.3.{#SNMPINDEX}'
              key: 'zyxel.3712f.sfp.vendor[{#SNMPINDEX}]'
              delay: '{$ZYXEL.LLD.SFP.UPDATE}'
              value_type: CHAR
              description: |
                MIB: ZYXEL-MGS3712F-MIB
                Transceiver module vendor name.
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#ZYXEL.IF.NAME}'
                - tag: interface
                  value: '{#SNMPINDEX}'
        - uuid: a6e733335bb24801bf006586185ffaff
          name: 'Temperature discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#ZYXEL.TEMP.THRESH.HIGH},.1.3.6.1.4.1.890.1.5.8.48.8.2.1.5]'
          key: zyxel.3712f.temp.discovery
          delay: 1h
          description: |
            An entry in tempTable.
            Index of temperature unit. 1:MAC, 2:CPU, 3:PHY
          item_prototypes:
            - uuid: 02ba756962cf4ab3b3c90817e4c5f053
              name: 'Temperature "{#ZYXEL.TEMP.ID}"'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.8.48.8.2.1.2.{#SNMPINDEX}'
              key: 'zyxel.3712f.temp[{#SNMPINDEX}]'
              units: '!°C'
              description: |
                MIB: ZYXEL-MGS3712F-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: b0d3093a36984493a7ffe87c7c4d408e
                  expression: 'last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.temp[{#SNMPINDEX}])>{#ZYXEL.TEMP.THRESH.HIGH}'
                  name: '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: 75294455e2ce4c2cb902c6b58549c8d8
              name: 'ZYXEL MGS-3712F: Temperature "{#ZYXEL.TEMP.ID}"'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'ZYXEL MGS-3712F by SNMP'
                    key: 'zyxel.3712f.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: 4ccedd9f504346eda12af79b21362322
          name: 'Voltage discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#ZYXEL.VOLT.THRESH.LOW},.1.3.6.1.4.1.890.1.5.8.48.8.3.1.6,{#ZYXEL.VOLT.NOMINAL},.1.3.6.1.4.1.890.1.5.8.48.8.3.1.5]'
          key: zyxel.3712f.volt.discovery
          delay: 1h
          description: 'An entry in voltageTable.'
          item_prototypes:
            - uuid: d1f0e62a6fad4d578c0d524278c7ad3d
              name: 'Nominal "{#ZYXEL.VOLT.NOMINAL}"'
              type: SNMP_AGENT
              snmp_oid: '.1.3.6.1.4.1.890.1.5.8.48.8.3.1.2.{#SNMPINDEX}'
              key: 'zyxel.3712f.volt[{#SNMPINDEX}]'
              value_type: FLOAT
              units: V
              description: |
                MIB: ZYXEL-MGS3712F-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: 9a15b78bae564c879a5c95290cde63fe
                  expression: 'last(/ZYXEL MGS-3712F by SNMP/zyxel.3712f.volt[{#SNMPINDEX}])<{#ZYXEL.VOLT.THRESH.LOW}'
                  name: '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: fd954391176a47728eec01caed2234b5
              name: 'ZYXEL MGS-3712F: Nominal "{#ZYXEL.VOLT.NOMINAL}"'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'ZYXEL MGS-3712F by SNMP'
                    key: 'zyxel.3712f.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: mgs-3712f
        - 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.'
        - macro: '{$ZYXEL.LLD.FILTER.SFP.STATUS.MATCHES}'
          value: 1|2
          description: |
            Filter of discoverable status.
            0 - OK with DDM
            1 - OK without DDM
            2 - nonoperational
        - macro: '{$ZYXEL.LLD.FILTER.SFP.STATUS.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Filter to exclude discovered by status.'
        - macro: '{$ZYXEL.LLD.FILTER.SFPDDM.DESC.MATCHES}'
          value: '.*'
          description: 'Filter by discoverable SFP modules name.'
        - macro: '{$ZYXEL.LLD.FILTER.SFPDDM.DESC.NOT_MATCHES}'
          value: N/A
          description: 'Filter to exclude discovered SFP modules by name.'
        - macro: '{$ZYXEL.LLD.SFP.UPDATE}'
          value: 10m
          description: 'Receiving data from the SFP module is slow, we do not recommend setting the interval less than 10 minutes.'
      dashboards:
        - uuid: 42acb2b1e0794607b68140124eee22a1
          name: 'Network interfaces'
          pages:
            - widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'ZYXEL MGS-3712F by SNMP'
                        name: 'ZYXEL MGS-3712F: Port {#SNMPINDEX}: Traffic'
                    - type: STRING
                      name: reference
                      value: AAAAA
                    - type: INTEGER
                      name: rows
                      value: '5'
      valuemaps:
        - uuid: bf6cbe819fb94c85becf4364c47ef1c4
          name: 'SNMP available'
          mappings:
            - value: '0'
              newvalue: 'not available'
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: unknown
        - uuid: 2695f35dedcf41e1aade2037e931c57e
          name: 'ZYXEL MGS-3712F operational mode port link up type'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Cooper
            - value: '2'
              newvalue: Fiber
        - uuid: c2b235ab2e6042568c096fdfb466f7dc
          name: 'ZYXEL MGS-3712F 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: d145d8ee5ad2423f906335d30bfef592
          name: 'ZYXEL MGS-3712F port admin status'
          mappings:
            - value: '1'
              newvalue: Up
            - value: '2'
              newvalue: Down
            - value: '3'
              newvalue: Testing
        - uuid: 655823ba854540c78a8078d4e7594bf9
          name: 'ZYXEL MGS-3712F 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
        - uuid: bf0d94784c404b209d4c75c8f582a5c6
          name: 'ZYXEL MGS-3712F SFP status'
          mappings:
            - value: '1'
              newvalue: 'OK with DDM'
            - value: '2'
              newvalue: 'OK without DDM'
            - value: '3'
              newvalue: nonoperational
  triggers:
    - uuid: 6a31fdd61b9f4aa99c8ad15ff243c6b2
      expression: '(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)'
      name: 'Host has been restarted'
      event_name: '{HOST.NAME} has been restarted (uptime < 10m)'
      priority: INFO
      description: 'Uptime is less than 10 minutes.'
      manual_close: 'YES'
      tags:
        - tag: scope
          value: notice
  graphs:
    - uuid: 85bd11f116ef4e3b9695dc783c625f05
      name: 'ZYXEL MGS-3712F: CPU utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'ZYXEL MGS-3712F by SNMP'
            key: zyxel.3712f.cpuusage
