zabbix_export:
  version: '7.0'
  template_groups:
    - uuid: 7c2cb727f85b492d88cd56e17127c64d
      name: Templates/SAN
  templates:
    - uuid: e118ab11c1ec4f9cbe21dfce1441c0f6
      template: 'NetApp FAS3220 by SNMP'
      name: 'NetApp FAS3220 by SNMP'
      description: |
        The template to monitor SAN NetApp FAS3220 cluster by Zabbix SNMP agent.
        
        MIBs used:
        HOST-RESOURCES-MIB
        SNMPv2-MIB
        NETAPP-MIB
        IF-MIB
        
        You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/416694-discussion-thread-for-official-zabbix-template-netapp-fas3220
        
        Generated by official Zabbix template tool "Templator"
      vendor:
        name: Zabbix
        version: 7.0-0
      groups:
        - name: Templates/SAN
      items:
        - uuid: 4239eba959f14e0ebc44a0fa7d124042
          name: 'Failed disks count'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.4.1.789.1.6.4.7.0
          key: 'fas3220.disk[diskFailedCount]'
          description: 'The number of disks that are currently broken.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 10m
          tags:
            - tag: component
              value: storage
        - uuid: 980e2c347d254c4d88d918b2171679bb
          name: 'Failed disks message'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.4.1.789.1.6.4.10.0
          key: 'fas3220.disk[diskFailedMessage]'
          value_type: TEXT
          description: 'If diskFailedCount is non-zero, this is a string describing the failed disk or disks. Each failed disk is described.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          tags:
            - tag: component
              value: storage
        - uuid: 7b6d8c8272714343bd420a32c6763c9e
          name: 'Product firmware version'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.4.1.789.1.1.6.0
          key: 'fas3220.inventory[productFirmwareVersion]'
          value_type: CHAR
          description: 'Version string for the firmware running on this platform.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          tags:
            - tag: component
              value: system
        - uuid: 3f0418935b9d40e98d129f280ba5ba6b
          name: 'Product version'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.4.1.789.1.1.2.0
          key: 'fas3220.inventory[productVersion]'
          value_type: CHAR
          description: |
            MIB: NETAPP-MIB
            Version string for the software running on this platform.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 6h
          tags:
            - tag: component
              value: system
        - uuid: 62c6bb1b70ee4ece865b562e298cafb0
          name: 'ICMP ping'
          type: SIMPLE
          key: icmpping
          valuemap:
            name: 'Service state'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 826eb817329249f59b7989c92ca62d99
              expression: 'max(/NetApp FAS3220 by SNMP/icmpping,#3)=0'
              name: 'Unavailable by ICMP ping'
              priority: HIGH
              description: 'Last three attempts returned timeout.  Please check device connectivity.'
              tags:
                - tag: scope
                  value: availability
        - uuid: f7c934ef77d04c00bdec19f8e3950d85
          name: 'ICMP loss'
          type: SIMPLE
          key: icmppingloss
          value_type: FLOAT
          units: '%'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 4fb4b0022ca3433c8da1402f1d996760
              expression: 'min(/NetApp FAS3220 by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/NetApp FAS3220 by SNMP/icmppingloss,5m)<100'
              name: 'High ICMP ping loss'
              opdata: 'Loss: {ITEM.LASTVALUE1}'
              priority: WARNING
              dependencies:
                - name: 'Unavailable by ICMP ping'
                  expression: 'max(/NetApp FAS3220 by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: 72f8c27991b7440ba186f6eb037605cf
          name: 'ICMP response time'
          type: SIMPLE
          key: icmppingsec
          value_type: FLOAT
          units: s
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: bb13f4d369294c0d83f8e6d888cbb062
              expression: 'avg(/NetApp FAS3220 by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN}'
              name: 'High ICMP ping response time'
              opdata: 'Value: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'Average ICMP response time is too high.'
              dependencies:
                - name: 'High ICMP ping loss'
                  expression: 'min(/NetApp FAS3220 by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/NetApp FAS3220 by SNMP/icmppingloss,5m)<100'
                - name: 'Unavailable by ICMP ping'
                  expression: 'max(/NetApp FAS3220 by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: 4380826947fc4df6a341fe074f42da6a
          name: 'SNMP traps (fallback)'
          type: SNMP_TRAP
          key: snmptrap.fallback
          value_type: LOG
          description: 'The item is used to collect all SNMP traps unmatched by other snmptrap items'
          logtimefmt: 'hh:mm:sszyyyy/MM/dd'
          tags:
            - tag: component
              value: network
        - uuid: 045800cfeaf6448ab9a9e97f8b5172c1
          name: 'System contact details'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.4.0
          key: 'system.contact[sysContact.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.
          inventory_link: CONTACT
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: c12c6668d9564855b227dee42a9d86f8
          name: 'System description'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.1.0
          key: 'system.descr[sysDescr.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-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.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 76483f37faf8485b922640a6ef8bb672
          name: 'Uptime (hardware)'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.25.1.1.0
          key: 'system.hw.uptime[hrSystemUptime.0]'
          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: f46b736cdb7f44fcacf33d272d905db8
          name: 'System location'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.6.0
          key: 'system.location[sysLocation.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.
          inventory_link: LOCATION
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 65c5b2a3742c4c6d8a04c63bb96b46c6
          name: 'System name'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.5.0
          key: system.name
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name.  If the name is unknown, the value is the zero-length string.
          inventory_link: NAME
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 5266fcf7c9db457885c219385cfd5025
              expression: 'last(/NetApp FAS3220 by SNMP/system.name,#1)<>last(/NetApp FAS3220 by SNMP/system.name,#2) and length(last(/NetApp FAS3220 by SNMP/system.name))>0'
              name: 'System name has changed'
              event_name: 'System name has changed (new name: {ITEM.VALUE})'
              priority: INFO
              description: 'The name of the system has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
                - tag: scope
                  value: security
        - uuid: 564b458cee7a4a2bb2b4f4777bead32d
          name: 'Uptime (network)'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.3.0
          key: 'system.net.uptime[sysUpTime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: SNMPv2-MIB
            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: 2d9d7b390c774a188a07dbb5bb4a583e
          name: 'System object ID'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.2.0
          key: 'system.objectid[sysObjectID.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The vendor's authoritative identification of the network management subsystem contained in the entity.  This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box' is being managed.  For example, if vendor`Flintstones, Inc.' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: fff713712c44477aa081445d9962c002
          name: 'SNMP agent availability'
          type: INTERNAL
          key: 'zabbix[host,snmp,available]'
          description: |
            Availability of SNMP checks on the host. The value of this item corresponds to availability icons in the host list.
            Possible values:
            0 - not available
            1 - available
            2 - unknown
          valuemap:
            name: zabbix.host.available
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: e778b1ae80174f7aa82085b4882e1160
              expression: 'max(/NetApp FAS3220 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.'
              dependencies:
                - name: 'Unavailable by ICMP ping'
                  expression: 'max(/NetApp FAS3220 by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: c999a3f338934982aa4359d9f0a8df30
          name: 'Cluster metrics discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#NODE.NAME},1.3.6.1.4.1.789.1.25.2.1.1]'
          key: fas3220.cluster.discovery
          delay: 1h
          description: 'Discovery of Cluster metrics per node'
          item_prototypes:
            - uuid: 2363873641874c50b70bf170e05ea10e
              name: 'Node {#NODE.NAME}: Failed FAN count'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.25.2.1.19.{#SNMPINDEX}'
              key: 'fas3220.cluster[nodeEnvFailedFanCount, "{#NODE.NAME}"]'
              description: 'Count of the number of chassis fans that are not operating within the recommended RPM range.'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: ac1d666db8c0495c860a59d98caeb4ab
              name: 'Node {#NODE.NAME}: Failed FAN message'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.25.2.1.20.{#SNMPINDEX}'
              key: 'fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"]'
              value_type: TEXT
              description: 'Text message describing current condition of chassis fans. This is useful only if envFailedFanCount is not zero.'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: ad74f96ff33249e1937c2702c4bbce94
              name: 'Node {#NODE.NAME}: Degraded power supplies count'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.25.2.1.21.{#SNMPINDEX}'
              key: 'fas3220.cluster[nodeEnvFailedPowerSupplyCount, "{#NODE.NAME}"]'
              description: 'Count of the number of power supplies that are in degraded mode.'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: 343e02ff8f9f417292a2bb548db355ee
              name: 'Node {#NODE.NAME}: Degraded power supplies message'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.25.2.1.22.{#SNMPINDEX}'
              key: 'fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"]'
              value_type: TEXT
              description: 'Text message describing the state of any power supplies that are currently degraded. This is useful only if envFailedPowerSupplyCount is not zero.'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: 73853db2e6924c8395aac1655fab24b4
              name: 'Node {#NODE.NAME}: Over-temperature'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.25.2.1.18.{#SNMPINDEX}'
              key: 'fas3220.cluster[nodeEnvOverTemperature, "{#NODE.NAME}"]'
              description: 'An indication of whether the hardware is currently operating outside of its recommended temperature range. The hardware will shutdown if the temperature exceeds critical thresholds.'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
              trigger_prototypes:
                - uuid: e03547e4ede74580909ed57c7f53dac1
                  expression: 'last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvOverTemperature, "{#NODE.NAME}"])=2'
                  name: 'Node {#NODE.NAME}: Temperature is over than recommended'
                  priority: HIGH
                  description: 'The hardware will shutdown if the temperature exceeds critical thresholds.'
                  tags:
                    - tag: scope
                      value: availability
            - uuid: c6663dc780f14fd4bb01a108d0d2c6b0
              name: 'Node {#NODE.NAME}: Health'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.25.2.1.11.{#SNMPINDEX}'
              key: 'fas3220.cluster[nodeHealth, "{#NODE.NAME}"]'
              description: 'Whether or not the node can communicate with the cluster.'
              valuemap:
                name: 'Service state'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: health
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
              trigger_prototypes:
                - uuid: 0c331366ac9d4398bfc815c3cb241e7c
                  expression: 'last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeHealth, "{#NODE.NAME}"])=0'
                  name: 'Node {#NODE.NAME}: Node can not communicate with the cluster'
                  priority: HIGH
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: b8c922cbd60e4432822268c2a642fd95
              name: 'Node {#NODE.NAME}: Location'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.25.2.1.3.{#SNMPINDEX}'
              key: 'fas3220.cluster[nodeLocation, "{#NODE.NAME}"]'
              value_type: CHAR
              description: 'Node Location. Same as sysLocation for a specific node.'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: eae21d81e97a47dfa80701fb343294b4
              name: 'Node {#NODE.NAME}: Model'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.25.2.1.4.{#SNMPINDEX}'
              key: 'fas3220.cluster[nodeModel, "{#NODE.NAME}"]'
              value_type: CHAR
              description: 'Node Model. Same as productModel for a specific node.'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: cd00e7ff616f4b69a94af9e9494b060e
              name: 'Node {#NODE.NAME}: NVRAM battery status'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.25.2.1.17.{#SNMPINDEX}'
              key: 'fas3220.cluster[nodeNvramBatteryStatus, "{#NODE.NAME}"]'
              description: |
                An indication of the current status of the NVRAM battery or batteries.
                Batteries which are fully or partially discharged may not fully protect the system during a crash. The end-of-life status values are based on the manufacturer's recommended life for the batteries.
                Possible values:
                ok(1),
                partiallyDischarged(2),
                fullyDischarged(3),
                notPresent(4),
                nearEndOfLife(5),
                atEndOfLife(6),
                unknown(7),
                overCharged(8),
                fullyCharged(9).
              valuemap:
                name: 'FAS3220 NVRAM battery status'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
              trigger_prototypes:
                - uuid: 567a28dd5b364aea84a43438aee24c5c
                  expression: 'last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeNvramBatteryStatus, "{#NODE.NAME}"])<>1'
                  name: 'Node {#NODE.NAME}: NVRAM battery status is not OK'
                  priority: AVERAGE
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: availability
            - uuid: 4fc5f0cdd87147d59fe8d073e361c2d8
              name: 'Node {#NODE.NAME}: Serial number'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.25.2.1.5.{#SNMPINDEX}'
              key: 'fas3220.cluster[nodeSerialNumber, "{#NODE.NAME}"]'
              value_type: CHAR
              description: 'Node Serial Number. Same as productSerialNum for a specific node.'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
            - uuid: 8ed05a8e28bd4b87b2b5981b45ec9fbe
              name: 'Node {#NODE.NAME}: Uptime'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.25.2.1.7.{#SNMPINDEX}'
              key: 'fas3220.cluster[nodeUptime, "{#NODE.NAME}"]'
              units: s
              description: 'Node uptime. Same as sysUpTime for a specific node.'
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.01'
              tags:
                - tag: component
                  value: node
                - tag: node
                  value: '{#NODE.NAME}'
              trigger_prototypes:
                - uuid: 6040422dc0b34863a90af558d72956ee
                  expression: 'last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeUptime, "{#NODE.NAME}"])<10m'
                  name: 'Node {#NODE.NAME}: Host has been restarted'
                  event_name: 'Node {#NODE.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
          trigger_prototypes:
            - uuid: 64a737bc63b1463eb533d2a187c6b58a
              expression: 'last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyCount, "{#NODE.NAME}"])>0 and last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"])=last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedPowerSupplyMessage, "{#NODE.NAME}"])'
              name: 'Node {#NODE.NAME}: Degraded power supplies count is more than zero'
              priority: AVERAGE
              description: '{{ITEM.VALUE2}.regsub("(.*)", \1)}'
              tags:
                - tag: scope
                  value: availability
            - uuid: 36b7326a738e41b7be3e0a478bc9f858
              expression: 'last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanCount, "{#NODE.NAME}"])>0 and last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"])=last(/NetApp FAS3220 by SNMP/fas3220.cluster[nodeEnvFailedFanMessage, "{#NODE.NAME}"])'
              name: 'Node {#NODE.NAME}: Failed FAN count is over than zero'
              priority: HIGH
              description: '{{ITEM.VALUE2}.regsub("(.*)", \1)}'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: e0b97a8434f94d0ba14023cc434a8926
          name: 'CPU discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#NODE.NAME},1.3.6.1.4.1.789.1.2.1.14.1.1]'
          key: fas3220.cpu.discovery
          delay: 1h
          description: 'Discovery of CPU metrics per node'
          item_prototypes:
            - uuid: 0cf9871cac314b0fb92710144acf3f66
              name: 'Node {#NODE.NAME}: CPU utilization'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.2.1.14.1.4.{#SNMPINDEX}'
              key: 'fas3220.cpu[cDOTCpuBusyTimePerCent, "{#NODE.NAME}"]'
              value_type: FLOAT
              units: '%'
              description: 'The average, over the last minute, of the percentage of time that this processor was not idle.'
              tags:
                - tag: component
                  value: cpu
                - tag: node
                  value: '{#NODE.NAME}'
              trigger_prototypes:
                - uuid: adb98d2d2f13435bbe1897208bb86989
                  expression: 'min(/NetApp FAS3220 by SNMP/fas3220.cpu[cDOTCpuBusyTimePerCent, "{#NODE.NAME}"],5m)>{$CPU.UTIL.CRIT}'
                  name: 'Node {#NODE.NAME}: High CPU utilization'
                  event_name: 'Node {#NODE.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: capacity
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: 5e87cb453b3f41138d75783eabeeb17b
              name: 'Node {#NODE.NAME}: CPU utilization'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'NetApp FAS3220 by SNMP'
                    key: 'fas3220.cpu[cDOTCpuBusyTimePerCent, "{#NODE.NAME}"]'
        - uuid: b6dcacd213ce436aabb6c33d236fc077
          name: 'Filesystems discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#FSNAME},1.3.6.1.4.1.789.1.5.4.1.2,{#FSTYPE},1.3.6.1.4.1.789.1.5.4.1.23,{#VSERVER},1.3.6.1.4.1.789.1.5.4.1.34]'
          key: fas3220.fs.discovery
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#FSNAME}'
                value: '{$FAS3220.FS.NAME.MATCHES}'
              - macro: '{#FSNAME}'
                value: '{$FAS3220.FS.NAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#FSTYPE}'
                value: '{$FAS3220.FS.TYPE.MATCHES}'
              - macro: '{#FSTYPE}'
                value: '{$FAS3220.FS.TYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Filesystems discovery with filter.'
          item_prototypes:
            - uuid: 4f77d54089e34da8bf5b50033e3e2ca3
              name: '{#VSERVER}{#FSNAME}: Total space available'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.5.4.1.31.{#SNMPINDEX}'
              key: 'fas3220.fs[df64AvailKBytes, "{#VSERVER}{#FSNAME}"]'
              units: B
              description: 'The total disk space that is free for use on {#FSNAME}.'
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '1024'
              tags:
                - tag: component
                  value: filesystem
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: vserver
                  value: '{#VSERVER}'
              trigger_prototypes:
                - uuid: 6ab014a44ad84966a97125c478b10789
                  expression: 'min(/NetApp FAS3220 by SNMP/fas3220.fs[df64AvailKBytes, "{#VSERVER}{#FSNAME}"],{$FAS3220.FS.TIME:"{#FSNAME}"})<{$FAS3220.FS.AVAIL.MIN.CRIT:"{#FSNAME}"} and {$FAS3220.FS.USE.PCT:"{#FSNAME}"}=0'
                  name: '{#VSERVER}{#FSNAME}: Disk space is too low'
                  event_name: '{#VSERVER}{#FSNAME}: Disk space is too low (below {$FAS3220.FS.AVAIL.MIN.CRIT:"{#FSNAME}"} for {$FAS3220.FS.TIME:"{#FSNAME}"})'
                  priority: HIGH
                  tags:
                    - tag: scope
                      value: capacity
                    - tag: scope
                      value: performance
            - uuid: be517380be12421c867ed48e16fe5c4e
              name: '{#VSERVER}{#FSNAME}: Total space'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.5.4.1.29.{#SNMPINDEX}'
              key: 'fas3220.fs[df64TotalKBytes, "{#VSERVER}{#FSNAME}"]'
              units: B
              description: 'The total capacity in bytes for {#FSNAME}.'
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '1024'
              tags:
                - tag: component
                  value: filesystem
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: vserver
                  value: '{#VSERVER}'
            - uuid: d4989438446a4d228b83b0b22c11af90
              name: '{#VSERVER}{#FSNAME}: Total space used'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.5.4.1.30.{#SNMPINDEX}'
              key: 'fas3220.fs[df64UsedKBytes, "{#VSERVER}{#FSNAME}"]'
              units: B
              description: 'The total disk space that is in use on {#FSNAME}.'
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '1024'
              tags:
                - tag: component
                  value: filesystem
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: vserver
                  value: '{#VSERVER}'
            - uuid: 74868589894f468fa5daada73c042aca
              name: '{#VSERVER}{#FSNAME}: Saved by compression percents'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.5.4.1.38.{#SNMPINDEX}'
              key: 'fas3220.fs[dfCompressSavedPercent, "{#VSERVER}{#FSNAME}"]'
              value_type: FLOAT
              units: '%'
              description: 'Provides the percentage of compression savings in a volume, which is ((compr_saved/used)) * 10(compr_saved + 0). This is only returned for volumes.'
              tags:
                - tag: component
                  value: filesystem
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: vserver
                  value: '{#VSERVER}'
            - uuid: 6fd01f706f8f4088b91cd6aad58a65ce
              name: '{#VSERVER}{#FSNAME}: Saved by deduplication percents'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.5.4.1.40.{#SNMPINDEX}'
              key: 'fas3220.fs[dfDedupeSavedPercent, "{#VSERVER}{#FSNAME}"]'
              value_type: FLOAT
              units: '%'
              description: 'Provides the percentage of deduplication savings in a volume, which is ((dedup_saved/(dedup_saved + used)) * 100). This is only returned for volumes.'
              tags:
                - tag: component
                  value: filesystem
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: vserver
                  value: '{#VSERVER}'
            - uuid: b74fafe10c844feda4e72346b2fe88f6
              name: '{#VSERVER}{#FSNAME}: Used space percents'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.5.4.1.6.{#SNMPINDEX}'
              key: 'fas3220.fs[dfPerCentKBytesCapacity, "{#VSERVER}{#FSNAME}"]'
              units: '%'
              description: 'The percentage of disk space currently in use on {#FSNAME}.'
              tags:
                - tag: component
                  value: filesystem
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: vserver
                  value: '{#VSERVER}'
              trigger_prototypes:
                - uuid: 712d9096c8064ef19005c4989794db45
                  expression: 'max(/NetApp FAS3220 by SNMP/fas3220.fs[dfPerCentKBytesCapacity, "{#VSERVER}{#FSNAME}"],{$FAS3220.FS.TIME:"{#FSNAME}"})>{$FAS3220.FS.PUSED.MAX.CRIT:"{#FSNAME}"} and {$FAS3220.FS.USE.PCT:"{#FSNAME}"}=1'
                  name: '{#VSERVER}{#FSNAME}: Disk space is too low'
                  event_name: '{#VSERVER}{#FSNAME}: Disk space is too low (used over {$FAS3220.FS.PUSED.MAX.CRIT:"{#FSNAME}"}% for {$FAS3220.FS.TIME:"{#FSNAME}"})'
                  priority: HIGH
                  tags:
                    - tag: scope
                      value: capacity
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: 938f484a19454b8d9c80be5dbc1887df
              name: '{#VSERVER}{#FSNAME}: Free space'
              type: STACKED
              graph_items:
                - drawtype: FILLED_REGION
                  color: 199C0D
                  item:
                    host: 'NetApp FAS3220 by SNMP'
                    key: 'fas3220.fs[df64UsedKBytes, "{#VSERVER}{#FSNAME}"]'
                - sortorder: '1'
                  drawtype: FILLED_REGION
                  color: F63100
                  item:
                    host: 'NetApp FAS3220 by SNMP'
                    key: 'fas3220.fs[df64UsedKBytes, "{#VSERVER}{#FSNAME}"]'
          overrides:
            - name: 'Do not discover aggregate metrics'
              step: '1'
              filter:
                conditions:
                  - macro: '{#FSTYPE}'
                    value: 3|4
              operations:
                - operator: LIKE
                  value: Saved
                  discover: NO_DISCOVER
        - uuid: e06a66c956164722a289cb8832341451
          name: 'HA discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#NODE.NAME},1.3.6.1.4.1.789.1.21.2.1.1,{#PARTNER.NAME},1.3.6.1.4.1.789.1.21.2.1.8]'
          key: fas3220.ha.discovery
          delay: 1h
          description: 'Discovery of high availability metrics per node'
          item_prototypes:
            - uuid: a6d4f2976de841108b53be013376549b
              name: 'Node {#NODE.NAME}: Cannot takeover cause'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.21.2.1.5.{#SNMPINDEX}'
              key: 'fas3220.ha[haCannotTakeoverCause, "{#NODE.NAME}"]'
              description: |
                The reason node cannot take over it's HA partner {#PARTNER.NAME}.
                Possible states:
                  ok(1),
                  unknownReason(2),
                  disabledByOperator(3),
                  interconnectOffline(4),
                  disabledByPartner(5),
                  takeoverFailed(6),
                  mailboxIsInDegradedState(7),
                  partnermailboxIsInUninitialisedState(8),
                  mailboxVersionMismatch(9),
                  nvramSizeMismatch(10),
                  kernelVersionMismatch(11),
                  partnerIsInBootingStage(12),
                  diskshelfIsTooHot(13),
                  partnerIsPerformingRevert(14),
                  nodeIsPerformingRevert(15),
                  sametimePartnerIsAlsoTryingToTakeUsOver(16),
                  alreadyInTakenoverMode(17),
                  nvramLogUnsynchronized(18),
                  stateofBackupMailboxIsDoubtful(19).
              valuemap:
                name: 'FAS3220 HA cannot takeover cause'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: ha
                - tag: node
                  value: '{#NODE.NAME}'
              trigger_prototypes:
                - uuid: 798e093f3c9941e6a2d7edc24dd22835
                  expression: 'last(/NetApp FAS3220 by SNMP/fas3220.ha[haCannotTakeoverCause, "{#NODE.NAME}"])<>1'
                  name: 'Node {#NODE.NAME}: Node cannot takeover it''s HA partner {#PARTNER.NAME}. Reason: {ITEM.VALUE}'
                  priority: HIGH
                  description: |
                    Possible reasons:
                      unknownReason(2),
                      disabledByOperator(3),
                      interconnectOffline(4),
                      disabledByPartner(5),
                      takeoverFailed(6),
                      mailboxIsInDegradedState(7),
                      partnermailboxIsInUninitialisedState(8),
                      mailboxVersionMismatch(9),
                      nvramSizeMismatch(10),
                      kernelVersionMismatch(11),
                      partnerIsInBootingStage(12),
                      diskshelfIsTooHot(13),
                      partnerIsPerformingRevert(14),
                      nodeIsPerformingRevert(15),
                      sametimePartnerIsAlsoTryingToTakeUsOver(16),
                      alreadyInTakenoverMode(17),
                      nvramLogUnsynchronized(18),
                      stateofBackupMailboxIsDoubtful(19).
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: 70624f45000443999b416d5806ead949
              name: 'Node {#NODE.NAME}: HA settings'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.21.2.1.3.{#SNMPINDEX}'
              key: 'fas3220.ha[haSettings, "{#NODE.NAME}"]'
              description: 'High Availability configuration settings. The value notConfigured(1) indicates that the HA is not licensed. The thisNodeDead(5) setting indicates that this node has been takenover.'
              valuemap:
                name: 'FAS3220 HA settings'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: ha
                - tag: node
                  value: '{#NODE.NAME}'
              trigger_prototypes:
                - uuid: f4ee8e2a63e8471598b6aad929151404
                  expression: 'last(/NetApp FAS3220 by SNMP/fas3220.ha[haSettings, "{#NODE.NAME}"])=1'
                  name: 'Node {#NODE.NAME}: HA is not licensed'
                  priority: AVERAGE
                  description: 'The value notConfigured(1) indicates that the HA is not licensed.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: db2c37150e1649fba89898459150ada8
                  expression: 'last(/NetApp FAS3220 by SNMP/fas3220.ha[haSettings, "{#NODE.NAME}"])=5'
                  name: 'Node {#NODE.NAME}: Node has been taken over'
                  priority: HIGH
                  description: 'The thisNodeDead(5) setting indicates that this node has been takenover.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
        - uuid: 0984cb890ec64f748e6bc5531bf80112
          name: 'Network ports discovery'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#IFNAME},1.3.6.1.4.1.789.1.22.2.1.2,{#NODE},1.3.6.1.4.1.789.1.22.2.1.1,{#TYPE},1.3.6.1.4.1.789.1.22.2.1.15,{#ROLE},1.3.6.1.4.1.789.1.22.2.1.3,{#IFDESCR},1.3.6.1.4.1.789.1.22.1.2.1.2]'
          key: fas3220.net.discovery
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFNAME}'
                value: '{$FAS3220.NET.PORT.NAME.MATCHES}'
              - macro: '{#IFNAME}'
                value: '{$FAS3220.NET.PORT.NAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#ROLE}'
                value: '{$FAS3220.NET.PORT.ROLE.MATCHES}'
              - macro: '{#TYPE}'
                value: '{$FAS3220.NET.PORT.TYPE.MATCHES}'
              - macro: '{#TYPE}'
                value: '{$FAS3220.NET.PORT.ROLE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#TYPE}'
                value: '{$FAS3220.NET.PORT.TYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Network interfaces discovery with filter.'
          item_prototypes:
            - uuid: abbab9f31f7a4e07a2e5f3fcb2150677
              name: 'Node {#NODE}: port {#IFNAME} ({#TYPE}): Inbound packets discarded'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.22.1.2.1.28.{#IFSNMPINDEX}'
              key: 'fas3220.net.if[if64InDiscards, "{#NODE}", "{#IFNAME}"]'
              delay: 3m
              description: |
                MIB: IF-MIB
                The number of inbound packets that were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol. One possible reason for discarding such a packet could be to free up buffer space.
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFDESCR}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 6f8c273e8efa40e3888716c7cad79f3f
              name: 'Node {#NODE}: port {#IFNAME} ({#TYPE}): Inbound packets with errors'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.22.1.2.1.29.{#IFSNMPINDEX}'
              key: 'fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"]'
              delay: 3m
              description: |
                MIB: IF-MIB
                The number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFDESCR}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 6fa2bb39354e4024805a82acf4feab29
              name: 'Node {#NODE}: port {#IFNAME} ({#TYPE}): Bits received'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.22.1.2.1.25.{#IFSNMPINDEX}'
              key: 'fas3220.net.if[if64InOctets, "{#NODE}", "{#IFNAME}"]'
              units: bps
              description: '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: '{#IFDESCR}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: b414bb327e744c4b932263502da396c1
              name: 'Node {#NODE}: port {#IFNAME} ({#TYPE}): Outbound packets discarded'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.22.1.2.1.34.{#IFSNMPINDEX}'
              key: 'fas3220.net.if[if64OutDiscards, "{#NODE}", "{#IFNAME}"]'
              delay: 3m
              description: |
                MIB: IF-MIB
                The number of outbound packets that were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space.
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFDESCR}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: baf565d001c044f8b8b5ea5caf09ea60
              name: 'Node {#NODE}: port {#IFNAME} ({#TYPE}): Outbound packets with errors'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.22.1.2.1.35.{#IFSNMPINDEX}'
              key: 'fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"]'
              delay: 3m
              description: |
                MIB: IF-MIB
                The number of outbound packets that could not be transmitted because of errors.
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFDESCR}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: cd474bb9b7b741e8a19654f9e2a67890
              name: 'Node {#NODE}: port {#IFNAME} ({#TYPE}): Bits sent'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.22.1.2.1.31.{#IFSNMPINDEX}'
              key: 'fas3220.net.if[if64OutOctets, "{#NODE}", "{#IFNAME}"]'
              units: bps
              description: 'The total number of octets transmitted out of the interface, including framing characters.'
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '8'
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFDESCR}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: fc759bc9f1fd479498157c5ded9d1123
              name: 'Node {#NODE}: port {#IFNAME} ({#TYPE}): Health degraded reason'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.22.2.1.32.{#SNMPINDEX}'
              key: 'fas3220.net.port[netportDegradedReason, "{#NODE}", "{#IFNAME}"]'
              value_type: TEXT
              description: 'The list of reasons why the port is marked as degraded.'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFDESCR}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: d50375f621464117afa5c469d06aa3a6
              name: 'Node {#NODE}: port {#IFNAME} ({#TYPE}): Health'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.22.2.1.30.{#SNMPINDEX}'
              key: 'fas3220.net.port[netportHealthStatus, "{#NODE}", "{#IFNAME}"]'
              value_type: FLOAT
              description: 'The health status of the port.'
              valuemap:
                name: 'FAS3220 Port health'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFDESCR}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 13b38a463e7a49058ca6907a9430d49f
              name: 'Node {#NODE}: port {#IFNAME} ({#TYPE}): State'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.22.2.1.4.{#SNMPINDEX}'
              key: 'fas3220.net.port[netportLinkState, "{#NODE}", "{#IFNAME}"]'
              description: 'The link-state of the port. Normally it is either UP(2) or DOWN(3).'
              valuemap:
                name: 'FAS3220 Port link state'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFDESCR}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: ba18b4cebd7547c1bd6f92bd9e0ca791
              name: 'Node {#NODE}: port {#IFNAME} ({#TYPE}): Role'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.22.2.1.3.{#SNMPINDEX}'
              key: 'fas3220.net.port[netportRole, "{#NODE}", "{#IFNAME}"]'
              description: 'Role of the port. A port must have one of the following roles: cluster(1), data(2), mgmt(3), intercluster(4), cluster-mgmt(5) or undef(0). The cluster port is used to communicate to other node(s) in the cluster. The data port services clients'' requests. It is where all the file requests come in. The management port is used by administrator to manage resources within a node. The intercluster port is used to communicate to other cluster. The cluster-mgmt port is used to manage resources within the cluster. The undef role is for the port that has not yet been assigned a role.'
              valuemap:
                name: 'FAS3220 Port role'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFDESCR}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 7e8816bdb15e4f1ab60c2c1b9706a34f
              name: 'Node {#NODE}: port {#IFNAME} ({#TYPE}): Speed'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.22.2.1.11.{#SNMPINDEX}'
              key: 'fas3220.net.port[netportSpeedOper, "{#NODE}", "{#IFNAME}"]'
              description: 'The speed appears on the port. It can be either undef(0), auto(1), ten Mb/s(2), hundred Mb/s(3), one Gb/s(4), or ten Gb/s(5).'
              valuemap:
                name: 'FAS3220 Port speed'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFDESCR}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: ea7cd0c80dae43e3bfd871b8ce1c541b
              name: 'Node {#NODE}: port {#IFNAME} ({#TYPE}): Up by an administrator'
              type: SNMP_AGENT
              snmp_oid: '1.3.6.1.4.1.789.1.22.2.1.14.{#SNMPINDEX}'
              key: 'fas3220.net.port[netportUpAdmin, "{#NODE}", "{#IFNAME}"]'
              description: 'Indicates whether the port status is set ''UP'' by an administrator.'
              valuemap:
                name: 'FAS3220 Port UP by administrator'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 6h
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFDESCR}'
                - tag: interface
                  value: '{#IFNAME}'
          trigger_prototypes:
            - uuid: 9ea5b5b667df4bd1943892150c9f2fda
              expression: |
                min(/NetApp FAS3220 by SNMP/fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
                or min(/NetApp FAS3220 by SNMP/fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                max(/NetApp FAS3220 by SNMP/fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
                and max(/NetApp FAS3220 by SNMP/fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
              name: 'Node {#NODE}: port {#IFNAME} ({#TYPE}): High error rate'
              event_name: 'Node {#NODE}: port {#IFNAME} ({#TYPE}): High error rate (>{$IF.ERRORS.WARN:"{#IFNAME}"} for 5m)'
              opdata: 'errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}'
              priority: WARNING
              description: 'It recovers when it is below 80% of the `{$IF.ERRORS.WARN:"{#IFNAME}"}` threshold.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: performance
            - uuid: 2c7730f4606a4833bc729c108349d7b4
              expression: 'last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportLinkState, "{#NODE}", "{#IFNAME}"])<>2 and last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportUpAdmin, "{#NODE}", "{#IFNAME}"])=1'
              name: 'Node {#NODE}: port {#IFNAME} ({#TYPE}): Link down'
              priority: AVERAGE
              description: 'Link state is not UP and the port status is set ''UP'' by an administrator.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
            - uuid: a95e60addfe04055bb15138dd9d1f37f
              expression: 'last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportHealthStatus, "{#NODE}", "{#IFNAME}"])<>0 and length(last(/NetApp FAS3220 by SNMP/fas3220.net.port[netportDegradedReason, "{#NODE}", "{#IFNAME}"]))>0'
              name: 'Node {#NODE}: port {#IFNAME} ({#TYPE}): Port is not healthy'
              priority: INFO
              description: '{{ITEM.LASTVALUE2}.regsub("(.*)", \1)}'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
          graph_prototypes:
            - uuid: 252ef20da69f43fd90afd5a560fdbd1e
              name: 'Node {#NODE}: port {#IFNAME} ({#TYPE}): Network traffic'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'NetApp FAS3220 by SNMP'
                    key: 'fas3220.net.if[if64InOctets, "{#NODE}", "{#IFNAME}"]'
                - sortorder: '1'
                  drawtype: BOLD_LINE
                  color: F63100
                  item:
                    host: 'NetApp FAS3220 by SNMP'
                    key: 'fas3220.net.if[if64OutOctets, "{#NODE}", "{#IFNAME}"]'
                - sortorder: '2'
                  color: 00611C
                  yaxisside: RIGHT
                  item:
                    host: 'NetApp FAS3220 by SNMP'
                    key: 'fas3220.net.if[if64OutErrors, "{#NODE}", "{#IFNAME}"]'
                - sortorder: '3'
                  color: F7941D
                  yaxisside: RIGHT
                  item:
                    host: 'NetApp FAS3220 by SNMP'
                    key: 'fas3220.net.if[if64InErrors, "{#NODE}", "{#IFNAME}"]'
                - sortorder: '4'
                  color: FC6EA3
                  yaxisside: RIGHT
                  item:
                    host: 'NetApp FAS3220 by SNMP'
                    key: 'fas3220.net.if[if64OutDiscards, "{#NODE}", "{#IFNAME}"]'
                - sortorder: '5'
                  color: 6C59DC
                  yaxisside: RIGHT
                  item:
                    host: 'NetApp FAS3220 by SNMP'
                    key: 'fas3220.net.if[if64InDiscards, "{#NODE}", "{#IFNAME}"]'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var data = JSON.parse(value);
                  var descriptions = {};
                  var out = [];
                  
                  data.forEach(function(elem) {
                  	if (elem["{#IFDESCR}"]) {
                  		var parts = elem["{#IFDESCR}"].split(":");
                  		var port = parts[parts.length-1].split(' ');
                  		descriptions[parts[0] + ':' + port[port.length-1]] = {
                  			"{#IFDESCR}": elem["{#IFDESCR}"],
                  			"{#SNMPINDEX}": elem["{#SNMPINDEX}"]
                  		}
                  	}
                  });
                  
                  data.forEach(function(elem) {
                  	if (elem["{#IFNAME}"]) {
                  		var port = descriptions[elem["{#NODE}"] + ':' + elem["{#IFNAME}"]];
                  
                  		elem["{#IFDESCR}"] = port["{#IFDESCR}"];
                  		elem["{#IFSNMPINDEX}"] = port["{#SNMPINDEX}"];
                  
                  
                  		switch(elem["{#TYPE}"]) {
                  			case '0':
                  				elem["{#TYPE}"] = 'physical';
                  				break;
                  			case '1':
                  				elem["{#TYPE}"] = 'if-group';
                  				break;
                  			case '2':
                  				elem["{#TYPE}"] = 'vlan';
                  				break;
                  			case '3':
                  				elem["{#TYPE}"] = 'undef';
                  				break;
                  		};
                  
                  		out.push(elem);
                  	}
                  });
                  
                  return JSON.stringify(out);
      tags:
        - tag: class
          value: hardware
        - tag: target
          value: netapp
        - tag: target
          value: netapp-fas3220
      macros:
        - macro: '{$CPU.UTIL.CRIT}'
          value: '90'
          description: 'The critical threshold of the CPU utilization expressed in %.'
        - macro: '{$FAS3220.FS.AVAIL.MIN.CRIT}'
          value: 10G
          description: 'Minimum available space on the disk. Can be used with {#FSNAME} as context.'
        - macro: '{$FAS3220.FS.NAME.MATCHES}'
          value: '.*'
          description: 'This macro is used in filesystems discovery. Can be overridden on the host or linked template level.'
        - macro: '{$FAS3220.FS.NAME.NOT_MATCHES}'
          value: snapshot
          description: 'This macro is used in filesystems discovery. Can be overridden on the host or linked template level.'
        - macro: '{$FAS3220.FS.PUSED.MAX.CRIT}'
          value: '90'
          description: 'Maximum percentage of disk used. Can be used with {#FSNAME} as context.'
        - macro: '{$FAS3220.FS.TIME}'
          value: 10m
          description: 'The time during which disk usage may exceed the threshold. Can be used with {#FSNAME} as context.'
        - macro: '{$FAS3220.FS.TYPE.MATCHES}'
          value: '.*'
          description: |
            This macro is used in filesystems discovery. Can be overridden on the host or linked template level.
            Value should be integer:
              2 - flexibleVolume,
              3 - aggregate,
              4 - stripedAggregate,
              5 - stripedVolume.
        - macro: '{$FAS3220.FS.TYPE.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: |
            This macro is used in filesystems discovery. Can be overridden on the host or linked template level.
            Value should be integer:
              2 - flexibleVolume,
              3 - aggregate,
              4 - stripedAggregate,
              5 - stripedVolume.
        - macro: '{$FAS3220.FS.USE.PCT}'
          value: '1'
          description: |
            Macro define what threshold will be used for disk space trigger:
              0 - use Bytes ({$FAS3220.FS.AVAIL.MIN.CRIT})
              1 - use percents ({$FAS3220.FS.PUSED.MAX.CRIT})
            Can be used with {#FSNAME} as context.
        - macro: '{$FAS3220.NET.PORT.NAME.MATCHES}'
          value: '.*'
          description: 'This macro is used in net ports discovery. Can be overridden on the host or linked template level.'
        - macro: '{$FAS3220.NET.PORT.NAME.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'This macro is used in net ports discovery. Can be overridden on the host or linked template level.'
        - macro: '{$FAS3220.NET.PORT.ROLE.MATCHES}'
          value: '.*'
          description: |
            This macro is used in net ports discovery. Can be overridden on the host or linked template level.
            {#ROLE} is integer. Possible values:
              0 - undef
              1 - cluster
              2 - data
              3 - node-mgmt
              4 - intercluster
              5 - cluster-mgmt
        - macro: '{$FAS3220.NET.PORT.ROLE.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: |
            This macro is used in net ports discovery. Can be overridden on the host or linked template level.
            {#ROLE} is integer. Possible values:
              0 - undef
              1 - cluster
              2 - data
              3 - node-mgmt
              4 - intercluster
              5 - cluster-mgmt
        - macro: '{$FAS3220.NET.PORT.TYPE.MATCHES}'
          value: '.*'
          description: |
            This macro is used in net ports discovery. Can be overridden on the host or linked template level.
            {#TYPE} is integer. Possible values: physical, if-group, vlan, undef.
        - macro: '{$FAS3220.NET.PORT.TYPE.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: |
            This macro is used in net ports discovery. Can be overridden on the host or linked template level.
            {#TYPE} is integer. Possible values: physical, if-group, vlan, undef.
        - macro: '{$ICMP_LOSS_WARN}'
          value: '20'
          description: 'Warning threshold of ICMP packet loss in %.'
        - macro: '{$ICMP_RESPONSE_TIME_WARN}'
          value: '0.15'
          description: 'Warning threshold of the average ICMP response time in seconds.'
        - macro: '{$IF.ERRORS.WARN}'
        - macro: '{$IF.UTIL.MAX}'
          value: '95'
        - macro: '{$SNMP.TIMEOUT}'
          value: 5m
          description: 'Time interval for the SNMP availability trigger.'
      dashboards:
        - uuid: 868292f4d7f84b0f854938c27f7c911e
          name: 'NetApp FAS3220: Overview'
          pages:
            - widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'NetApp FAS3220 by SNMP'
                        name: 'Node {#NODE.NAME}: CPU utilization'
                    - type: STRING
                      name: reference
                      value: AAAAA
                - type: graphprototype
                  'y': '5'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'NetApp FAS3220 by SNMP'
                        name: '{#VSERVER}{#FSNAME}: Free space'
                    - type: STRING
                      name: reference
                      value: AAAAB
                - type: graphprototype
                  'y': '10'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'NetApp FAS3220 by SNMP'
                        name: 'Node {#NODE}: port {#IFNAME} ({#TYPE}): Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAC
      valuemaps:
        - uuid: e078162b11ff49f59c3ab6d905f88f2c
          name: 'FAS3220 HA cannot takeover cause'
          mappings:
            - value: '1'
              newvalue: OK
            - value: '2'
              newvalue: 'Unknown reason'
            - value: '3'
              newvalue: 'Disabled by operator'
            - value: '4'
              newvalue: 'Interconnect offline'
            - value: '5'
              newvalue: 'Disabled by partner'
            - value: '6'
              newvalue: 'Takeover failed'
            - value: '7'
              newvalue: 'Mailbox is in degraded state'
            - value: '8'
              newvalue: 'Partner mailbox is in uninitialised state'
            - value: '9'
              newvalue: 'Mailbox version mismatch'
            - value: '10'
              newvalue: 'NVRAM size mismatch'
            - value: '11'
              newvalue: 'Kernel version mismatch'
            - value: '12'
              newvalue: 'Partner is in booting stage'
            - value: '13'
              newvalue: 'Disk shelf is too hot'
            - value: '14'
              newvalue: 'Partner is performing revert'
            - value: '15'
              newvalue: 'Node is performing revert'
            - value: '16'
              newvalue: 'Same time partner is also trying to take us over'
            - value: '17'
              newvalue: 'Already in takenover mode'
            - value: '18'
              newvalue: 'NVRAM log unsynchronized'
            - value: '19'
              newvalue: 'State of backup mailbox is doubtful'
        - uuid: d6993f0258dd4978a85aa5c141f1706e
          name: 'FAS3220 HA settings'
          mappings:
            - value: '1'
              newvalue: 'Not configured'
            - value: '2'
              newvalue: Enabled
            - value: '3'
              newvalue: Disabled
            - value: '4'
              newvalue: 'Takeover by partner disabled'
            - value: '5'
              newvalue: 'This node dead'
        - uuid: 1fe2bf70bd63468584708a9d09eb42a1
          name: 'FAS3220 NVRAM battery status'
          mappings:
            - value: '1'
              newvalue: OK
            - value: '2'
              newvalue: 'Partially discharged'
            - value: '3'
              newvalue: 'Fully discharged'
            - value: '4'
              newvalue: 'Not present'
            - value: '5'
              newvalue: 'Near end of life'
            - value: '6'
              newvalue: 'At end of life'
            - value: '7'
              newvalue: Unknown
            - value: '8'
              newvalue: Overcharged
            - value: '9'
              newvalue: 'Fully charged'
        - uuid: ee5e67c90bca4ded84df2d82589bc2fb
          name: 'FAS3220 Port health'
          mappings:
            - value: '0'
              newvalue: Healthy
            - value: '1'
              newvalue: Degraded
        - uuid: bd6ea858292c414d9bfd435631001ef5
          name: 'FAS3220 Port link state'
          mappings:
            - value: '0'
              newvalue: Undef
            - value: '1'
              newvalue: 'Off'
            - value: '2'
              newvalue: UP
            - value: '3'
              newvalue: DOWN
        - uuid: c598c387157d4450b5bf8f68e6e794a4
          name: 'FAS3220 Port role'
          mappings:
            - value: '0'
              newvalue: Undef
            - value: '1'
              newvalue: Cluster
            - value: '2'
              newvalue: Data
            - value: '3'
              newvalue: Node-MGMT
            - value: '4'
              newvalue: Intercluster
            - value: '5'
              newvalue: Cluster-MGMT
        - uuid: 6b0fec10a0eb4c70a8982419c6e635b9
          name: 'FAS3220 Port speed'
          mappings:
            - value: '0'
              newvalue: Undef
            - value: '1'
              newvalue: Auto
            - value: '2'
              newvalue: '10 Mb/s'
            - value: '3'
              newvalue: '100 Mb/s'
            - value: '4'
              newvalue: '10 Gb/s'
            - value: '5'
              newvalue: '100 Gb/s'
        - uuid: c50cdd6dbe19482abdb870c12e7c7b8d
          name: 'FAS3220 Port UP by administrator'
          mappings:
            - value: '0'
              newvalue: 'False'
            - value: '1'
              newvalue: 'True'
        - uuid: d3b3a064c6e445db8b9179ac79d257bf
          name: 'Service state'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
        - uuid: 7ad319d1815e45a1a28a8cd2516fd8eb
          name: zabbix.host.available
          mappings:
            - value: '0'
              newvalue: 'not available'
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: unknown
  triggers:
    - uuid: d33ca3f0d2f14feca01dce7bdf476776
      expression: '(last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/NetApp FAS3220 by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/NetApp FAS3220 by SNMP/system.net.uptime[sysUpTime.0])<10m)'
      name: 'Host has been restarted'
      event_name: '{HOST.NAME} has been restarted (uptime < 10m)'
      priority: WARNING
      description: 'Uptime is less than 10 minutes.'
      manual_close: 'YES'
      dependencies:
        - name: 'No SNMP data collection'
          expression: 'max(/NetApp FAS3220 by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
      tags:
        - tag: scope
          value: notice
    - uuid: 3e2d95918f364248ae07a2e436a986a0
      expression: 'last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedCount])>0 and last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedMessage],#1)<>last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedMessage],#2)'
      recovery_mode: RECOVERY_EXPRESSION
      recovery_expression: 'last(/NetApp FAS3220 by SNMP/fas3220.disk[diskFailedCount])=0'
      name: 'Number of failed disks has changed'
      opdata: 'Current value: {ITEM.LASTVALUE1}'
      priority: WARNING
      description: '{{ITEM.LASTVALUE2}.regsub("(.*)", \1)}'
      type: MULTIPLE
      tags:
        - tag: scope
          value: availability
        - tag: scope
          value: performance
