zabbix_export:
  version: '7.0'
  template_groups:
    - uuid: 630cb16218fe4ea49d2fd8aafce5dee6
      name: 'Templates/Network devices'
  templates:
    - uuid: c263fbbfcad44478b856aad8619d9141
      template: 'Cisco NX-OS by SNMP'
      name: 'Cisco NX-OS by SNMP'
      description: 'Cloned from Cisco IOS template and adjusted to work for NX-OS (Nexus) devices.'
      groups:
        - name: 'Templates/Network devices'
      items:
        - uuid: b4dc666a6b5d442698d1d0864c420578
          name: 'ICMP ping'
          type: SIMPLE
          key: icmpping
          description: |
            The host accessibility by ICMP ping.
            
            0 - ICMP ping fails;
            1 - ICMP ping successful.
          valuemap:
            name: 'Service state'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 171f21c7a6d942868cabb3583b0ad4d8
              expression: 'max(/Cisco NX-OS by SNMP/icmpping,#3)=0'
              name: 'Cisco IOS: Unavailable by ICMP ping'
              priority: HIGH
              description: 'Last three attempts returned timeout. Please check device connectivity.'
              tags:
                - tag: scope
                  value: availability
        - uuid: 0c1828bdf9f34e009f14bcbbd3b42f9c
          name: 'ICMP loss'
          type: SIMPLE
          key: icmppingloss
          value_type: FLOAT
          units: '%'
          description: 'The percentage of lost packets.'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: e59ee640a4b14bf59a427ab8eb826b0d
              expression: 'min(/Cisco NX-OS by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Cisco NX-OS by SNMP/icmppingloss,5m)<100'
              name: 'Cisco IOS: High ICMP ping loss'
              opdata: 'Loss: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'ICMP packets loss detected.'
              dependencies:
                - name: 'Cisco IOS: Unavailable by ICMP ping'
                  expression: 'max(/Cisco NX-OS by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: 2a0261f6288246efb430aa1c0ea50140
          name: 'ICMP response time'
          type: SIMPLE
          key: icmppingsec
          value_type: FLOAT
          units: s
          description: 'The ICMP ping response time (in seconds).'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: a84a630e4fe94310b77f0df486e94726
              expression: 'avg(/Cisco NX-OS by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN}'
              name: 'Cisco IOS: High ICMP ping response time'
              opdata: 'Value: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'Average ICMP response time is too high.'
              dependencies:
                - name: 'Cisco IOS: High ICMP ping loss'
                  expression: 'min(/Cisco NX-OS by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Cisco NX-OS by SNMP/icmppingloss,5m)<100'
                - name: 'Cisco IOS: Unavailable by ICMP ping'
                  expression: 'max(/Cisco NX-OS by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: ca8a0bb9653849188d7518695560fb10
          name: 'Cisco IOS: SNMP walk EtherLike-MIB interfaces'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.10.7.2.1.19,1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2]'
          key: net.if.duplex.walk
          delay: 3m
          history: '0'
          value_type: TEXT
          trends: '0'
          description: 'Discovering interfaces from IF-MIB and EtherLike-MIB. Interfaces with `up(1)` Operational Status are discovered.'
          tags:
            - tag: component
              value: raw
        - uuid: a16eb6ea2a994f96acd6ebf69e7ddafe
          name: 'Cisco IOS: SNMP walk network interfaces'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]'
          key: net.if.walk
          delay: 3m
          history: '0'
          value_type: TEXT
          trends: '0'
          description: 'Discovering interfaces from IF-MIB.'
          tags:
            - tag: component
              value: raw
        - uuid: 97497dcc0d4047138fb196367ec0a53b
          name: 'Cisco IOS: SNMP walk fans'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.47.1.1.1.1.7,1.3.6.1.4.1.9.9.117.1.4.1.1.1]'
          key: sensor.fans.walk
          history: '0'
          value_type: TEXT
          trends: '0'
          description: 'Discovering system fans.'
          tags:
            - tag: component
              value: raw
        - uuid: 1b5fd5af28634b52afc2920d782f531f
          name: 'Cisco IOS: SNMP walk PSUs'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.47.1.1.1.1.7,1.3.6.1.4.1.9.9.117.1.1.2.1.2]'
          key: sensor.psu.walk
          history: '0'
          value_type: TEXT
          trends: '0'
          description: 'The table of power supply status maintained by the environmental monitor card.'
          tags:
            - tag: component
              value: raw
        - uuid: 7d3f28e9318b440496eee2fb3fcdf486
          name: 'Cisco IOS: SNMP walk temperature sensors'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.9.9.91.1.1.1.1.1,1.3.6.1.4.1.9.9.91.1.1.1.1.2,1.3.6.1.2.1.47.1.1.1.1.7,1.3.6.1.4.1.9.9.91.1.1.1.1.4,1.3.6.1.4.1.9.9.91.1.1.1.1.5]'
          key: sensor.temp.walk
          history: '0'
          value_type: TEXT
          trends: '0'
          description: 'Discovery of ciscoEnvMonTemperatureTable (ciscoEnvMonTemperatureDescr), a table of ambient temperature status maintained by the environmental monitor.'
          tags:
            - tag: component
              value: raw
        - uuid: 8220b994cd32404e829ae8cf3bd770c1
          name: 'SNMP traps (fallback)'
          type: SNMP_TRAP
          key: snmptrap.fallback
          delay: '0'
          value_type: LOG
          trends: '0'
          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: 38e0abc82673409b87346636a84322a0
          name: 'System contact details'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.4.0]'
          key: 'system.contact[sysContact.0]'
          delay: 15m
          value_type: CHAR
          trends: '0'
          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: 3db174ee613441adbe66d28164f30e45
          name: 'Cisco IOS: SNMP walk system CPUs'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.9.9.109.1.1.1.1.2,1.3.6.1.4.1.9.9.109.1.1.1.1.8]'
          key: system.cpu.walk
          history: '0'
          value_type: TEXT
          trends: '0'
          description: |
            If your IOS device has several CPUs, you must use CISCO-PROCESS-MIB and its object cpmCPUTotal5minRev from the table called cpmCPUTotalTable,
            indexed with cpmCPUTotalIndex.
            This table allows CISCO-PROCESS-MIB to keep CPU statistics for different physical entities in the router,
            like different CPU chips, group of CPUs, or CPUs in different modules/cards.
            In case of a single CPU, cpmCPUTotalTable has only one entry.
          tags:
            - tag: component
              value: raw
        - uuid: a46aa1b2bc3647d7a1568f107380407b
          name: 'System description'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.1.0]'
          key: 'system.descr[sysDescr.0]'
          delay: 15m
          value_type: CHAR
          trends: '0'
          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: 64f91fde63ff426cb2e14a371ea7a0af
          name: 'Hardware model name'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.47.1.1.1.1.13.149]'
          key: system.hw.model
          delay: 1h
          value_type: CHAR
          trends: '0'
          description: 'MIB: ENTITY-MIB'
          inventory_link: MODEL
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
        - uuid: ecd7b36254ff4a0dbf974cae5dad1882
          name: 'Hardware serial number'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.47.1.1.1.1.11.149]'
          key: system.hw.serialnumber
          delay: 1h
          value_type: CHAR
          trends: '0'
          description: 'MIB: ENTITY-MIB'
          inventory_link: SERIALNO_A
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 7391a333ef854b029c12735f0c4f95a6
              expression: 'last(/Cisco NX-OS by SNMP/system.hw.serialnumber,#1)<>last(/Cisco NX-OS by SNMP/system.hw.serialnumber,#2) and length(last(/Cisco NX-OS by SNMP/system.hw.serialnumber))>0'
              name: 'Cisco IOS: Device has been replaced'
              event_name: 'Cisco IOS: 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
        - uuid: 67292732efe647fa928f0817dcb97695
          name: 'Cisco IOS: SNMP walk entity serial numbers'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.47.1.1.1.1.5,1.3.6.1.2.1.47.1.1.1.1.7,1.3.6.1.2.1.47.1.1.1.1.11]'
          key: system.hw.serialnumber.walk
          history: '0'
          value_type: TEXT
          trends: '0'
          description: |
            MIB: ENTITY-MIB
            Entity Serial Numbers Discovery.
          tags:
            - tag: component
              value: raw
        - uuid: 49f62092bb43497eb880d51f53370bac
          name: 'Uptime (hardware)'
          type: SNMP_AGENT
          snmp_oid: 'get[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: 77a0ebdf23314f50a2bf1e1b7b89e3a3
          name: 'System location'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.6.0]'
          key: 'system.location[sysLocation.0]'
          delay: 15m
          value_type: CHAR
          trends: '0'
          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: 0f776801689f4d53a6e6501a7773d8f1
          name: 'System name'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.5.0]'
          key: system.name
          delay: 15m
          value_type: CHAR
          trends: '0'
          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: ad31ea8cfb174e1e9f66aa72808d7367
              expression: 'last(/Cisco NX-OS by SNMP/system.name,#1)<>last(/Cisco NX-OS by SNMP/system.name,#2) and length(last(/Cisco NX-OS by SNMP/system.name))>0'
              name: 'Cisco IOS: System name has changed'
              event_name: 'Cisco IOS: 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: f8aaa05f0a4b412085d1aa5824cfb598
          name: 'Uptime (network)'
          type: SNMP_AGENT
          snmp_oid: 'get[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: c8fd92d508ff454ab0b561763fa4be5a
          name: 'System object ID'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.2.0]'
          key: 'system.objectid[sysObjectID.0]'
          delay: 15m
          value_type: CHAR
          trends: '0'
          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: 4bad54cafcfb4f209c63ef6861b35baf
          name: 'Operating system'
          type: SNMP_AGENT
          snmp_oid: 'get[1.3.6.1.2.1.1.1.0]'
          key: 'system.sw.os[sysDescr.0]'
          delay: 1h
          value_type: CHAR
          trends: '0'
          description: 'MIB: SNMPv2-MIB'
          inventory_link: OS
          preprocessing:
            - type: REGEX
              parameters:
                - 'Version (.+), RELEASE'
                - \1
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: os
          triggers:
            - uuid: be094ca8f1144bdf9add3d1b005d1cef
              expression: 'last(/Cisco NX-OS by SNMP/system.sw.os[sysDescr.0],#1)<>last(/Cisco NX-OS by SNMP/system.sw.os[sysDescr.0],#2) and length(last(/Cisco NX-OS by SNMP/system.sw.os[sysDescr.0]))>0'
              name: 'Cisco IOS: Operating system description has changed'
              priority: INFO
              description: 'The description of the operating system has changed. Possible reasons are that the system has been updated or replaced. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              dependencies:
                - name: 'Cisco IOS: System name has changed'
                  expression: 'last(/Cisco NX-OS by SNMP/system.name,#1)<>last(/Cisco NX-OS by SNMP/system.name,#2) and length(last(/Cisco NX-OS by SNMP/system.name))>0'
              tags:
                - tag: scope
                  value: notice
        - uuid: 929557a8f907422c84dcf62d55fadd69
          name: 'Cisco IOS: SNMP walk memory'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.9.9.221.1.1.1.1.3,1.3.6.1.4.1.9.9.221.1.1.1.1.8,1.3.6.1.4.1.9.9.221.1.1.1.1.7]'
          key: vm.memory.walk
          history: '0'
          value_type: TEXT
          trends: '0'
          description: |
            MIB: CISCO-MEMORY-POOL-MIB
            Discovery of ciscoMemoryPoolTable, a table of memory pool monitoring entries.
            http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html.
          tags:
            - tag: component
              value: raw
        - uuid: 7f15e10fb7e648228789a0f01e72f57d
          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: aeaf952901cc4fad9a7cc71c9d465b6f
              expression: 'max(/Cisco NX-OS by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
              name: 'Cisco IOS: 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: 'Cisco IOS: Unavailable by ICMP ping'
                  expression: 'max(/Cisco NX-OS by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: b7c0750049d24addbcbfac8535ae5212
          name: 'CPU Discovery'
          type: DEPENDENT
          key: cpu.discovery
          delay: '0'
          description: |
            If your IOS device has several CPUs, you must use CISCO-PROCESS-MIB and its object cpmCPUTotal5minRev from the table called cpmCPUTotalTable,
            indexed with cpmCPUTotalIndex.
            This table allows CISCO-PROCESS-MIB to keep CPU statistics for different physical entities in the router,
            like different CPU chips, group of CPUs, or CPUs in different modules/cards.
            In case of a single CPU, cpmCPUTotalTable has only one entry.
          item_prototypes:
            - uuid: fa0e3d3e11274307b14ad387f3483b53
              name: '#{#SNMPINDEX}: CPU utilization'
              type: DEPENDENT
              key: 'system.cpu.util[1.3.6.1.4.1.9.9.109.1.1.1.1.8.{#SNMPINDEX}]'
              delay: '0'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: CISCO-PROCESS-MIB
                The cpmCPUTotal5minRev MIB object provides a more accurate view of the performance of the router over time than the MIB objects cpmCPUTotal1minRev and cpmCPUTotal5secRev . These MIB objects are not accurate because they look at CPU at one minute and five second intervals, respectively. These MIBs enable you to monitor the trends and plan the capacity of your network. The recommended baseline rising threshold for cpmCPUTotal5minRev is 90 percent. Depending on the platform, some routers that run at 90 percent, for example, 2500s, can exhibit performance degradation versus a high-end router, for example, the 7500 series, which can operate fine.
                Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15215-collect-cpu-util-snmp.html
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.9.9.109.1.1.1.1.8.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 5m
              master_item:
                key: system.cpu.walk
              tags:
                - tag: component
                  value: cpu
              trigger_prototypes:
                - uuid: 8a3afcb70e28495987d44cda0ecdc9fb
                  expression: 'min(/Cisco NX-OS by SNMP/system.cpu.util[1.3.6.1.4.1.9.9.109.1.1.1.1.8.{#SNMPINDEX}],5m)>{$CPU.UTIL.CRIT}'
                  name: 'Cisco IOS: #{#SNMPINDEX}: High CPU utilization'
                  event_name: 'Cisco IOS: #{#SNMPINDEX}: 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
          graph_prototypes:
            - uuid: d7e9f1888858437b964fb854d669ebd5
              name: '#{#SNMPINDEX}: CPU utilization'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'Cisco NX-OS by SNMP'
                    key: 'system.cpu.util[1.3.6.1.4.1.9.9.109.1.1.1.1.8.{#SNMPINDEX}]'
          master_item:
            key: system.cpu.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.4.1.9.9.109.1.1.1.1.2
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 6e188f11294b44638d29d0f5810a0c33
          name: 'Entity Serial Numbers Discovery'
          type: DEPENDENT
          key: entity_sn.discovery
          delay: '0'
          filter:
            evaltype: AND
            conditions:
              - macro: '{#ENT_CLASS}'
                value: ^3$
                formulaid: A
              - macro: '{#ENT_SN}'
                value: .+
                formulaid: B
          item_prototypes:
            - uuid: 026234aff4794072bbcd6de542c2bf28
              name: '{#ENT_NAME}: Hardware serial number'
              type: DEPENDENT
              key: 'system.hw.serialnumber[entPhysicalSerialNum.{#SNMPINDEX}]'
              delay: '0'
              value_type: CHAR
              trends: '0'
              description: 'MIB: ENTITY-MIB'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.47.1.1.1.1.11.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1d
              master_item:
                key: system.hw.serialnumber.walk
              tags:
                - tag: component
                  value: system
              trigger_prototypes:
                - uuid: 4a4f94700d254a54b84849251801e431
                  expression: 'last(/Cisco NX-OS by SNMP/system.hw.serialnumber[entPhysicalSerialNum.{#SNMPINDEX}],#1)<>last(/Cisco NX-OS by SNMP/system.hw.serialnumber[entPhysicalSerialNum.{#SNMPINDEX}],#2) and length(last(/Cisco NX-OS by SNMP/system.hw.serialnumber[entPhysicalSerialNum.{#SNMPINDEX}]))>0'
                  name: 'Cisco IOS: {#ENT_NAME}: Device has been replaced'
                  event_name: 'Cisco IOS: {#ENT_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
          master_item:
            key: system.hw.serialnumber.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#ENT_CLASS}'
                - 1.3.6.1.2.1.47.1.1.1.1.5
                - '0'
                - '{#ENT_NAME}'
                - 1.3.6.1.2.1.47.1.1.1.1.7
                - '0'
                - '{#ENT_SN}'
                - 1.3.6.1.2.1.47.1.1.1.1.11
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: a7bef6f961504dccb06377c16df60d45
          name: 'FAN Discovery'
          type: DEPENDENT
          key: fan.discovery
          delay: '0'
          filter:
            conditions:
              - macro: '{#SNMPVALUE}'
                value: '^(?:Fan Module-\d+|PowerSupply-\d+ Fan-\d+)$'
                formulaid: A
          description: 'The table of fan status maintained by the environmental monitor.'
          item_prototypes:
            - uuid: 18dac7b1e80e424fbd8f21aec47f01d7
              name: '{#SNMPVALUE}: Fan status'
              type: DEPENDENT
              key: 'sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}]'
              delay: '0'
              trends: '0'
              description: 'MIB: CISCO-ENVMON-MIB'
              valuemap:
                name: 'Fan value mapping'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.9.9.117.1.4.1.1.1.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: sensor.fans.walk
              tags:
                - tag: component
                  value: fan
              trigger_prototypes:
                - uuid: d862d6f48d104d1cbfef0f7342d38ee2
                  expression: 'count(/Cisco NX-OS by SNMP/sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}],#1,"eq","{$FAN_CRIT_STATUS:\"critical\"}")=1 or count(/Cisco NX-OS by SNMP/sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}],#1,"eq","{$FAN_CRIT_STATUS:\"shutdown\"}")=1'
                  name: 'Cisco IOS: {#SENSOR_INFO}: Fan is in critical state'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: 'Please check the fan unit'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 219273bc82634354a560832730b57abc
                  expression: 'count(/Cisco NX-OS by SNMP/sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}],#1,"eq","{$FAN_WARN_STATUS:\"warning\"}")=1 or count(/Cisco NX-OS by SNMP/sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}],#1,"eq","{$FAN_WARN_STATUS:\"notFunctioning\"}")=1'
                  name: 'Cisco IOS: {#SENSOR_INFO}: Fan is in warning state'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'Please check the fan unit'
                  dependencies:
                    - name: 'Cisco IOS: {#SENSOR_INFO}: Fan is in critical state'
                      expression: 'count(/Cisco NX-OS by SNMP/sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}],#1,"eq","{$FAN_CRIT_STATUS:\"critical\"}")=1 or count(/Cisco NX-OS by SNMP/sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}],#1,"eq","{$FAN_CRIT_STATUS:\"shutdown\"}")=1'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          master_item:
            key: sensor.fans.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.2.1.47.1.1.1.1.7
                - '0'
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 0e1fa897f7354eaf963f821783069f31
          name: 'Memory Discovery'
          type: DEPENDENT
          key: memory.discovery
          delay: '0'
          description: |
            Discovery of ciscoMemoryPoolTable, a table of memory pool monitoring entries.
            http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html
          item_prototypes:
            - uuid: 43f6bbdf86a14cba890dcf291b73fd53
              name: '{#SNMPVALUE}: Free memory'
              type: DEPENDENT
              key: 'vm.memory.free[ciscoMemoryPoolFree.{#SNMPINDEX}]'
              delay: '0'
              units: B
              description: |
                MIB: CISCO-MEMORY-POOL-MIB
                Indicates the number of bytes from the memory pool that are currently unused on the managed device. Note that the sum of ciscoMemoryPoolUsed and ciscoMemoryPoolFree is the total amount of memory in the pool
                Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.9.9.221.1.1.1.1.8.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: vm.memory.walk
              tags:
                - tag: component
                  value: memory
            - uuid: 0a5e5ea7d08140938942dc38688afffd
              name: '{#SNMPVALUE}: Used memory'
              type: DEPENDENT
              key: 'vm.memory.used[ciscoMemoryPoolUsed.{#SNMPINDEX}]'
              delay: '0'
              units: B
              description: |
                MIB: CISCO-MEMORY-POOL-MIB
                Indicates the number of bytes from the memory pool that are currently in use by applications on the managed device.
                Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.9.9.221.1.1.1.1.7.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: vm.memory.walk
              tags:
                - tag: component
                  value: memory
            - uuid: ddcc17f8f43b4420a43d726f07e90ec8
              name: '{#SNMPVALUE}: Memory utilization'
              type: CALCULATED
              key: 'vm.memory.util[vm.memory.util.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              params: 'last(//vm.memory.used[ciscoMemoryPoolUsed.{#SNMPINDEX}])/(last(//vm.memory.free[ciscoMemoryPoolFree.{#SNMPINDEX}])+last(//vm.memory.used[ciscoMemoryPoolUsed.{#SNMPINDEX}]))*100'
              description: 'Memory utilization in %.'
              tags:
                - tag: component
                  value: memory
              trigger_prototypes:
                - uuid: f167a6e30ed343b08c6beba82b608e1a
                  expression: 'min(/Cisco NX-OS by SNMP/vm.memory.util[vm.memory.util.{#SNMPINDEX}],5m)>{$MEMORY.UTIL.MAX}'
                  name: 'Cisco IOS: {#SNMPVALUE}: High memory utilization'
                  event_name: 'Cisco IOS: {#SNMPVALUE}: High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m)'
                  priority: AVERAGE
                  description: 'The system is running out of free memory.'
                  tags:
                    - tag: scope
                      value: capacity
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: 572ed32315b04f4aa7f5bd216fe7f7f5
              name: '{#SNMPVALUE}: Memory utilization'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'Cisco NX-OS by SNMP'
                    key: 'vm.memory.util[vm.memory.util.{#SNMPINDEX}]'
          master_item:
            key: vm.memory.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.4.1.9.9.221.1.1.1.1.3
                - '0'
        - uuid: b845f648bb5b4589be5d6eb93cc88023
          name: 'Network interfaces discovery'
          type: DEPENDENT
          key: net.if.discovery
          delay: '0'
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.MATCHES}'
                formulaid: A
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
                formulaid: B
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.MATCHES}'
                formulaid: C
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
                formulaid: D
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.MATCHES}'
                formulaid: E
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
                formulaid: F
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.MATCHES}'
                formulaid: G
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
                formulaid: H
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.MATCHES}'
                formulaid: I
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
                formulaid: J
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.MATCHES}'
                formulaid: K
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
                formulaid: L
          description: 'Discovering interfaces from IF-MIB.'
          item_prototypes:
            - uuid: 865230e26eb54db0b9998cb2594a6c0f
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded'
              type: DEPENDENT
              key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
              delay: '0'
              description: |
                MIB: IF-MIB
                The number of inbound packets which 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.
                Discontinuities in the value of this counter can occur at re-initialization of the management system,
                and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                  parameters:
                    - ''
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: cc0a9120ed7a4eaabdfc8444f8efd5fc
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors'
              type: DEPENDENT
              key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
              delay: '0'
              description: |
                MIB: IF-MIB
                For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                  parameters:
                    - ''
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 3c8b97344eaf4ea386bb6a2f074b7612
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits received'
              type: DEPENDENT
              key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]'
              delay: '0'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets received on the interface, including framing characters. This object is a 64-bit version of ifInOctets. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                  parameters:
                    - ''
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 7c38f738d5a5425daa457ff51d1c8c57
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded'
              type: DEPENDENT
              key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
              delay: '0'
              description: |
                MIB: IF-MIB
                The number of outbound packets which 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.
                Discontinuities in the value of this counter can occur at re-initialization of the management system,
                and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                  parameters:
                    - ''
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: b3b18507c9d24035afdd0cbcbea64b21
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors'
              type: DEPENDENT
              key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
              delay: '0'
              description: |
                MIB: IF-MIB
                For packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                  parameters:
                    - ''
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 0d693950efb34f4794d87711b642b7e2
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits sent'
              type: DEPENDENT
              key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]'
              delay: '0'
              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.Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                  parameters:
                    - ''
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 875a174b94d74e3cb9281b8473adafca
              name: 'Interface {#IFNAME}({#IFALIAS}): Speed'
              type: DEPENDENT
              key: 'net.if.speed[ifHighSpeed.{#SNMPINDEX}]'
              delay: '0'
              trends: '0'
              units: bps
              description: |
                MIB: IF-MIB
                An estimate of the interface's current bandwidth in units of 1,000,000 bits per second. If this object reports a value of `n`, then the speed of the interface is somewhere in the range of `n-500,000` to `n+499,999`.
                For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth.
                For a sub-layer which has no concept of bandwidth, this object should be zero.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}'
                    - '0'
                - type: MULTIPLIER
                  parameters:
                    - '1000000'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: c32e7521d5ef41788c1543a2d0c2524f
              name: 'Interface {#IFNAME}({#IFALIAS}): Operational status'
              type: DEPENDENT
              key: 'net.if.status[ifOperStatus.{#SNMPINDEX}]'
              delay: '0'
              trends: '0'
              description: |
                MIB: IF-MIB
                The current operational state of the interface.
                - The testing(3) state indicates that no operational packet scan be passed
                - If ifAdminStatus is down(2) then ifOperStatus should be down(2)
                - If ifAdminStatus is changed to up(1) then ifOperStatus should change to up(1) if the interface is ready to transmit and receive network traffic
                - It should change todormant(5) if the interface is waiting for external actions (such as a serial line waiting for an incoming connection)
                - It should remain in the down(2) state if and only if there is a fault that prevents it from going to the up(1) state
                - It should remain in the notPresent(6) state if the interface has missing(typically, hardware) components.
              valuemap:
                name: 'IF-MIB::ifOperStatus'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 113f6346dfcd4b05953b08e08dcce455
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Cisco NX-OS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Cisco NX-OS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Cisco NX-OS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/Cisco NX-OS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
                  name: 'Cisco IOS: Interface {#IFNAME}({#IFALIAS}): Link down'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: HIGH
                  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 the context macro to "0", marking this interface as not important. No new trigger will be fired if this interface is down.
                    3. `last(/TEMPLATE_NAME/METRIC,#1)<>last(/TEMPLATE_NAME/METRIC,#2)` - the trigger fires only if the operational status was up to (1) sometime before (so, does not fire for "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: availability
            - uuid: ec38f6c3e60f4930b58a65e59a643f84
              name: 'Interface {#IFNAME}({#IFALIAS}): Interface type'
              type: DEPENDENT
              key: 'net.if.type[ifType.{#SNMPINDEX}]'
              delay: '0'
              trends: '0'
              description: |
                MIB: IF-MIB
                The type of interface.
                Additional values for ifType are assigned by the Internet Assigned Numbers Authority (IANA),
                through updating the syntax of the IANAifType textual convention.
              valuemap:
                name: 'IF-MIB::ifType'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1d
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
          trigger_prototypes:
            - uuid: 05859383104e4c97b8334a8ea6390efe
              expression: |
                change(/Cisco NX-OS by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])<0 and last(/Cisco NX-OS by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
                and (
                last(/Cisco NX-OS by SNMP/net.if.type[ifType.{#SNMPINDEX}])=6 or
                last(/Cisco NX-OS by SNMP/net.if.type[ifType.{#SNMPINDEX}])=7 or
                last(/Cisco NX-OS by SNMP/net.if.type[ifType.{#SNMPINDEX}])=11 or
                last(/Cisco NX-OS by SNMP/net.if.type[ifType.{#SNMPINDEX}])=62 or
                last(/Cisco NX-OS by SNMP/net.if.type[ifType.{#SNMPINDEX}])=69 or
                last(/Cisco NX-OS by SNMP/net.if.type[ifType.{#SNMPINDEX}])=117
                )
                and
                (last(/Cisco NX-OS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2)
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                (change(/Cisco NX-OS by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and last(/Cisco NX-OS by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}],#2)>0) or
                (last(/Cisco NX-OS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2)
              name: 'Cisco IOS: Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before'
              opdata: 'Current reported speed: {ITEM.LASTVALUE1}'
              priority: INFO
              description: 'This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              dependencies:
                - name: 'Cisco IOS: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Cisco NX-OS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Cisco NX-OS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Cisco NX-OS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/Cisco NX-OS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: f2450ce8eca0457997233160b7ff4ecf
              expression: |
                (avg(/Cisco NX-OS by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Cisco NX-OS by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) or
                avg(/Cisco NX-OS by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Cisco NX-OS by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])) and
                last(/Cisco NX-OS by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                avg(/Cisco NX-OS by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Cisco NX-OS by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) and
                avg(/Cisco NX-OS by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Cisco NX-OS by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])
              name: 'Cisco IOS: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage'
              event_name: 'Cisco IOS: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage (>{$IF.UTIL.MAX:"{#IFNAME}"}%)'
              opdata: 'In: {ITEM.LASTVALUE1}, out: {ITEM.LASTVALUE3}, speed: {ITEM.LASTVALUE2}'
              priority: WARNING
              description: 'The utilization of the network interface is close to its estimated maximum bandwidth.'
              manual_close: 'YES'
              dependencies:
                - name: 'Cisco IOS: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Cisco NX-OS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Cisco NX-OS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Cisco NX-OS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/Cisco NX-OS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 8bb06fbea531404ba39114995f0236b5
              expression: |
                min(/Cisco NX-OS by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
                or min(/Cisco NX-OS by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                max(/Cisco NX-OS by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
                and max(/Cisco NX-OS by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
              name: 'Cisco IOS: Interface {#IFNAME}({#IFALIAS}): High error rate'
              event_name: 'Cisco IOS: Interface {#IFNAME}({#IFALIAS}): 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'
              dependencies:
                - name: 'Cisco IOS: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Cisco NX-OS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Cisco NX-OS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Cisco NX-OS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/Cisco NX-OS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
          master_item:
            key: net.if.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFOPERSTATUS}'
                - 1.3.6.1.2.1.2.2.1.8
                - '0'
                - '{#IFADMINSTATUS}'
                - 1.3.6.1.2.1.2.2.1.7
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFNAME}'
                - 1.3.6.1.2.1.31.1.1.1.1
                - '0'
                - '{#IFDESCR}'
                - 1.3.6.1.2.1.2.2.1.2
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: fe5fc74036294fb89a26263454fbe2d0
          name: 'EtherLike-MIB Discovery'
          type: DEPENDENT
          key: net.if.duplex.discovery
          delay: '0'
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFOPERSTATUS}'
                value: '1'
                formulaid: A
              - macro: '{#SNMPVALUE}'
                value: (2|3)
                formulaid: B
              - macro: '{#SNMPVALUE}'
                operator: EXISTS
                formulaid: C
          description: 'Discovering interfaces from IF-MIB and EtherLike-MIB. Interfaces with `up(1)` Operational Status are discovered.'
          item_prototypes:
            - uuid: 7c049cacf0cb4e1fa3fe2bf35e21681f
              name: 'Interface {#IFNAME}({#IFALIAS}): Duplex status'
              type: DEPENDENT
              key: 'net.if.duplex[dot3StatsDuplexStatus.{#SNMPINDEX}]'
              delay: '0'
              description: |
                MIB: EtherLike-MIB
                The current mode of operation of the MAC entity. `unknown` indicates that the current duplex mode could not be determined.
                Management control of the duplex mode is accomplished through the MAU MIB. When an interface does not support autonegotiation or when autonegotiation is not enabled, the duplex mode is controlled using `ifMauDefaultType`. When autonegotiation is supported and enabled, duplex mode is controlled using `ifMauAutoNegAdvertisedBits`. In either case, the currently operating duplex mode in reflected both in this object and in `ifMauType`.
                Note that this object provides redundant information with `ifMauType`. Normally, redundant objects are discouraged. However, in this instance, it allows a management application to determine the duplex status of an interface without having to know every possible value of `ifMauType`. This was felt to be sufficiently valuable to justify the redundancy.
                Reference: [IEEE 802.3 Std.], 30.3.1.1.32,aDuplexStatus.
              valuemap:
                name: 'EtherLike-MIB::dot3StatsDuplexStatus'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.10.7.2.1.19.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.duplex.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: a824313b04254ea5a54a619b88c0a3c7
                  expression: 'last(/Cisco NX-OS by SNMP/net.if.duplex[dot3StatsDuplexStatus.{#SNMPINDEX}])=2'
                  name: 'Cisco IOS: Interface {#IFNAME}({#IFALIAS}): In half-duplex mode'
                  priority: WARNING
                  description: 'Please check autonegotiation settings and cabling.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: performance
          master_item:
            key: net.if.duplex.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.2.1.10.7.2.1.19
                - '0'
                - '{#IFOPERSTATUS}'
                - 1.3.6.1.2.1.2.2.1.8
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFNAME}'
                - 1.3.6.1.2.1.31.1.1.1.1
                - '0'
                - '{#IFDESCR}'
                - 1.3.6.1.2.1.2.2.1.2
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: cbb2a52ef775485888e8b8601c9dc5c2
          name: 'PSU Discovery'
          type: DEPENDENT
          key: psu.discovery
          delay: '0'
          filter:
            conditions:
              - macro: '{#SNMPVALUE}'
                value: \bPowerSupply-\d+\b
                formulaid: A
          description: 'The table of power supply status maintained by the environmental monitor card.'
          item_prototypes:
            - uuid: 7843163d6a3b49778e12f46417e3dd55
              name: '{#SENSOR_INFO}: Power supply status'
              type: DEPENDENT
              key: 'sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}]'
              delay: '0'
              trends: '0'
              description: 'MIB: CISCO-ENVMON-MIB'
              valuemap:
                name: 'CISCO-ENTITY-FRU-CONTROL-MIB::cefcFRUPowerOperStatus'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.9.9.117.1.1.2.1.2.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: sensor.psu.walk
              tags:
                - tag: component
                  value: power
              trigger_prototypes:
                - uuid: ca8bb9c6e5154362bcb41d8a06b07d3d
                  expression: 'last(/Cisco NX-OS by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}])=8'
                  name: '{#SNMPVALUE}: PSU is in failed state'
                  opdata: 'Current state: {ITEM.LASTVALUE}'
                  priority: HIGH
                  tags:
                    - tag: scope
                      value: availability
                - uuid: 67c908ce21584437bdf233299d05ba1d
                  expression: 'last(/Cisco NX-OS by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}])=3'
                  name: '{#SNMPVALUE}: PSU is off: Administratively'
                  opdata: 'Current state: {ITEM.LASTVALUE}'
                  priority: INFO
                  dependencies:
                    - name: '{#SNMPVALUE}: PSU is in failed state'
                      expression: 'last(/Cisco NX-OS by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}])=8'
          master_item:
            key: sensor.psu.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.2.1.47.1.1.1.1.7
                - '0'
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: a6e4c433d5744c7d92cbb50bc1ad7dfe
          name: 'Temperature Discovery'
          type: DEPENDENT
          key: temperature.discovery
          delay: '0'
          description: |
            Discovery of ciscoEnvMonTemperatureTable (ciscoEnvMonTemperatureDescr), a table of ambient temperature status
            maintained by the environmental monitor.
          item_prototypes:
            - uuid: 83d6694aa7d8407295e0adaa401b658b
              name: '{#SNMPVALUE}: Temperature status'
              type: DEPENDENT
              key: 'sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}]'
              delay: '0'
              trends: '0'
              description: |
                MIB: CISCO-ENVMON-MIB
                The current state of the test point being instrumented.
              valuemap:
                name: 'CISCO-ENVMON-MIB::CiscoEnvMonState'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.9.9.91.1.1.1.1.5.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: sensor.temp.walk
              tags:
                - tag: component
                  value: temperature
            - uuid: 9f5113096a204842a3ccf52f757ac2b0
              name: '{#SNMPVALUE}: Temperature'
              type: DEPENDENT
              key: 'sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}]'
              delay: '0'
              value_type: FLOAT
              units: °C
              description: |
                MIB: CISCO-ENVMON-MIB
                The current measurement of the test point being instrumented.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.9.9.91.1.1.1.1.4.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: sensor.temp.walk
              tags:
                - tag: component
                  value: temperature
              trigger_prototypes:
                - uuid: fc6595590baa469da6c7710fa2699d64
                  expression: 'avg(/Cisco NX-OS by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"{#SNMPVALUE}"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'min(/Cisco NX-OS by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:"{#SNMPVALUE}"}+3'
                  name: 'Cisco IOS: {#SNMPVALUE}: Temperature is too low'
                  event_name: 'Cisco IOS: {#SNMPVALUE}: Temperature is too low: <{$TEMP_CRIT_LOW:"{#SNMPVALUE}"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          trigger_prototypes:
            - uuid: 2dc846a1c0c84bc1b0fc04e65c00a23a
              expression: |
                avg(/Cisco NX-OS by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"{#SNMPVALUE}"}
                or
                last(/Cisco NX-OS by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_CRIT_STATUS}
                or
                last(/Cisco NX-OS by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_DISASTER_STATUS}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: 'max(/Cisco NX-OS by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"{#SNMPVALUE}"}-3'
              name: 'Cisco IOS: {#SNMPVALUE}: Temperature is above critical threshold'
              event_name: 'Cisco IOS: {#SNMPVALUE}: Temperature is above critical threshold: >{$TEMP_CRIT:"{#SNMPVALUE}"}'
              opdata: 'Current value: {ITEM.LASTVALUE1}'
              priority: HIGH
              description: 'This trigger uses temperature sensor values as well as temperature sensor status if available'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
            - uuid: 5f6671bb6c3043ffb2990aeedf599bc3
              expression: |
                avg(/Cisco NX-OS by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_WARN:"{#SNMPVALUE}"}
                or
                last(/Cisco NX-OS by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_WARN_STATUS}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: 'max(/Cisco NX-OS by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)<{$TEMP_WARN:"{#SNMPVALUE}"}-3'
              name: 'Cisco IOS: {#SNMPVALUE}: Temperature is above warning threshold'
              event_name: 'Cisco IOS: {#SNMPVALUE}: Temperature is above warning threshold: >{$TEMP_WARN:"{#SNMPVALUE}"}'
              opdata: 'Current value: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'This trigger uses temperature sensor values as well as temperature sensor status if available'
              dependencies:
                - name: 'Cisco IOS: {#SNMPVALUE}: Temperature is above critical threshold'
                  expression: |
                    avg(/Cisco NX-OS by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"{#SNMPVALUE}"}
                    or
                    last(/Cisco NX-OS by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_CRIT_STATUS}
                    or
                    last(/Cisco NX-OS by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_DISASTER_STATUS}
                  recovery_expression: 'max(/Cisco NX-OS by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"{#SNMPVALUE}"}-3'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
          master_item:
            key: sensor.temp.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SENSOR_TYPE}'
                - 1.3.6.1.4.1.9.9.91.1.1.1.1.1
                - '0'
                - '{#SENSOR_SCALE}'
                - 1.3.6.1.4.1.9.9.91.1.1.1.1.2
                - '0'
                - '{#SNMPVALUE}'
                - 1.3.6.1.2.1.47.1.1.1.1.7
                - '0'
            - type: JAVASCRIPT
              parameters:
                - |
                  try {
                  	var sensors = JSON.parse(value);
                  } catch (e) {
                  	throw "Failed to parse JSON of temperature discovery.";
                  }
                  
                  var scales = { '9': 1, '8': 0.001, '7': 0.000001 };
                  var result = sensors.filter(function (sensor) {
                  	if (sensor['{#SENSOR_TYPE}'] !== '8' || typeof (scales[sensor['{#SENSOR_SCALE}']]) === 'undefined') {
                  		return false;
                  	}
                  	sensor['{#SENSOR_SCALE}'] = scales[sensor['{#SENSOR_SCALE}']];
                  	return true;
                  });
                  
                  return JSON.stringify(result);
      tags:
        - tag: class
          value: network
        - tag: target
          value: cisco
        - tag: target
          value: cisco-nx-os
      macros:
        - macro: '{$CPU.UTIL.CRIT}'
          value: '90'
        - macro: '{$FAN_CRIT_STATUS:"critical"}'
          value: '3'
        - macro: '{$FAN_CRIT_STATUS:"shutdown"}'
          value: '4'
        - macro: '{$FAN_WARN_STATUS:"notFunctioning"}'
          value: '6'
        - macro: '{$FAN_WARN_STATUS:"warning"}'
          value: '2'
        - 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}'
          value: '2'
          description: 'Warning threshold of error packet rate. Can be used with interface name as context.'
        - macro: '{$IF.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the interface utilization trigger.'
        - macro: '{$IFCONTROL}'
          value: '1'
          description: 'Link status trigger will be fired only for interfaces where the context macro equals "1".'
        - macro: '{$MEMORY.UTIL.MAX}'
          value: '90'
        - macro: '{$NET.IF.IFADMINSTATUS.MATCHES}'
          value: '^.*'
          description: 'Used in network interface discovery rule filters.'
        - macro: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
          value: ^2$
          description: 'Ignore `down(2)` administrative status'
        - macro: '{$NET.IF.IFALIAS.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
        - macro: '{$NET.IF.IFALIAS.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
        - macro: '{$NET.IF.IFDESCR.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
        - macro: '{$NET.IF.IFDESCR.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
        - macro: '{$NET.IF.IFNAME.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
        - macro: '{$NET.IF.IFNAME.NOT_MATCHES}'
          value: '(^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker[0-9]+|br-[a-z0-9]{12})'
          description: 'Filters out `loopbacks`, `nulls`, docker `veth` links and `docker0 bridge` by default.'
        - macro: '{$NET.IF.IFOPERSTATUS.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
        - macro: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
          value: ^6$
          description: 'Ignore `notPresent(6)`'
        - macro: '{$NET.IF.IFTYPE.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
        - macro: '{$NET.IF.IFTYPE.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
        - macro: '{$PSU_CRIT_STATUS:"critical"}'
          value: '3'
        - macro: '{$PSU_CRIT_STATUS:"shutdown"}'
          value: '4'
        - macro: '{$PSU_WARN_STATUS:"notFunctioning"}'
          value: '6'
        - macro: '{$PSU_WARN_STATUS:"warning"}'
          value: '2'
        - macro: '{$SNMP.TIMEOUT}'
          value: 15s
          description: 'Time interval for the SNMP availability trigger.'
        - macro: '{$SNMP_RETRIES}'
          value: '5'
          description: 'Increase SNMP retries for slow responders (BT)'
        - macro: '{$TEMP_CRIT}'
          value: '60'
        - macro: '{$TEMP_CRIT:"CPU"}'
          value: '75'
        - macro: '{$TEMP_CRIT_LOW}'
          value: '5'
        - macro: '{$TEMP_CRIT_STATUS}'
          value: '3'
        - macro: '{$TEMP_DISASTER_STATUS}'
          value: '4'
        - macro: '{$TEMP_WARN}'
          value: '50'
        - macro: '{$TEMP_WARN:"CPU"}'
          value: '70'
        - macro: '{$TEMP_WARN_STATUS}'
          value: '2'
      dashboards:
        - uuid: 83f22fb346b944cf8095d99b0199181f
          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: 'Cisco Nexus 9000 Series by SNMP_safe'
                        name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAA
      valuemaps:
        - uuid: b8a64f660bd84f3491c577940042f2e5
          name: 'CISCO-ENTITY-FRU-CONTROL-MIB::cefcFRUPowerOperStatus'
          mappings:
            - value: '1'
              newvalue: offEnvOther
            - value: '2'
              newvalue: 'on'
            - value: '3'
              newvalue: offAdmin
            - value: '4'
              newvalue: offDenied
            - value: '5'
              newvalue: offEnvPower
            - value: '6'
              newvalue: offEnvTemp
            - value: '7'
              newvalue: offEnvFan
            - value: '8'
              newvalue: failed
            - value: '9'
              newvalue: onButFanFail
            - value: '10'
              newvalue: offCooling
            - value: '11'
              newvalue: offConnectorRating
            - value: '12'
              newvalue: onButInlinePowerFail
        - uuid: 610b2528d547486c8f753546e3483a9c
          name: 'CISCO-ENVMON-MIB::CiscoEnvMonState'
          mappings:
            - value: '1'
              newvalue: normal
            - value: '2'
              newvalue: warning
            - value: '3'
              newvalue: critical
            - value: '4'
              newvalue: shutdown
            - value: '5'
              newvalue: notPresent
            - value: '6'
              newvalue: notFunctioning
        - uuid: c05703fc4e7349df89e9003ee2dcdc3d
          name: 'EtherLike-MIB::dot3StatsDuplexStatus'
          mappings:
            - value: '1'
              newvalue: unknown
            - value: '2'
              newvalue: halfDuplex
            - value: '3'
              newvalue: fullDuplex
        - uuid: ccd9683a25b04555a2b8c0fdc0c3bded
          name: 'Fan value mapping'
          mappings:
            - value: '1'
              newvalue: unknown
            - value: '2'
              newvalue: up
            - value: '3'
              newvalue: down
            - value: '4'
              newvalue: warning
        - uuid: d4e6372a3e7b4df88779fa11e173a9bc
          name: 'IF-MIB::ifOperStatus'
          mappings:
            - value: '1'
              newvalue: up
            - value: '2'
              newvalue: down
            - value: '4'
              newvalue: unknown
            - value: '5'
              newvalue: dormant
            - value: '6'
              newvalue: notPresent
            - value: '7'
              newvalue: lowerLayerDown
        - uuid: 965b287dd1654ae599953a16ebaf66df
          name: 'IF-MIB::ifType'
          mappings:
            - value: '1'
              newvalue: other
            - value: '2'
              newvalue: regular1822
            - value: '3'
              newvalue: hdh1822
            - value: '4'
              newvalue: ddnX25
            - value: '5'
              newvalue: rfc877x25
            - value: '6'
              newvalue: ethernetCsmacd
            - value: '7'
              newvalue: iso88023Csmacd
            - value: '8'
              newvalue: iso88024TokenBus
            - value: '9'
              newvalue: iso88025TokenRing
            - value: '10'
              newvalue: iso88026Man
            - value: '11'
              newvalue: starLan
            - value: '12'
              newvalue: proteon10Mbit
            - value: '13'
              newvalue: proteon80Mbit
            - value: '14'
              newvalue: hyperchannel
            - value: '15'
              newvalue: fddi
            - value: '16'
              newvalue: lapb
            - value: '17'
              newvalue: sdlc
            - value: '18'
              newvalue: ds1
            - value: '19'
              newvalue: e1
            - value: '20'
              newvalue: basicISDN
            - value: '21'
              newvalue: primaryISDN
            - value: '22'
              newvalue: propPointToPointSerial
            - value: '23'
              newvalue: ppp
            - value: '24'
              newvalue: softwareLoopback
            - value: '25'
              newvalue: eon
            - value: '26'
              newvalue: ethernet3Mbit
            - value: '27'
              newvalue: nsip
            - value: '28'
              newvalue: slip
            - value: '29'
              newvalue: ultra
            - value: '30'
              newvalue: ds3
            - value: '31'
              newvalue: sip
            - value: '32'
              newvalue: frameRelay
            - value: '33'
              newvalue: rs232
            - value: '34'
              newvalue: para
            - value: '35'
              newvalue: arcnet
            - value: '36'
              newvalue: arcnetPlus
            - value: '37'
              newvalue: atm
            - value: '38'
              newvalue: miox25
            - value: '39'
              newvalue: sonet
            - value: '40'
              newvalue: x25ple
            - value: '41'
              newvalue: iso88022llc
            - value: '42'
              newvalue: localTalk
            - value: '43'
              newvalue: smdsDxi
            - value: '44'
              newvalue: frameRelayService
            - value: '45'
              newvalue: v35
            - value: '46'
              newvalue: hssi
            - value: '47'
              newvalue: hippi
            - value: '48'
              newvalue: modem
            - value: '49'
              newvalue: aal5
            - value: '50'
              newvalue: sonetPath
            - value: '51'
              newvalue: sonetVT
            - value: '52'
              newvalue: smdsIcip
            - value: '53'
              newvalue: propVirtual
            - value: '54'
              newvalue: propMultiplexor
            - value: '55'
              newvalue: ieee80212
            - value: '56'
              newvalue: fibreChannel
            - value: '57'
              newvalue: hippiInterface
            - value: '58'
              newvalue: frameRelayInterconnect
            - value: '59'
              newvalue: aflane8023
            - value: '60'
              newvalue: aflane8025
            - value: '61'
              newvalue: cctEmul
            - value: '62'
              newvalue: fastEther
            - value: '63'
              newvalue: isdn
            - value: '64'
              newvalue: v11
            - value: '65'
              newvalue: v36
            - value: '66'
              newvalue: g703at64k
            - value: '67'
              newvalue: g703at2mb
            - value: '68'
              newvalue: qllc
            - value: '69'
              newvalue: fastEtherFX
            - value: '70'
              newvalue: channel
            - value: '71'
              newvalue: ieee80211
            - value: '72'
              newvalue: ibm370parChan
            - value: '73'
              newvalue: escon
            - value: '74'
              newvalue: dlsw
            - value: '75'
              newvalue: isdns
            - value: '76'
              newvalue: isdnu
            - value: '77'
              newvalue: lapd
            - value: '78'
              newvalue: ipSwitch
            - value: '79'
              newvalue: rsrb
            - value: '80'
              newvalue: atmLogical
            - value: '81'
              newvalue: ds0
            - value: '82'
              newvalue: ds0Bundle
            - value: '83'
              newvalue: bsc
            - value: '84'
              newvalue: async
            - value: '85'
              newvalue: cnr
            - value: '86'
              newvalue: iso88025Dtr
            - value: '87'
              newvalue: eplrs
            - value: '88'
              newvalue: arap
            - value: '89'
              newvalue: propCnls
            - value: '90'
              newvalue: hostPad
            - value: '91'
              newvalue: termPad
            - value: '92'
              newvalue: frameRelayMPI
            - value: '93'
              newvalue: x213
            - value: '94'
              newvalue: adsl
            - value: '95'
              newvalue: radsl
            - value: '96'
              newvalue: sdsl
            - value: '97'
              newvalue: vdsl
            - value: '98'
              newvalue: iso88025CRFPInt
            - value: '99'
              newvalue: myrinet
            - value: '100'
              newvalue: voiceEM
            - value: '101'
              newvalue: voiceFXO
            - value: '102'
              newvalue: voiceFXS
            - value: '103'
              newvalue: voiceEncap
            - value: '104'
              newvalue: voiceOverIp
            - value: '105'
              newvalue: atmDxi
            - value: '106'
              newvalue: atmFuni
            - value: '107'
              newvalue: atmIma
            - value: '108'
              newvalue: pppMultilinkBundle
            - value: '109'
              newvalue: ipOverCdlc
            - value: '110'
              newvalue: ipOverClaw
            - value: '111'
              newvalue: stackToStack
            - value: '112'
              newvalue: virtualIpAddress
            - value: '113'
              newvalue: mpc
            - value: '114'
              newvalue: ipOverAtm
            - value: '115'
              newvalue: iso88025Fiber
            - value: '116'
              newvalue: tdlc
            - value: '117'
              newvalue: gigabitEthernet
            - value: '118'
              newvalue: hdlc
            - value: '119'
              newvalue: lapf
            - value: '120'
              newvalue: v37
            - value: '121'
              newvalue: x25mlp
            - value: '122'
              newvalue: x25huntGroup
            - value: '123'
              newvalue: trasnpHdlc
            - value: '124'
              newvalue: interleave
            - value: '125'
              newvalue: fast
            - value: '126'
              newvalue: ip
            - value: '127'
              newvalue: docsCableMaclayer
            - value: '128'
              newvalue: docsCableDownstream
            - value: '129'
              newvalue: docsCableUpstream
            - value: '130'
              newvalue: a12MppSwitch
            - value: '131'
              newvalue: tunnel
            - value: '132'
              newvalue: coffee
            - value: '133'
              newvalue: ces
            - value: '134'
              newvalue: atmSubInterface
            - value: '135'
              newvalue: l2vlan
            - value: '136'
              newvalue: l3ipvlan
            - value: '137'
              newvalue: l3ipxvlan
            - value: '138'
              newvalue: digitalPowerline
            - value: '139'
              newvalue: mediaMailOverIp
            - value: '140'
              newvalue: dtm
            - value: '141'
              newvalue: dcn
            - value: '142'
              newvalue: ipForward
            - value: '143'
              newvalue: msdsl
            - value: '144'
              newvalue: ieee1394
            - value: '145'
              newvalue: if-gsn
            - value: '146'
              newvalue: dvbRccMacLayer
            - value: '147'
              newvalue: dvbRccDownstream
            - value: '148'
              newvalue: dvbRccUpstream
            - value: '149'
              newvalue: atmVirtual
            - value: '150'
              newvalue: mplsTunnel
            - value: '151'
              newvalue: srp
            - value: '152'
              newvalue: voiceOverAtm
            - value: '153'
              newvalue: voiceOverFrameRelay
            - value: '154'
              newvalue: idsl
            - value: '155'
              newvalue: compositeLink
            - value: '156'
              newvalue: ss7SigLink
            - value: '157'
              newvalue: propWirelessP2P
            - value: '158'
              newvalue: frForward
            - value: '159'
              newvalue: rfc1483
            - value: '160'
              newvalue: usb
            - value: '161'
              newvalue: ieee8023adLag
            - value: '162'
              newvalue: bgppolicyaccounting
            - value: '163'
              newvalue: frf16MfrBundle
            - value: '164'
              newvalue: h323Gatekeeper
            - value: '165'
              newvalue: h323Proxy
            - value: '166'
              newvalue: mpls
            - value: '167'
              newvalue: mfSigLink
            - value: '168'
              newvalue: hdsl2
            - value: '169'
              newvalue: shdsl
            - value: '170'
              newvalue: ds1FDL
            - value: '171'
              newvalue: pos
            - value: '172'
              newvalue: dvbAsiIn
            - value: '173'
              newvalue: dvbAsiOut
            - value: '174'
              newvalue: plc
            - value: '175'
              newvalue: nfas
            - value: '176'
              newvalue: tr008
            - value: '177'
              newvalue: gr303RDT
            - value: '178'
              newvalue: gr303IDT
            - value: '179'
              newvalue: isup
            - value: '180'
              newvalue: propDocsWirelessMaclayer
            - value: '181'
              newvalue: propDocsWirelessDownstream
            - value: '182'
              newvalue: propDocsWirelessUpstream
            - value: '183'
              newvalue: hiperlan2
            - value: '184'
              newvalue: propBWAp2Mp
            - value: '185'
              newvalue: sonetOverheadChannel
            - value: '186'
              newvalue: digitalWrapperOverheadChannel
            - value: '187'
              newvalue: aal2
            - value: '188'
              newvalue: radioMAC
            - value: '189'
              newvalue: atmRadio
            - value: '190'
              newvalue: imt
            - value: '191'
              newvalue: mvl
            - value: '192'
              newvalue: reachDSL
            - value: '193'
              newvalue: frDlciEndPt
            - value: '194'
              newvalue: atmVciEndPt
            - value: '195'
              newvalue: opticalChannel
            - value: '196'
              newvalue: opticalTransport
            - value: '197'
              newvalue: propAtm
            - value: '198'
              newvalue: voiceOverCable
            - value: '199'
              newvalue: infiniband
            - value: '200'
              newvalue: teLink
            - value: '201'
              newvalue: q2931
            - value: '202'
              newvalue: virtualTg
            - value: '203'
              newvalue: sipTg
            - value: '204'
              newvalue: sipSig
            - value: '205'
              newvalue: docsCableUpstreamChannel
            - value: '206'
              newvalue: econet
            - value: '207'
              newvalue: pon155
            - value: '208'
              newvalue: pon622
            - value: '209'
              newvalue: bridge
            - value: '210'
              newvalue: linegroup
            - value: '211'
              newvalue: voiceEMFGD
            - value: '212'
              newvalue: voiceFGDEANA
            - value: '213'
              newvalue: voiceDID
            - value: '214'
              newvalue: mpegTransport
            - value: '215'
              newvalue: sixToFour
            - value: '216'
              newvalue: gtp
            - value: '217'
              newvalue: pdnEtherLoop1
            - value: '218'
              newvalue: pdnEtherLoop2
            - value: '219'
              newvalue: opticalChannelGroup
            - value: '220'
              newvalue: homepna
            - value: '221'
              newvalue: gfp
            - value: '222'
              newvalue: ciscoISLvlan
            - value: '223'
              newvalue: actelisMetaLOOP
            - value: '224'
              newvalue: fcipLink
            - value: '225'
              newvalue: rpr
            - value: '226'
              newvalue: qam
            - value: '227'
              newvalue: lmp
            - value: '228'
              newvalue: cblVectaStar
            - value: '229'
              newvalue: docsCableMCmtsDownstream
            - value: '230'
              newvalue: adsl2
            - value: '231'
              newvalue: macSecControlledIF
            - value: '232'
              newvalue: macSecUncontrolledIF
            - value: '233'
              newvalue: aviciOpticalEther
            - value: '234'
              newvalue: atmbond
            - value: '235'
              newvalue: voiceFGDOS
            - value: '236'
              newvalue: mocaVersion1
            - value: '237'
              newvalue: ieee80216WMAN
            - value: '238'
              newvalue: adsl2plus
            - value: '239'
              newvalue: dvbRcsMacLayer
            - value: '240'
              newvalue: dvbTdm
            - value: '241'
              newvalue: dvbRcsTdma
            - value: '242'
              newvalue: x86Laps
            - value: '243'
              newvalue: wwanPP
            - value: '244'
              newvalue: wwanPP2
            - value: '245'
              newvalue: voiceEBS
            - value: '246'
              newvalue: ifPwType
            - value: '247'
              newvalue: ilan
            - value: '248'
              newvalue: pip
            - value: '249'
              newvalue: aluELP
            - value: '250'
              newvalue: gpon
            - value: '251'
              newvalue: vdsl2
            - value: '252'
              newvalue: capwapDot11Profile
            - value: '253'
              newvalue: capwapDot11Bss
            - value: '254'
              newvalue: capwapWtpVirtualRadio
            - value: '255'
              newvalue: bits
            - value: '256'
              newvalue: docsCableUpstreamRfPort
            - value: '257'
              newvalue: cableDownstreamRfPort
            - value: '258'
              newvalue: vmwareVirtualNic
            - value: '259'
              newvalue: ieee802154
            - value: '260'
              newvalue: otnOdu
            - value: '261'
              newvalue: otnOtu
            - value: '262'
              newvalue: ifVfiType
            - value: '263'
              newvalue: g9981
            - value: '264'
              newvalue: g9982
            - value: '265'
              newvalue: g9983
            - value: '266'
              newvalue: aluEpon
            - value: '267'
              newvalue: aluEponOnu
            - value: '268'
              newvalue: aluEponPhysicalUni
            - value: '269'
              newvalue: aluEponLogicalLink
            - value: '270'
              newvalue: aluGponOnu
            - value: '271'
              newvalue: aluGponPhysicalUni
            - value: '272'
              newvalue: vmwareNicTeam
            - value: '277'
              newvalue: docsOfdmDownstream
            - value: '278'
              newvalue: docsOfdmaUpstream
            - value: '279'
              newvalue: gfast
            - value: '280'
              newvalue: sdci
            - value: '281'
              newvalue: xboxWireless
            - value: '282'
              newvalue: fastdsl
            - value: '283'
              newvalue: docsCableScte55d1FwdOob
            - value: '284'
              newvalue: docsCableScte55d1RetOob
            - value: '285'
              newvalue: docsCableScte55d2DsOob
            - value: '286'
              newvalue: docsCableScte55d2UsOob
            - value: '287'
              newvalue: docsCableNdf
            - value: '288'
              newvalue: docsCableNdr
            - value: '289'
              newvalue: ptm
            - value: '290'
              newvalue: ghn
        - uuid: 6398af574614494aa0bbc982530d46e4
          name: 'Service state'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
        - uuid: d0d58bbdb1ce4687bd18a65bda805cb9
          name: zabbix.host.available
          mappings:
            - value: '0'
              newvalue: 'not available'
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: unknown
  triggers:
    - uuid: 4822c8ae1102435d98a63c39690ace30
      expression: '(last(/Cisco NX-OS by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/Cisco NX-OS by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/Cisco NX-OS by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/Cisco NX-OS by SNMP/system.net.uptime[sysUpTime.0])<10m)'
      name: 'Cisco IOS: Host has been restarted'
      event_name: 'Cisco IOS: {HOST.NAME} has been restarted (uptime < 10m)'
      priority: WARNING
      description: 'Uptime is less than 10 minutes.'
      manual_close: 'YES'
      dependencies:
        - name: 'Cisco IOS: No SNMP data collection'
          expression: 'max(/Cisco NX-OS by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
      tags:
        - tag: scope
          value: notice
