zabbix_export:
  version: '7.4'
  template_groups:
    - uuid: 36bff6c29af64692839d077febfc7079
      name: 'Templates/Network devices'
    - uuid: 846977d1dfed4968bc5f8bdb363285bc
      name: 'Templates/Operating systems'
  templates:
    - uuid: aa3ce9bd8c1d40a2b0f83f9e642e88ee
      template: 'Cisco IOS by SNMP'
      name: 'Cisco IOS by SNMP'
      description: |
        Template Cisco IOS Software releases 12.2(3.5) or later
        
        MIBs used:
        CISCO-MEMORY-POOL-MIB
        IF-MIB
        EtherLike-MIB
        HOST-RESOURCES-MIB
        SNMPv2-MIB
        CISCO-ENVMON-MIB
        CISCO-PROCESS-MIB
        ENTITY-MIB
        
        Known Issues:
        
          Description: no if(in|out)(Errors|Discards) are available for vlan ifType
          Version: IOS for example: 12.1(22)EA11, 15.4(3)M2
          Device: C2911, C7600
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      readme: |
        ## Overview
        
        ### Known Issues
        
        Description: no if(in|out)(Errors|Discards) are available for vlan ifType
        Version: IOS for example: 12.1(22)EA11, 15.4(3)M2
        Device: C2911, C7600
      vendor:
        name: Zabbix
        version: 7.4-1
      groups:
        - name: 'Templates/Network devices'
      items:
        - uuid: f0a3f0b82e32488aa22929fe035825cb
          name: 'ICMP ping'
          type: SIMPLE
          key: icmpping
          valuemap:
            name: 'Service state'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 77e52d690bc043e389ad8d705dbb86b9
              expression: 'max(/Cisco IOS 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: 0c081f94e6094ad29e1fbc2a3424bedb
          name: 'ICMP loss'
          type: SIMPLE
          key: icmppingloss
          value_type: FLOAT
          units: '%'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 62b3c0a2654f4372a1bad40a0fd2898d
              expression: 'min(/Cisco IOS by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Cisco IOS by SNMP/icmppingloss,5m)<100'
              name: 'Cisco IOS: High ICMP ping loss'
              opdata: 'Loss: {ITEM.LASTVALUE1}'
              priority: WARNING
              dependencies:
                - name: 'Cisco IOS: Unavailable by ICMP ping'
                  expression: 'max(/Cisco IOS by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: dab9ef1df04d403faa4910bf51559035
          name: 'ICMP response time'
          type: SIMPLE
          key: icmppingsec
          value_type: FLOAT
          units: s
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 1ba34b5e344147d5b27431906037bc04
              expression: 'avg(/Cisco IOS 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 IOS by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Cisco IOS by SNMP/icmppingloss,5m)<100'
                - name: 'Cisco IOS: Unavailable by ICMP ping'
                  expression: 'max(/Cisco IOS by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: a8734672a10d41c2ba7c1f00171bb93e
          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
          history: '0'
          value_type: TEXT
          description: 'Discovering interfaces from IF-MIB and EtherLike-MIB. Interfaces with `up(1)` Operational Status are discovered.'
          tags:
            - tag: component
              value: raw
        - uuid: 58168a9cd5464229a9cbb3fb0c978e85
          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
          history: '0'
          value_type: TEXT
          description: 'Discovering interfaces from IF-MIB.'
          tags:
            - tag: component
              value: raw
        - uuid: 7eb9bdaf14274e1a99c0ff2ac17f0723
          name: 'Cisco IOS: SNMP walk fans'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.9.9.13.1.4.1.2,1.3.6.1.4.1.9.9.13.1.4.1.3]'
          key: sensor.fans.walk
          history: '0'
          value_type: TEXT
          description: 'Discovering system fans.'
          tags:
            - tag: component
              value: raw
        - uuid: 0a44183c252e4160837cfd960f755097
          name: 'Cisco IOS: SNMP walk PSUs'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.9.9.13.1.5.1.2,1.3.6.1.4.1.9.9.13.1.5.1.3]'
          key: sensor.psu.walk
          history: '0'
          value_type: TEXT
          description: 'The table of power supply status maintained by the environmental monitor card.'
          tags:
            - tag: component
              value: raw
        - uuid: e64d32fe956f481eb6a3899f8c1e09d9
          name: 'Cisco IOS: SNMP walk temperature sensors'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.9.9.13.1.3.1.2,1.3.6.1.4.1.9.9.13.1.3.1.3,1.3.6.1.4.1.9.9.13.1.3.1.6]'
          key: sensor.temp.walk
          history: '0'
          value_type: TEXT
          description: 'Discovery of ciscoEnvMonTemperatureTable (ciscoEnvMonTemperatureDescr), a table of ambient temperature status maintained by the environmental monitor.'
          tags:
            - tag: component
              value: raw
        - uuid: 8684622dc8d446f0b17ba7687d47b09d
          name: 'SNMP traps (fallback)'
          type: SNMP_TRAP
          key: snmptrap.fallback
          value_type: LOG
          description: 'The item is used to collect all SNMP traps unmatched by other snmptrap items'
          logtimefmt: 'hh:mm:sszyyyy/MM/dd'
          tags:
            - tag: component
              value: network
        - uuid: 622767f4dbab49039c63990e4fc58eaa
          name: 'System contact details'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.4.0
          key: 'system.contact[sysContact.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.
          inventory_link: CONTACT
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 3208aa4fb7c14623bc5129018172e3b9
          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.5,1.3.6.1.4.1.9.9.109.1.1.1.1.8]'
          key: system.cpu.walk
          history: '0'
          value_type: TEXT
          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: ae8e0ecf937c4a9492fe67cc5cd07d6f
          name: 'System description'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.1.0
          key: 'system.descr[sysDescr.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            A textual description of the entity. This value should
            include the full name and version identification of the system's hardware type, software operating-system, and
            networking software.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: a8062a554b8d447f81f7b9ef3229c7e9
          name: 'Hardware model name'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.47.1.1.1.1.13.1
          key: system.hw.model
          delay: 1h
          value_type: CHAR
          description: 'MIB: ENTITY-MIB'
          inventory_link: MODEL
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
        - uuid: 223fd2fe9699419c824ae310f1c8a631
          name: 'Hardware serial number'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.47.1.1.1.1.11.1
          key: system.hw.serialnumber
          delay: 1h
          value_type: CHAR
          description: 'MIB: ENTITY-MIB'
          inventory_link: SERIALNO_A
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 7d1460eaf7ad46fd8a1b5df3c20051ba
              expression: 'last(/Cisco IOS by SNMP/system.hw.serialnumber,#1)<>last(/Cisco IOS by SNMP/system.hw.serialnumber,#2) and length(last(/Cisco IOS 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: 1c8c82e3502c46d9b7603812d02ce27b
          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
          description: |
            MIB: ENTITY-MIB
            Entity Serial Numbers Discovery.
          tags:
            - tag: component
              value: raw
        - uuid: f2173cd0262d4a60b5e134e00fed78e6
          name: 'Uptime (hardware)'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.25.1.1.0
          key: 'system.hw.uptime[hrSystemUptime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: HOST-RESOURCES-MIB
            The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.
          preprocessing:
            - type: CHECK_NOT_SUPPORTED
              parameters:
                - '-1'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: 361ca9979352405a9dfb9bc13e542a2f
          name: 'System location'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.6.0
          key: 'system.location[sysLocation.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.
          inventory_link: LOCATION
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 2ddace242ffe487a8641e035cf04dcdd
          name: 'System name'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.5.0
          key: system.name
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name.  If the name is unknown, the value is the zero-length string.
          inventory_link: NAME
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 2105744d4efd4a239c5b6ab615746a40
              expression: 'last(/Cisco IOS by SNMP/system.name,#1)<>last(/Cisco IOS by SNMP/system.name,#2) and length(last(/Cisco IOS 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: fe1dbb23a8794ce9ae3f6c37e63082f8
          name: 'Uptime (network)'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.3.0
          key: 'system.net.uptime[sysUpTime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: SNMPv2-MIB
            Time (in hundredths of a second) since the network management portion of the system was last re-initialized.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: 290d095f8fbc4cd1aa5ed3d304434f4b
          name: 'System object ID'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.2.0
          key: 'system.objectid[sysObjectID.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The vendor's authoritative identification of the network management subsystem contained in the entity.  This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box' is being managed.  For example, if vendor`Flintstones, Inc.' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 5fe7bc2d46a748d3ace7d1dd0de8127b
          name: 'Operating system'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.1.0
          key: 'system.sw.os[sysDescr.0]'
          delay: 1h
          value_type: CHAR
          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: 2d97173405594074bfe2cc6f3d0cae70
              expression: 'last(/Cisco IOS by SNMP/system.sw.os[sysDescr.0],#1)<>last(/Cisco IOS by SNMP/system.sw.os[sysDescr.0],#2) and length(last(/Cisco IOS 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 IOS by SNMP/system.name,#1)<>last(/Cisco IOS by SNMP/system.name,#2) and length(last(/Cisco IOS by SNMP/system.name))>0'
              tags:
                - tag: scope
                  value: notice
        - uuid: ed5f0ebd013644adbad71e8b93d481de
          name: 'Cisco IOS: SNMP walk memory'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.9.9.48.1.1.1.2,1.3.6.1.4.1.9.9.48.1.1.1.5,1.3.6.1.4.1.9.9.48.1.1.1.6]'
          key: vm.memory.walk
          history: '0'
          value_type: TEXT
          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: cf9bd75166704b2f93446ece0c2d0fab
          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: df7c9ed5d3164e73a792f82ecad6ba13
              expression: 'max(/Cisco IOS 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 IOS by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: f7404c15a9dc497b8e67ab014ca43890
          name: 'CPU Discovery'
          type: DEPENDENT
          key: cpu.discovery
          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: b124144899bd4149a6257440574d4341
              name: '#{#SNMPINDEX}: CPU utilization'
              type: DEPENDENT
              key: 'system.cpu.util[cpmCPUTotal5minRev.{#SNMPINDEX}]'
              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: 89b292f6748f49fa8b0f23f5378944b2
                  expression: 'min(/Cisco IOS by SNMP/system.cpu.util[cpmCPUTotal5minRev.{#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: e93fccb08b3a4150b986a54eaccbd1c5
              name: '#{#SNMPINDEX}: CPU utilization'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'Cisco IOS by SNMP'
                    key: 'system.cpu.util[cpmCPUTotal5minRev.{#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.5
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: e8c57e436eed4958a0a83c7afd6a07e3
          name: 'Entity Serial Numbers Discovery'
          type: DEPENDENT
          key: entity_sn.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#ENT_CLASS}'
                value: ^3$
              - macro: '{#ENT_SN}'
                value: .+
          item_prototypes:
            - uuid: e86b198ba7b7451482dfb8ab07553abf
              name: '{#ENT_NAME}: Hardware serial number'
              type: DEPENDENT
              key: 'system.hw.serialnumber[entPhysicalSerialNum.{#SNMPINDEX}]'
              value_type: CHAR
              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: e5477e6803974060ba3ce8a131d97d40
                  expression: 'last(/Cisco IOS by SNMP/system.hw.serialnumber[entPhysicalSerialNum.{#SNMPINDEX}],#1)<>last(/Cisco IOS by SNMP/system.hw.serialnumber[entPhysicalSerialNum.{#SNMPINDEX}],#2) and length(last(/Cisco IOS 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: 98eebfb8ed28460c8e5982af61f18931
          name: 'FAN Discovery'
          type: DEPENDENT
          key: fan.discovery
          description: 'The table of fan status maintained by the environmental monitor.'
          item_prototypes:
            - uuid: d7188ce8f18442d882c585ef044de2cf
              name: '{#SENSOR_INFO}: Fan status'
              type: DEPENDENT
              key: 'sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}]'
              trends: '0'
              description: 'MIB: CISCO-ENVMON-MIB'
              valuemap:
                name: 'CISCO-ENVMON-MIB::CiscoEnvMonState'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.9.9.13.1.4.1.3.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: sensor.fans.walk
              tags:
                - tag: component
                  value: fan
              trigger_prototypes:
                - uuid: e64b0790509c4a21b7ead959fa1b7951
                  expression: 'count(/Cisco IOS by SNMP/sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}],#1,"eq","{$FAN_CRIT_STATUS:\"critical\"}")=1 or count(/Cisco IOS 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: 33207a0c65e14a5d9355690c8d9d54e2
                  expression: 'count(/Cisco IOS by SNMP/sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}],#1,"eq","{$FAN_WARN_STATUS:\"warning\"}")=1 or count(/Cisco IOS 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 IOS by SNMP/sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}],#1,"eq","{$FAN_CRIT_STATUS:\"critical\"}")=1 or count(/Cisco IOS 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:
                - '{#SENSOR_INFO}'
                - 1.3.6.1.4.1.9.9.13.1.4.1.2
                - '0'
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: d7144482448b4bb5b4f59f18365ecb04
          name: 'Memory Discovery'
          type: DEPENDENT
          key: memory.discovery
          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: b05c256436e14f72a3dea21d48b98a9c
              name: '{#SNMPVALUE}: Free memory'
              type: DEPENDENT
              key: 'vm.memory.free[ciscoMemoryPoolFree.{#SNMPINDEX}]'
              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.48.1.1.1.6.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: vm.memory.walk
              tags:
                - tag: component
                  value: memory
            - uuid: 58e8eeb2ddf74c6e86e02845f0d38784
              name: '{#SNMPVALUE}: Used memory'
              type: DEPENDENT
              key: 'vm.memory.used[ciscoMemoryPoolUsed.{#SNMPINDEX}]'
              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.48.1.1.1.5.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: vm.memory.walk
              tags:
                - tag: component
                  value: memory
            - uuid: 5407d019461f45b895663de105d75298
              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: ee300a1f9f644bdbb545bd65d59d4837
                  expression: 'min(/Cisco IOS 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: 9b18855195cc45a8a84550544bc6d7e7
              name: '{#SNMPVALUE}: Memory utilization'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'Cisco IOS 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.48.1.1.1.2
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: b416fb001e46464f847578a50451164b
          name: 'Network interfaces discovery'
          type: DEPENDENT
          key: net.if.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.MATCHES}'
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.MATCHES}'
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.MATCHES}'
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.MATCHES}'
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.MATCHES}'
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.MATCHES}'
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovering interfaces from IF-MIB.'
          item_prototypes:
            - uuid: 6d4b70db5618436f8d5096098d94ad39
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded'
              type: DEPENDENT
              key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
              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
                - 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: 1cdd9e77a6f9420da700b903e2fc0966
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors'
              type: DEPENDENT
              key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
              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
                - 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: 22cb1c9d188c4274a4f9ac815832fc21
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits received'
              type: DEPENDENT
              key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]'
              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
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 75182ac83419420194cf34c4e5f92a62
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded'
              type: DEPENDENT
              key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
              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
                - 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: c31a98b3b9784cd699b5d0dadbc3dc4a
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors'
              type: DEPENDENT
              key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
              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
                - 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: 973dbf88a72d4f5897bb199b5d41941a
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits sent'
              type: DEPENDENT
              key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets transmitted out of the interface, including framing characters. This object is a 64-bit version of ifOutOctets.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
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: e24cccb1e89446268b30830ac01d59f8
              name: 'Interface {#IFNAME}({#IFALIAS}): Speed'
              type: DEPENDENT
              key: 'net.if.speed[ifHighSpeed.{#SNMPINDEX}]'
              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: 6ecd6a8ec5fa487c836adb69e72915e7
              name: 'Interface {#IFNAME}({#IFALIAS}): Operational status'
              type: DEPENDENT
              key: 'net.if.status[ifOperStatus.{#SNMPINDEX}]'
              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: 6bf13b6cac1b438bbfe384a746646597
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Cisco IOS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Cisco IOS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Cisco IOS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/Cisco IOS 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: AVERAGE
                  description: |
                    This trigger expression works as follows:
                    1. It can be triggered if the operations status is down.
                    2. `{$IFCONTROL:"{#IFNAME}"}=1` - a user can redefine 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: 51e3b46e009944d594fd4bdadeac83aa
              name: 'Interface {#IFNAME}({#IFALIAS}): Interface type'
              type: DEPENDENT
              key: 'net.if.type[ifType.{#SNMPINDEX}]'
              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: 3783d41e790f4d1e9ebb7340d82edc1f
              expression: |
                change(/Cisco IOS by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])<0 and last(/Cisco IOS by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
                and (
                last(/Cisco IOS by SNMP/net.if.type[ifType.{#SNMPINDEX}])=6 or
                last(/Cisco IOS by SNMP/net.if.type[ifType.{#SNMPINDEX}])=7 or
                last(/Cisco IOS by SNMP/net.if.type[ifType.{#SNMPINDEX}])=11 or
                last(/Cisco IOS by SNMP/net.if.type[ifType.{#SNMPINDEX}])=62 or
                last(/Cisco IOS by SNMP/net.if.type[ifType.{#SNMPINDEX}])=69 or
                last(/Cisco IOS by SNMP/net.if.type[ifType.{#SNMPINDEX}])=117
                )
                and
                (last(/Cisco IOS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2)
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                (change(/Cisco IOS by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and last(/Cisco IOS by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}],#2)>0) or
                (last(/Cisco IOS 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 IOS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Cisco IOS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Cisco IOS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/Cisco IOS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 17a07d8b87c04874bfbf12009e1da65f
              expression: |
                (avg(/Cisco IOS by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Cisco IOS by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) or
                avg(/Cisco IOS by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Cisco IOS by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])) and
                last(/Cisco IOS by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                avg(/Cisco IOS by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Cisco IOS by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) and
                avg(/Cisco IOS by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Cisco IOS 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 IOS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Cisco IOS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Cisco IOS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/Cisco IOS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 0c1c6f8fc17849a68a12813389da6373
              expression: |
                min(/Cisco IOS by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
                or min(/Cisco IOS by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                max(/Cisco IOS by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
                and max(/Cisco IOS 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 IOS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Cisco IOS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Cisco IOS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/Cisco IOS by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
          graph_prototypes:
            - uuid: 171ff5fe2b1543aa869ab56f800b52a5
              name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'Cisco IOS by SNMP'
                    key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]'
                - sortorder: '1'
                  drawtype: BOLD_LINE
                  color: F63100
                  item:
                    host: 'Cisco IOS by SNMP'
                    key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  yaxisside: RIGHT
                  item:
                    host: 'Cisco IOS by SNMP'
                    key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  yaxisside: RIGHT
                  item:
                    host: 'Cisco IOS by SNMP'
                    key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
                - sortorder: '4'
                  color: FC6EA3
                  yaxisside: RIGHT
                  item:
                    host: 'Cisco IOS by SNMP'
                    key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
                - sortorder: '5'
                  color: 6C59DC
                  yaxisside: RIGHT
                  item:
                    host: 'Cisco IOS by SNMP'
                    key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
          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: d79d3a6026bd4d1f877fc164a3eb7f84
          name: 'EtherLike-MIB Discovery'
          type: DEPENDENT
          key: net.if.duplex.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFOPERSTATUS}'
                value: '1'
              - macro: '{#SNMPVALUE}'
                value: (2|3)
              - macro: '{#SNMPVALUE}'
                operator: EXISTS
          description: 'Discovering interfaces from IF-MIB and EtherLike-MIB. Interfaces with `up(1)` Operational Status are discovered.'
          item_prototypes:
            - uuid: 338e81aa226b41dd956bc1f9d10c0a87
              name: 'Interface {#IFNAME}({#IFALIAS}): Duplex status'
              type: DEPENDENT
              key: 'net.if.duplex[dot3StatsDuplexStatus.{#SNMPINDEX}]'
              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: 251a80d2f6824e33b8edfca94e0f335d
                  expression: 'last(/Cisco IOS 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: 4ffaea3ee50c424baa1080586d92ba2f
          name: 'PSU Discovery'
          type: DEPENDENT
          key: psu.discovery
          description: 'The table of power supply status maintained by the environmental monitor card.'
          item_prototypes:
            - uuid: 22ac9f6f30eb4f4b9d009db4adba7f29
              name: '{#SENSOR_INFO}: Power supply status'
              type: DEPENDENT
              key: 'sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}]'
              trends: '0'
              description: 'MIB: CISCO-ENVMON-MIB'
              valuemap:
                name: 'CISCO-ENVMON-MIB::CiscoEnvMonState'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.9.9.13.1.5.1.3.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: sensor.psu.walk
              tags:
                - tag: component
                  value: power
              trigger_prototypes:
                - uuid: 3068fc8f0b0749d4b76d97d7f500e36d
                  expression: 'count(/Cisco IOS by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_CRIT_STATUS:\"critical\"}")=1 or count(/Cisco IOS by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_CRIT_STATUS:\"shutdown\"}")=1'
                  name: 'Cisco IOS: {#SENSOR_INFO}: Power supply is in critical state'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: 'Please check the power supply unit for errors'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 194444afb5d143a0a0734120e26066e4
                  expression: 'count(/Cisco IOS by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_WARN_STATUS:\"warning\"}")=1 or count(/Cisco IOS by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_WARN_STATUS:\"notFunctioning\"}")=1'
                  name: 'Cisco IOS: {#SENSOR_INFO}: Power supply is in warning state'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'Please check the power supply unit for errors'
                  dependencies:
                    - name: 'Cisco IOS: {#SENSOR_INFO}: Power supply is in critical state'
                      expression: 'count(/Cisco IOS by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_CRIT_STATUS:\"critical\"}")=1 or count(/Cisco IOS by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_CRIT_STATUS:\"shutdown\"}")=1'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          master_item:
            key: sensor.psu.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SENSOR_INFO}'
                - 1.3.6.1.4.1.9.9.13.1.5.1.2
                - '0'
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 2751c1ff3f334145971aa400440631fe
          name: 'Temperature Discovery'
          type: DEPENDENT
          key: temperature.discovery
          description: |
            Discovery of ciscoEnvMonTemperatureTable (ciscoEnvMonTemperatureDescr), a table of ambient temperature status
            maintained by the environmental monitor.
          item_prototypes:
            - uuid: 7985d9ceeaeb4a4f8e39e02730e91d29
              name: '{#SNMPVALUE}: Temperature status'
              type: DEPENDENT
              key: 'sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}]'
              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.13.1.3.1.6.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: sensor.temp.walk
              tags:
                - tag: component
                  value: temperature
            - uuid: c1fb8e8099ed496a9af8d3e36d6d3c8b
              name: '{#SNMPVALUE}: Temperature'
              type: DEPENDENT
              key: 'sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}]'
              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.13.1.3.1.3.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: sensor.temp.walk
              tags:
                - tag: component
                  value: temperature
              trigger_prototypes:
                - uuid: 64888770ef6a44089593e78d4d2c528d
                  expression: 'avg(/Cisco IOS by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"{#SNMPVALUE}"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'min(/Cisco IOS 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: 95f562a5b2fb4e17b091eaed07c77d4a
              expression: |
                avg(/Cisco IOS by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"{#SNMPVALUE}"}
                or
                last(/Cisco IOS by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_CRIT_STATUS}
                or
                last(/Cisco IOS by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_DISASTER_STATUS}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: 'max(/Cisco IOS 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: 5809893fb23a452ebad327c595322619
              expression: |
                avg(/Cisco IOS by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_WARN:"{#SNMPVALUE}"}
                or
                last(/Cisco IOS by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_WARN_STATUS}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: 'max(/Cisco IOS 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 IOS by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"{#SNMPVALUE}"}
                    or
                    last(/Cisco IOS by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_CRIT_STATUS}
                    or
                    last(/Cisco IOS by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_DISASTER_STATUS}
                  recovery_expression: 'max(/Cisco IOS 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:
                - '{#SNMPVALUE}'
                - 1.3.6.1.4.1.9.9.13.1.3.1.2
                - '0'
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
      tags:
        - tag: class
          value: network
        - tag: target
          value: cisco
        - tag: target
          value: cisco-ios
      macros:
        - macro: '{$CPU.UTIL.CRIT}'
          value: '90'
          config:
            type: TEXT
            priority: '2'
            section_name: Thresholds
            label: 'Threshold for CPU utilization (critical)'
            description: 'In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$FAN_CRIT_STATUS:"critical"}'
          value: '3'
          config:
            type: TEXT
            priority: '16'
            section_name: Other
            label: 'Value of FAN status for state of `critical`'
        - macro: '{$FAN_CRIT_STATUS:"shutdown"}'
          value: '4'
          config:
            type: TEXT
            priority: '17'
            section_name: Other
            label: 'Value of FAN status for state of `shutdown`'
        - macro: '{$FAN_WARN_STATUS:"notFunctioning"}'
          value: '6'
          config:
            type: TEXT
            priority: '18'
            section_name: Other
            label: 'Value of FAN status for state of `notFunctioning`'
        - macro: '{$FAN_WARN_STATUS:"warning"}'
          value: '2'
          config:
            type: TEXT
            priority: '15'
            section_name: Other
            label: 'Value of FAN status for state of `warning`'
        - macro: '{$ICMP_LOSS_WARN}'
          value: '20'
          description: 'Warning threshold of ICMP packet loss in %.'
          config:
            type: TEXT
            priority: '20'
            section_name: Thresholds
            label: 'Threshold of ICMP packet loss'
            description: 'Warning threshold of ICMP packet loss in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_RESPONSE_TIME_WARN}'
          value: '0.15'
          description: 'Warning threshold of the average ICMP response time in seconds.'
          config:
            type: TEXT
            priority: '21'
            section_name: Thresholds
            label: 'Threshold of the average ICMP response'
            description: 'Warning threshold of the average ICMP response time in seconds. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.ERRORS.WARN}'
          value: '2'
          description: 'Warning threshold of error packet rate. Can be used with interface name as context.'
          config:
            type: TEXT
            priority: '24'
            section_name: Thresholds
            label: 'Threshold of error packet rate'
            description: 'Warning threshold of error packet rate. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the interface utilization trigger.'
          config:
            type: TEXT
            priority: '23'
            section_name: Thresholds
            label: 'The threshold in the interface utilization'
            description: 'Used as a threshold in the interface utilization trigger. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IFCONTROL}'
          value: '1'
          description: 'Link status trigger will be fired only for interfaces where the context macro equals "1".'
          config:
            type: CHECKBOX
            priority: '22'
            label: 'Interfaces control'
            description: 'Fire a trigger when the interface operational status changes to "Link down".'
            options:
              - checked: '1'
                unchecked: '0'
        - macro: '{$MEMORY.UTIL.MAX}'
          value: '90'
          config:
            type: TEXT
            priority: '1'
            section_name: Thresholds
            label: 'Threshold for memory utilization'
            description: 'In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$NET.IF.IFADMINSTATUS.MATCHES}'
          value: '^.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '29'
            section_name: Filters
            label: 'Filter network interface by adminstatus'
            description: 'Regex string to include discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
          value: ^2$
          description: 'Ignore `down(2)` administrative status'
          config:
            type: TEXT
            priority: '30'
            section_name: Filters
            label: 'Filter network interface by adminstatus (exclude)'
            description: 'Regex string to exclude discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFALIAS.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '33'
            section_name: Filters
            label: 'Filter network interface by alias'
            description: 'Regex string to include discovered interface by alias.'
        - macro: '{$NET.IF.IFALIAS.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '34'
            section_name: Filters
            label: 'Filter network interface by alias (exclude)'
            description: 'Regex string to exclude discovered interface by alias.'
        - macro: '{$NET.IF.IFDESCR.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '31'
            section_name: Filters
            label: 'Filter network interface by description'
            description: 'Regex string to include discovered interface by description.'
        - macro: '{$NET.IF.IFDESCR.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '32'
            section_name: Filters
            label: 'Filter network interface by description (exclude)'
            description: 'Regex string to exclude discovered interface by description.'
        - macro: '{$NET.IF.IFNAME.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '25'
            section_name: Filters
            label: 'Filter for network interface by name'
            description: 'Regex string to include discovered interface by name.'
        - 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.'
          config:
            type: TEXT
            priority: '26'
            section_name: Filters
            label: 'Filter for network interface by name (exclude)'
            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.'
          config:
            type: TEXT
            priority: '27'
            section_name: Filters
            label: 'Filter network interface by status'
            description: 'Regex string to include discovered interface by status.'
        - macro: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
          value: ^6$
          description: 'Ignore `notPresent(6)`'
          config:
            type: TEXT
            priority: '28'
            section_name: Filters
            label: 'Filter network interface by status (exclude)'
            description: 'Regex string to exclude discovered interface by status.'
        - macro: '{$NET.IF.IFTYPE.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '35'
            section_name: Filters
            label: 'Filter network interface by type'
            description: 'Regex string to include discovered interface by type.'
        - macro: '{$NET.IF.IFTYPE.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '36'
            section_name: Filters
            label: 'Filter network interface by type (exclude)'
            description: 'Regex string to exclude discovered interface by type.'
        - macro: '{$PSU_CRIT_STATUS:"critical"}'
          value: '3'
          config:
            type: TEXT
            priority: '12'
            section_name: Other
            label: 'Value of PSU status for state of `critical`'
        - macro: '{$PSU_CRIT_STATUS:"shutdown"}'
          value: '4'
          config:
            type: TEXT
            priority: '13'
            section_name: Other
            label: 'Value of PSU status for state of `shutdown`'
        - macro: '{$PSU_WARN_STATUS:"notFunctioning"}'
          value: '6'
          config:
            type: TEXT
            priority: '14'
            section_name: Other
            label: 'Value of PSU status for state of `notFunctioning`'
        - macro: '{$PSU_WARN_STATUS:"warning"}'
          value: '2'
          config:
            type: TEXT
            priority: '11'
            section_name: Other
            label: 'Value of PSU status for state of `warning`'
        - macro: '{$SNMP.TIMEOUT}'
          value: 5m
          description: 'Time interval for the SNMP availability trigger.'
          config:
            type: TEXT
            priority: '19'
            section_name: Other
            label: 'Time interval'
            description: 'Time interval for the SNMP availability trigger.'
        - macro: '{$TEMP_CRIT}'
          value: '60'
          config:
            type: TEXT
            priority: '5'
            section_name: Thresholds
            label: 'Threshold for temperature (critical)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT:"CPU"}'
          value: '75'
          config:
            type: TEXT
            priority: '7'
            section_name: Thresholds
            label: 'Threshold for CPU temperature (critical)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT_LOW}'
          value: '5'
          config:
            type: TEXT
            priority: '3'
            section_name: Thresholds
            label: 'Threshold for low temperature (critical)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT_STATUS}'
          value: '3'
          config:
            type: TEXT
            priority: '9'
            section_name: Other
            label: 'Value for state of `Temperature is critical`'
        - macro: '{$TEMP_DISASTER_STATUS}'
          value: '4'
          config:
            type: TEXT
            priority: '10'
            section_name: Other
            label: 'Value for state of `Temperature is disaster`'
        - macro: '{$TEMP_WARN}'
          value: '50'
          config:
            type: TEXT
            priority: '4'
            section_name: Thresholds
            label: 'Threshold for temperature (warning)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_WARN:"CPU"}'
          value: '70'
          config:
            type: TEXT
            priority: '6'
            section_name: Thresholds
            label: 'Threshold for CPU temperature (warning)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_WARN_STATUS}'
          value: '2'
          config:
            type: TEXT
            priority: '8'
            section_name: Other
            label: 'Value for state of `Temperature is warning`'
      dashboards:
        - uuid: 9b817c34b74842c8a21827e5d84c4692
          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 IOS by SNMP'
                        name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAA
      valuemaps:
        - uuid: fb67666002524322b1b9ae9ed1611be5
          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: 36ad5e7621ff466ca89e641c4410c6a1
          name: 'EtherLike-MIB::dot3StatsDuplexStatus'
          mappings:
            - value: '1'
              newvalue: unknown
            - value: '2'
              newvalue: halfDuplex
            - value: '3'
              newvalue: fullDuplex
        - uuid: 6c1104306b5447328703076cb76b64a9
          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: 80d8685de68c49d8beb0f96f58baa1ce
          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: 521e28cd45a1421d89b1588e5392b50a
          name: 'Service state'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
        - uuid: cc333fe140bc45388e5508237b42e1ad
          name: zabbix.host.available
          mappings:
            - value: '0'
              newvalue: 'not available'
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: unknown
    - uuid: 1bb42fbdb9054645a62ff81f14ba3b99
      template: 'Cisco IOS prior to 12.0_3_T by SNMP'
      name: 'Cisco IOS prior to 12.0_3_T by SNMP'
      description: |
        Cisco IOS Software releases prior to 12.0(3)T
        
        MIBs used:
        HOST-RESOURCES-MIB
        SNMPv2-MIB
        OLD-CISCO-CPU-MIB
        CISCO-ENVMON-MIB
        CISCO-MEMORY-POOL-MIB
        ENTITY-MIB
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      vendor:
        name: Zabbix
        version: 7.4-1
      groups:
        - name: 'Templates/Network devices'
      items:
        - uuid: bf6d81068770410a929c127d8e7d76c1
          name: 'ICMP ping'
          type: SIMPLE
          key: icmpping
          valuemap:
            name: 'Service state'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: fd317d3e8d3d45bf97322b8578f30c04
              expression: 'max(/Cisco IOS prior to 12.0_3_T 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: 2af7b5f79fc44d7d992b0bf6277c12bb
          name: 'ICMP loss'
          type: SIMPLE
          key: icmppingloss
          value_type: FLOAT
          units: '%'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 3576c96601ef40abbeedbde11768141a
              expression: 'min(/Cisco IOS prior to 12.0_3_T by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Cisco IOS prior to 12.0_3_T by SNMP/icmppingloss,5m)<100'
              name: 'Cisco IOS: High ICMP ping loss'
              opdata: 'Loss: {ITEM.LASTVALUE1}'
              priority: WARNING
              dependencies:
                - name: 'Cisco IOS: Unavailable by ICMP ping'
                  expression: 'max(/Cisco IOS prior to 12.0_3_T by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: 1afa1e8ca21c430598845806bbf0e7a2
          name: 'ICMP response time'
          type: SIMPLE
          key: icmppingsec
          value_type: FLOAT
          units: s
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 2941d30058b14d52bd9a723889c8be26
              expression: 'avg(/Cisco IOS prior to 12.0_3_T 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 IOS prior to 12.0_3_T by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Cisco IOS prior to 12.0_3_T by SNMP/icmppingloss,5m)<100'
                - name: 'Cisco IOS: Unavailable by ICMP ping'
                  expression: 'max(/Cisco IOS prior to 12.0_3_T by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: c5cabdb91f004235b481de453db637c6
          name: 'Cisco IOS: SNMP walk fans'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.9.9.13.1.4.1.2,1.3.6.1.4.1.9.9.13.1.4.1.3]'
          key: sensor.fans.walk
          history: '0'
          value_type: TEXT
          description: 'Discovering system fans.'
          tags:
            - tag: component
              value: raw
        - uuid: cdb1b03725624ea18071a197b7e7f21e
          name: 'Cisco IOS: SNMP walk PSUs'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.9.9.13.1.5.1.2,1.3.6.1.4.1.9.9.13.1.5.1.3]'
          key: sensor.psu.walk
          history: '0'
          value_type: TEXT
          description: 'The table of power supply status maintained by the environmental monitor card.'
          tags:
            - tag: component
              value: raw
        - uuid: 9620c1de761246e1806fda680ede7bba
          name: 'Cisco IOS: SNMP walk temperature sensors'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.9.9.13.1.3.1.2,1.3.6.1.4.1.9.9.13.1.3.1.3,1.3.6.1.4.1.9.9.13.1.3.1.6]'
          key: sensor.temp.walk
          history: '0'
          value_type: TEXT
          description: 'Discovery of ciscoEnvMonTemperatureTable (ciscoEnvMonTemperatureDescr), a table of ambient temperature status maintained by the environmental monitor.'
          tags:
            - tag: component
              value: raw
        - uuid: 53eb0288c9e54490942cedd4ce5f376e
          name: 'SNMP traps (fallback)'
          type: SNMP_TRAP
          key: snmptrap.fallback
          value_type: LOG
          description: 'The item is used to collect all SNMP traps unmatched by other snmptrap items'
          logtimefmt: 'hh:mm:sszyyyy/MM/dd'
          tags:
            - tag: component
              value: network
        - uuid: bba5be8b3fa54bfbb354b7a2c20fd353
          name: 'System contact details'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.4.0
          key: 'system.contact[sysContact.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.
          inventory_link: CONTACT
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 693b0c779f574d869f47b44c4b3ecd58
          name: 'CPU utilization'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.4.1.9.2.1.58
          key: 'system.cpu.util[avgBusy5]'
          delay: 5m
          value_type: FLOAT
          units: '%'
          description: |
            MIB: OLD-CISCO-CPU-MIB
            5 minute exponentially-decayed moving average of the CPU busy percentage.
            Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15215-collect-cpu-util-snmp.html
          tags:
            - tag: component
              value: cpu
          triggers:
            - uuid: 74773fc279864e7daf89cffe9cb2067c
              expression: 'min(/Cisco IOS prior to 12.0_3_T by SNMP/system.cpu.util[avgBusy5],5m)>{$CPU.UTIL.CRIT}'
              name: 'Cisco IOS: High CPU utilization'
              event_name: 'Cisco IOS: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)'
              opdata: 'Current utilization: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'The CPU utilization is too high. The system might be slow to respond.'
              tags:
                - tag: scope
                  value: performance
        - uuid: 495b26e876a04819a02cf22eaba04e0b
          name: 'System description'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.1.0
          key: 'system.descr[sysDescr.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            A textual description of the entity. This value should
            include the full name and version identification of the system's hardware type, software operating-system, and
            networking software.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: b5121a382d0245f0906bba4530a82ac4
          name: 'Hardware model name'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.47.1.1.1.1.13.1
          key: system.hw.model
          delay: 1h
          value_type: CHAR
          description: 'MIB: ENTITY-MIB'
          inventory_link: MODEL
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
        - uuid: 5934a35b54464f66ab19152ca393b882
          name: 'Hardware serial number'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.47.1.1.1.1.11.1
          key: system.hw.serialnumber
          delay: 1h
          value_type: CHAR
          description: 'MIB: ENTITY-MIB'
          inventory_link: SERIALNO_A
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: d53c0d22a67544cf8a2fcd2c8de4d4eb
              expression: 'last(/Cisco IOS prior to 12.0_3_T by SNMP/system.hw.serialnumber,#1)<>last(/Cisco IOS prior to 12.0_3_T by SNMP/system.hw.serialnumber,#2) and length(last(/Cisco IOS prior to 12.0_3_T 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: 3b92777596e2442991618e5feb47567c
          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
          description: |
            MIB: ENTITY-MIB
            Entity Serial Numbers Discovery.
          tags:
            - tag: component
              value: raw
        - uuid: 732ccfd809b44d7fa923c54e6577851d
          name: 'Uptime (hardware)'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.25.1.1.0
          key: 'system.hw.uptime[hrSystemUptime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: HOST-RESOURCES-MIB
            The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.
          preprocessing:
            - type: CHECK_NOT_SUPPORTED
              parameters:
                - '-1'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: 30df666e80bd4875ac761306781061da
          name: 'System location'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.6.0
          key: 'system.location[sysLocation.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.
          inventory_link: LOCATION
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 2e55e75a7baa4195b012e750bac90dcb
          name: 'System name'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.5.0
          key: system.name
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name.  If the name is unknown, the value is the zero-length string.
          inventory_link: NAME
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 33b42b1aa448408fa3fb5aadf7375cf8
              expression: 'last(/Cisco IOS prior to 12.0_3_T by SNMP/system.name,#1)<>last(/Cisco IOS prior to 12.0_3_T by SNMP/system.name,#2) and length(last(/Cisco IOS prior to 12.0_3_T 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: 7ecd28b73c0f43a98c3a58467b1cbdc7
          name: 'Uptime (network)'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.3.0
          key: 'system.net.uptime[sysUpTime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: SNMPv2-MIB
            Time (in hundredths of a second) since the network management portion of the system was last re-initialized.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: cc6e5a6e4f604b639815d9397264c6af
          name: 'System object ID'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.2.0
          key: 'system.objectid[sysObjectID.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The vendor's authoritative identification of the network management subsystem contained in the entity.  This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box' is being managed.  For example, if vendor`Flintstones, Inc.' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 70ef7ce7561640b7bc6b5d30235c0ecc
          name: 'Operating system'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.1.0
          key: 'system.sw.os[sysDescr.0]'
          delay: 1h
          value_type: CHAR
          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: abe57415ff574b878a2ce2a318be86ee
              expression: 'last(/Cisco IOS prior to 12.0_3_T by SNMP/system.sw.os[sysDescr.0],#1)<>last(/Cisco IOS prior to 12.0_3_T by SNMP/system.sw.os[sysDescr.0],#2) and length(last(/Cisco IOS prior to 12.0_3_T 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 IOS prior to 12.0_3_T by SNMP/system.name,#1)<>last(/Cisco IOS prior to 12.0_3_T by SNMP/system.name,#2) and length(last(/Cisco IOS prior to 12.0_3_T by SNMP/system.name))>0'
              tags:
                - tag: scope
                  value: notice
        - uuid: 011212452fb0421aa913ceee4f59d17b
          name: 'Cisco IOS: SNMP walk memory'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.9.9.48.1.1.1.2,1.3.6.1.4.1.9.9.48.1.1.1.5,1.3.6.1.4.1.9.9.48.1.1.1.6]'
          key: vm.memory.walk
          history: '0'
          value_type: TEXT
          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: 5a156e9ca10c49bbb87cf3de1b686cff
          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: 86d8603903504287b07a25530c8eda2b
              expression: 'max(/Cisco IOS prior to 12.0_3_T 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 IOS prior to 12.0_3_T by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: fbeef9c16d9d45b7a5c50f530a697f76
          name: 'Entity Serial Numbers Discovery'
          type: DEPENDENT
          key: entity_sn.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#ENT_CLASS}'
                value: ^3$
              - macro: '{#ENT_SN}'
                value: .+
          item_prototypes:
            - uuid: 1993495d289d407e85c24f4986819ab8
              name: '{#ENT_NAME}: Hardware serial number'
              type: DEPENDENT
              key: 'system.hw.serialnumber[entPhysicalSerialNum.{#SNMPINDEX}]'
              value_type: CHAR
              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: e8c328ad70a146219a8ae62f101cfc00
                  expression: 'last(/Cisco IOS prior to 12.0_3_T by SNMP/system.hw.serialnumber[entPhysicalSerialNum.{#SNMPINDEX}],#1)<>last(/Cisco IOS prior to 12.0_3_T by SNMP/system.hw.serialnumber[entPhysicalSerialNum.{#SNMPINDEX}],#2) and length(last(/Cisco IOS prior to 12.0_3_T 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: 109cd000cd044e4096bf98dbf57b72d1
          name: 'FAN Discovery'
          type: DEPENDENT
          key: fan.discovery
          description: 'The table of fan status maintained by the environmental monitor.'
          item_prototypes:
            - uuid: 7008cccccf2647918bce95bb0a6193df
              name: '{#SENSOR_INFO}: Fan status'
              type: DEPENDENT
              key: 'sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}]'
              trends: '0'
              description: 'MIB: CISCO-ENVMON-MIB'
              valuemap:
                name: 'CISCO-ENVMON-MIB::CiscoEnvMonState'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.9.9.13.1.4.1.3.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: sensor.fans.walk
              tags:
                - tag: component
                  value: fan
              trigger_prototypes:
                - uuid: ddd7015dd3204514beea29edc45c3cd4
                  expression: 'count(/Cisco IOS prior to 12.0_3_T by SNMP/sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}],#1,"eq","{$FAN_CRIT_STATUS:\"critical\"}")=1 or count(/Cisco IOS prior to 12.0_3_T 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: 4eb7ea3405d74740a12095a07d91d48f
                  expression: 'count(/Cisco IOS prior to 12.0_3_T by SNMP/sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}],#1,"eq","{$FAN_WARN_STATUS:\"warning\"}")=1 or count(/Cisco IOS prior to 12.0_3_T 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 IOS prior to 12.0_3_T by SNMP/sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}],#1,"eq","{$FAN_CRIT_STATUS:\"critical\"}")=1 or count(/Cisco IOS prior to 12.0_3_T 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:
                - '{#SENSOR_INFO}'
                - 1.3.6.1.4.1.9.9.13.1.4.1.2
                - '0'
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 727adcf658d141ff9e45744107a58c38
          name: 'Memory Discovery'
          type: DEPENDENT
          key: memory.discovery
          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: e0df9d6e31384da4af18ab191e467814
              name: '{#SNMPVALUE}: Free memory'
              type: DEPENDENT
              key: 'vm.memory.free[ciscoMemoryPoolFree.{#SNMPINDEX}]'
              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.48.1.1.1.6.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: vm.memory.walk
              tags:
                - tag: component
                  value: memory
            - uuid: 25471f4acc4348bf978792fcfaff6acc
              name: '{#SNMPVALUE}: Used memory'
              type: DEPENDENT
              key: 'vm.memory.used[ciscoMemoryPoolUsed.{#SNMPINDEX}]'
              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.48.1.1.1.5.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: vm.memory.walk
              tags:
                - tag: component
                  value: memory
            - uuid: 9a03c1b1c6ae42e5ab1886c172b2e3ac
              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: 8793ba7767cc415a80a6a206aaf01f11
                  expression: 'min(/Cisco IOS prior to 12.0_3_T 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: dd0520d162fe4230900d33472944677f
              name: '{#SNMPVALUE}: Memory utilization'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'Cisco IOS prior to 12.0_3_T 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.48.1.1.1.2
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 5e67e9c84ac54dea866893207a42d3e3
          name: 'PSU Discovery'
          type: DEPENDENT
          key: psu.discovery
          description: 'The table of power supply status maintained by the environmental monitor card.'
          item_prototypes:
            - uuid: d05d99a68e3540d09d64b8bab5d63004
              name: '{#SENSOR_INFO}: Power supply status'
              type: DEPENDENT
              key: 'sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}]'
              trends: '0'
              description: 'MIB: CISCO-ENVMON-MIB'
              valuemap:
                name: 'CISCO-ENVMON-MIB::CiscoEnvMonState'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.9.9.13.1.5.1.3.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: sensor.psu.walk
              tags:
                - tag: component
                  value: power
              trigger_prototypes:
                - uuid: fc4b6f155d3646c3bb8b27d35c18604b
                  expression: 'count(/Cisco IOS prior to 12.0_3_T by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_CRIT_STATUS:\"critical\"}")=1 or count(/Cisco IOS prior to 12.0_3_T by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_CRIT_STATUS:\"shutdown\"}")=1'
                  name: 'Cisco IOS: {#SENSOR_INFO}: Power supply is in critical state'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: 'Please check the power supply unit for errors'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 58e9514d75f84c989b052cfd76ceed4a
                  expression: 'count(/Cisco IOS prior to 12.0_3_T by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_WARN_STATUS:\"warning\"}")=1 or count(/Cisco IOS prior to 12.0_3_T by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_WARN_STATUS:\"notFunctioning\"}")=1'
                  name: 'Cisco IOS: {#SENSOR_INFO}: Power supply is in warning state'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'Please check the power supply unit for errors'
                  dependencies:
                    - name: 'Cisco IOS: {#SENSOR_INFO}: Power supply is in critical state'
                      expression: 'count(/Cisco IOS prior to 12.0_3_T by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_CRIT_STATUS:\"critical\"}")=1 or count(/Cisco IOS prior to 12.0_3_T by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_CRIT_STATUS:\"shutdown\"}")=1'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          master_item:
            key: sensor.psu.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SENSOR_INFO}'
                - 1.3.6.1.4.1.9.9.13.1.5.1.2
                - '0'
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 73d10f48886443248f7d2d9167fcfee5
          name: 'Temperature Discovery'
          type: DEPENDENT
          key: temperature.discovery
          description: |
            Discovery of ciscoEnvMonTemperatureTable (ciscoEnvMonTemperatureDescr), a table of ambient temperature status
            maintained by the environmental monitor.
          item_prototypes:
            - uuid: a12075ae5b834eeeb742fed6f7afc39d
              name: '{#SNMPVALUE}: Temperature status'
              type: DEPENDENT
              key: 'sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}]'
              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.13.1.3.1.6.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: sensor.temp.walk
              tags:
                - tag: component
                  value: temperature
            - uuid: ea0d56dd49104257ba6c14ce3bdb753a
              name: '{#SNMPVALUE}: Temperature'
              type: DEPENDENT
              key: 'sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}]'
              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.13.1.3.1.3.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: sensor.temp.walk
              tags:
                - tag: component
                  value: temperature
              trigger_prototypes:
                - uuid: 716dee103c9f4e9da5f83d6cc338617d
                  expression: 'avg(/Cisco IOS prior to 12.0_3_T by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"{#SNMPVALUE}"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'min(/Cisco IOS prior to 12.0_3_T 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: 82fa9473dc7d49d4a3a230ef6238cd2c
              expression: |
                avg(/Cisco IOS prior to 12.0_3_T by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"{#SNMPVALUE}"}
                or
                last(/Cisco IOS prior to 12.0_3_T by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_CRIT_STATUS}
                or
                last(/Cisco IOS prior to 12.0_3_T by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_DISASTER_STATUS}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: 'max(/Cisco IOS prior to 12.0_3_T 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: a0199088767f43c0990f5ac8793267b1
              expression: |
                avg(/Cisco IOS prior to 12.0_3_T by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_WARN:"{#SNMPVALUE}"}
                or
                last(/Cisco IOS prior to 12.0_3_T by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_WARN_STATUS}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: 'max(/Cisco IOS prior to 12.0_3_T 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 IOS prior to 12.0_3_T by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"{#SNMPVALUE}"}
                    or
                    last(/Cisco IOS prior to 12.0_3_T by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_CRIT_STATUS}
                    or
                    last(/Cisco IOS prior to 12.0_3_T by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_DISASTER_STATUS}
                  recovery_expression: 'max(/Cisco IOS prior to 12.0_3_T 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:
                - '{#SNMPVALUE}'
                - 1.3.6.1.4.1.9.9.13.1.3.1.2
                - '0'
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
      tags:
        - tag: class
          value: network
        - tag: target
          value: cisco
        - tag: target
          value: cisco-prior
        - tag: target
          value: cisco-prior-12.0-3-t
      macros:
        - macro: '{$CPU.UTIL.CRIT}'
          value: '90'
          config:
            type: TEXT
            priority: '2'
            section_name: Thresholds
            label: 'Threshold for CPU utilization (critical)'
            description: 'In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$FAN_CRIT_STATUS:"critical"}'
          value: '3'
          config:
            type: TEXT
            priority: '16'
            section_name: Other
            label: 'Value of FAN status for state of `critical`'
        - macro: '{$FAN_CRIT_STATUS:"shutdown"}'
          value: '4'
          config:
            type: TEXT
            priority: '17'
            section_name: Other
            label: 'Value of FAN status for state of `shutdown`'
        - macro: '{$FAN_WARN_STATUS:"notFunctioning"}'
          value: '6'
          config:
            type: TEXT
            priority: '18'
            section_name: Other
            label: 'Value of FAN status for state of `notFunctioning`'
        - macro: '{$FAN_WARN_STATUS:"warning"}'
          value: '2'
          config:
            type: TEXT
            priority: '15'
            section_name: Other
            label: 'Value of FAN status for state of `warning`'
        - macro: '{$ICMP_LOSS_WARN}'
          value: '20'
          description: 'Warning threshold of ICMP packet loss in %.'
          config:
            type: TEXT
            priority: '20'
            section_name: Thresholds
            label: 'Threshold of ICMP packet loss'
            description: 'Warning threshold of ICMP packet loss in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_RESPONSE_TIME_WARN}'
          value: '0.15'
          description: 'Warning threshold of the average ICMP response time in seconds.'
          config:
            type: TEXT
            priority: '21'
            section_name: Thresholds
            label: 'Threshold of the average ICMP response'
            description: 'Warning threshold of the average ICMP response time in seconds. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$MEMORY.UTIL.MAX}'
          value: '90'
          config:
            type: TEXT
            priority: '1'
            section_name: Thresholds
            label: 'Threshold for memory utilization'
            description: 'In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$PSU_CRIT_STATUS:"critical"}'
          value: '3'
          config:
            type: TEXT
            priority: '12'
            section_name: Other
            label: 'Value of PSU status for state of `critical`'
        - macro: '{$PSU_CRIT_STATUS:"shutdown"}'
          value: '4'
          config:
            type: TEXT
            priority: '13'
            section_name: Other
            label: 'Value of PSU status for state of `shutdown`'
        - macro: '{$PSU_WARN_STATUS:"notFunctioning"}'
          value: '6'
          config:
            type: TEXT
            priority: '14'
            section_name: Other
            label: 'Value of PSU status for state of `notFunctioning`'
        - macro: '{$PSU_WARN_STATUS:"warning"}'
          value: '2'
          config:
            type: TEXT
            priority: '11'
            section_name: Other
            label: 'Value of PSU status for state of `warning`'
        - macro: '{$SNMP.TIMEOUT}'
          value: 5m
          description: 'Time interval for the SNMP availability trigger.'
          config:
            type: TEXT
            priority: '19'
            section_name: Other
            label: 'Time interval'
            description: 'Time interval for the SNMP availability trigger.'
        - macro: '{$TEMP_CRIT}'
          value: '60'
          config:
            type: TEXT
            priority: '5'
            section_name: Thresholds
            label: 'Threshold for temperature (critical)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT:"CPU"}'
          value: '75'
          config:
            type: TEXT
            priority: '7'
            section_name: Thresholds
            label: 'Threshold for CPU temperature (critical)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT_LOW}'
          value: '5'
          config:
            type: TEXT
            priority: '3'
            section_name: Thresholds
            label: 'Threshold for low temperature (critical)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT_STATUS}'
          value: '3'
          config:
            type: TEXT
            priority: '9'
            section_name: Other
            label: 'Value for state of `Temperature is critical`'
        - macro: '{$TEMP_DISASTER_STATUS}'
          value: '4'
          config:
            type: TEXT
            priority: '10'
            section_name: Other
            label: 'Value for state of `Temperature is disaster`'
        - macro: '{$TEMP_WARN}'
          value: '50'
          config:
            type: TEXT
            priority: '4'
            section_name: Thresholds
            label: 'Threshold for temperature (warning)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_WARN:"CPU"}'
          value: '70'
          config:
            type: TEXT
            priority: '6'
            section_name: Thresholds
            label: 'Threshold for CPU temperature (warning)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_WARN_STATUS}'
          value: '2'
          config:
            type: TEXT
            priority: '8'
            section_name: Other
            label: 'Value for state of `Temperature is warning`'
      valuemaps:
        - uuid: 0e5588b6aa714283b436031ff8ebc93a
          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: 9fc9d3c2eb254de996d9c4a61ba58671
          name: 'Service state'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
        - uuid: bb13061dd5b542f9b0f5921e75866679
          name: zabbix.host.available
          mappings:
            - value: '0'
              newvalue: 'not available'
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: unknown
    - uuid: 40c233aaa3424fd29dc378022ff3461d
      template: 'Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP'
      name: 'Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP'
      description: |
        Cisco IOS Software releases later to 12.0(3)T and prior to 12.2(3.5)
        
        MIBs used:
        CISCO-MEMORY-POOL-MIB
        IF-MIB
        HOST-RESOURCES-MIB
        SNMPv2-MIB
        CISCO-ENVMON-MIB
        CISCO-PROCESS-MIB
        ENTITY-MIB
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      vendor:
        name: Zabbix
        version: 7.4-1
      groups:
        - name: 'Templates/Network devices'
      items:
        - uuid: a94e2b40f0e14bdfb70e66127f8d946b
          name: 'ICMP ping'
          type: SIMPLE
          key: icmpping
          valuemap:
            name: 'Service state'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: f6fae61d08644d5fa3929f526aee34e4
              expression: 'max(/Cisco IOS versions 12.0_3_T-12.2_3.5 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: 39baf182f6724813a951b25f6ff5aab4
          name: 'ICMP loss'
          type: SIMPLE
          key: icmppingloss
          value_type: FLOAT
          units: '%'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 5c7eae9701be4661a34bbcdb99c094fe
              expression: 'min(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/icmppingloss,5m)<100'
              name: 'Cisco IOS: High ICMP ping loss'
              opdata: 'Loss: {ITEM.LASTVALUE1}'
              priority: WARNING
              dependencies:
                - name: 'Cisco IOS: Unavailable by ICMP ping'
                  expression: 'max(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: 85748657f67e45189256e7704c6e7a9c
          name: 'ICMP response time'
          type: SIMPLE
          key: icmppingsec
          value_type: FLOAT
          units: s
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 9aebe4a1cfa34c5d92178abc8a6ce06e
              expression: 'avg(/Cisco IOS versions 12.0_3_T-12.2_3.5 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 IOS versions 12.0_3_T-12.2_3.5 by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/icmppingloss,5m)<100'
                - name: 'Cisco IOS: Unavailable by ICMP ping'
                  expression: 'max(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: cb44245cd4224bbdaa8c5546ad483848
          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
          history: '0'
          value_type: TEXT
          description: 'Discovering interfaces from IF-MIB.'
          tags:
            - tag: component
              value: raw
        - uuid: fa5166db7ce14744817cf098c4be46f7
          name: 'Cisco IOS: SNMP walk fans'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.9.9.13.1.4.1.2,1.3.6.1.4.1.9.9.13.1.4.1.3]'
          key: sensor.fans.walk
          history: '0'
          value_type: TEXT
          description: 'Discovering system fans.'
          tags:
            - tag: component
              value: raw
        - uuid: 2c7987c8fb2748978fd9f3f84b5c96d5
          name: 'Cisco IOS: SNMP walk PSUs'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.9.9.13.1.5.1.2,1.3.6.1.4.1.9.9.13.1.5.1.3]'
          key: sensor.psu.walk
          history: '0'
          value_type: TEXT
          description: 'The table of power supply status maintained by the environmental monitor card.'
          tags:
            - tag: component
              value: raw
        - uuid: 7568839f76854edca01234fb707e1558
          name: 'Cisco IOS: SNMP walk temperature sensors'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.9.9.13.1.3.1.2,1.3.6.1.4.1.9.9.13.1.3.1.3,1.3.6.1.4.1.9.9.13.1.3.1.6]'
          key: sensor.temp.walk
          history: '0'
          value_type: TEXT
          description: 'Discovery of ciscoEnvMonTemperatureTable (ciscoEnvMonTemperatureDescr), a table of ambient temperature status maintained by the environmental monitor.'
          tags:
            - tag: component
              value: raw
        - uuid: 0f50837172ad475d9d5a27c95be19ab2
          name: 'SNMP traps (fallback)'
          type: SNMP_TRAP
          key: snmptrap.fallback
          value_type: LOG
          description: 'The item is used to collect all SNMP traps unmatched by other snmptrap items'
          logtimefmt: 'hh:mm:sszyyyy/MM/dd'
          tags:
            - tag: component
              value: network
        - uuid: 22406c415a0a4f6bbd9d44707631f42c
          name: 'System contact details'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.4.0
          key: 'system.contact[sysContact.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.
          inventory_link: CONTACT
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: d188b4d086734f438c3752bb3d9b1971
          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.5]'
          key: system.cpu.walk
          history: '0'
          value_type: TEXT
          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: 5a37d2e4f308475c932a6bb856d0ffb4
          name: 'System description'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.1.0
          key: 'system.descr[sysDescr.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            A textual description of the entity. This value should
            include the full name and version identification of the system's hardware type, software operating-system, and
            networking software.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 12b69d0a3b844906a950bcedcbb8b9b8
          name: 'Hardware model name'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.47.1.1.1.1.13.1
          key: system.hw.model
          delay: 1h
          value_type: CHAR
          description: 'MIB: ENTITY-MIB'
          inventory_link: MODEL
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
        - uuid: 991021da67c84f96a76154078c45f3be
          name: 'Hardware serial number'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.47.1.1.1.1.11.1
          key: system.hw.serialnumber
          delay: 1h
          value_type: CHAR
          description: 'MIB: ENTITY-MIB'
          inventory_link: SERIALNO_A
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 78723249679b4a288861f4ad8621fd77
              expression: 'last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/system.hw.serialnumber,#1)<>last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/system.hw.serialnumber,#2) and length(last(/Cisco IOS versions 12.0_3_T-12.2_3.5 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: 79968a2e878c45c290f79902e9e1cf37
          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
          description: |
            MIB: ENTITY-MIB
            Entity Serial Numbers Discovery.
          tags:
            - tag: component
              value: raw
        - uuid: 927d85dbb82f4b9a9edf4fb6194e7427
          name: 'Uptime (hardware)'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.25.1.1.0
          key: 'system.hw.uptime[hrSystemUptime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: HOST-RESOURCES-MIB
            The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.
          preprocessing:
            - type: CHECK_NOT_SUPPORTED
              parameters:
                - '-1'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: d8ed796e88f3478ea72d95ddcc68f9ed
          name: 'System location'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.6.0
          key: 'system.location[sysLocation.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.
          inventory_link: LOCATION
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: a26d3babf5674a5e9d9afff94518e6c6
          name: 'System name'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.5.0
          key: system.name
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name.  If the name is unknown, the value is the zero-length string.
          inventory_link: NAME
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 3e09d5d308e449a4974393650b33e64d
              expression: 'last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/system.name,#1)<>last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/system.name,#2) and length(last(/Cisco IOS versions 12.0_3_T-12.2_3.5 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: 182fd7bfd7b74331b9f3cf8f4a7646cb
          name: 'Uptime (network)'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.3.0
          key: 'system.net.uptime[sysUpTime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: SNMPv2-MIB
            Time (in hundredths of a second) since the network management portion of the system was last re-initialized.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: da41d408448d4b1aa323e0046ff97598
          name: 'System object ID'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.2.0
          key: 'system.objectid[sysObjectID.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The vendor's authoritative identification of the network management subsystem contained in the entity.  This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box' is being managed.  For example, if vendor`Flintstones, Inc.' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: cf4af497970a415aa45aa66b2ba48115
          name: 'Operating system'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.1.0
          key: 'system.sw.os[sysDescr.0]'
          delay: 1h
          value_type: CHAR
          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: df85813bb6af4accab8d5191cd452329
              expression: 'last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/system.sw.os[sysDescr.0],#1)<>last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/system.sw.os[sysDescr.0],#2) and length(last(/Cisco IOS versions 12.0_3_T-12.2_3.5 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 IOS versions 12.0_3_T-12.2_3.5 by SNMP/system.name,#1)<>last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/system.name,#2) and length(last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/system.name))>0'
              tags:
                - tag: scope
                  value: notice
        - uuid: fe26641865204720a592be13d4793c99
          name: 'Cisco IOS: SNMP walk memory'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.9.9.48.1.1.1.2,1.3.6.1.4.1.9.9.48.1.1.1.5,1.3.6.1.4.1.9.9.48.1.1.1.6]'
          key: vm.memory.walk
          history: '0'
          value_type: TEXT
          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: 92fa54c5c28b4244b0d22c9041064d15
          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: 778749b260bb45c3a926d6bb49c07257
              expression: 'max(/Cisco IOS versions 12.0_3_T-12.2_3.5 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 IOS versions 12.0_3_T-12.2_3.5 by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: 1d8d76707b1049cabfda668257c257b6
          name: 'CPU Discovery'
          type: DEPENDENT
          key: cpu.discovery
          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: 2f6285386ed54cd99d7aaf41e6f3e891
              name: '{#SNMPVALUE}: CPU utilization'
              type: DEPENDENT
              key: 'system.cpu.util[cpmCPUTotal5min.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: CISCO-PROCESS-MIB
                The overall CPU busy percentage in the last 5 minute
                period. This object deprecates the avgBusy5 object from
                the OLD-CISCO-SYSTEM-MIB. This object is deprecated
                by cpmCPUTotal5minRev which has the changed range
                of value (0..100).
                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.5.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 5m
              master_item:
                key: system.cpu.walk
              tags:
                - tag: component
                  value: cpu
              trigger_prototypes:
                - uuid: b964834d4f6549c7ae0f0c0c2646dfbc
                  expression: 'min(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/system.cpu.util[cpmCPUTotal5min.{#SNMPINDEX}],5m)>{$CPU.UTIL.CRIT}'
                  name: 'Cisco IOS: {#SNMPVALUE}: High CPU utilization'
                  event_name: 'Cisco IOS: {#SNMPVALUE}: 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: 9e61506351cf4f16be21dcbed8875293
              name: '{#SNMPVALUE}: CPU utilization'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP'
                    key: 'system.cpu.util[cpmCPUTotal5min.{#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.5
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: afafbf551dc242e8a85dbb12ba1aa067
          name: 'Entity Serial Numbers Discovery'
          type: DEPENDENT
          key: entity_sn.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#ENT_CLASS}'
                value: ^3$
              - macro: '{#ENT_SN}'
                value: .+
          item_prototypes:
            - uuid: 88f4929957f5485f974bdc1bafde68d7
              name: '{#ENT_NAME}: Hardware serial number'
              type: DEPENDENT
              key: 'system.hw.serialnumber[entPhysicalSerialNum.{#SNMPINDEX}]'
              value_type: CHAR
              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: 75ee6ab1f0c84946a4f4d6e87007ec25
                  expression: 'last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/system.hw.serialnumber[entPhysicalSerialNum.{#SNMPINDEX}],#1)<>last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/system.hw.serialnumber[entPhysicalSerialNum.{#SNMPINDEX}],#2) and length(last(/Cisco IOS versions 12.0_3_T-12.2_3.5 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: 0906581023f54a0b95102288e8ed4714
          name: 'FAN Discovery'
          type: DEPENDENT
          key: fan.discovery
          description: 'The table of fan status maintained by the environmental monitor.'
          item_prototypes:
            - uuid: b1e82af988c14dce81fcbd549fe4ece6
              name: '{#SENSOR_INFO}: Fan status'
              type: DEPENDENT
              key: 'sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}]'
              trends: '0'
              description: 'MIB: CISCO-ENVMON-MIB'
              valuemap:
                name: 'CISCO-ENVMON-MIB::CiscoEnvMonState'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.9.9.13.1.4.1.3.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: sensor.fans.walk
              tags:
                - tag: component
                  value: fan
              trigger_prototypes:
                - uuid: 907502bbdeee45bbbfb84d43c2dc4f20
                  expression: 'count(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}],#1,"eq","{$FAN_CRIT_STATUS:\"critical\"}")=1 or count(/Cisco IOS versions 12.0_3_T-12.2_3.5 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: 4b2a4eb4cb2a43758048cc05d63f37a4
                  expression: 'count(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}],#1,"eq","{$FAN_WARN_STATUS:\"warning\"}")=1 or count(/Cisco IOS versions 12.0_3_T-12.2_3.5 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 IOS versions 12.0_3_T-12.2_3.5 by SNMP/sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}],#1,"eq","{$FAN_CRIT_STATUS:\"critical\"}")=1 or count(/Cisco IOS versions 12.0_3_T-12.2_3.5 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:
                - '{#SENSOR_INFO}'
                - 1.3.6.1.4.1.9.9.13.1.4.1.2
                - '0'
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 4831ae0d8acc47e7bb9c3a4a94678472
          name: 'Memory Discovery'
          type: DEPENDENT
          key: memory.discovery
          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: e9876af72ead4cc7814f8c54801de7ee
              name: '{#SNMPVALUE}: Free memory'
              type: DEPENDENT
              key: 'vm.memory.free[ciscoMemoryPoolFree.{#SNMPINDEX}]'
              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.48.1.1.1.6.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: vm.memory.walk
              tags:
                - tag: component
                  value: memory
            - uuid: 260d3d59256040fd808d5d4c6a549d07
              name: '{#SNMPVALUE}: Used memory'
              type: DEPENDENT
              key: 'vm.memory.used[ciscoMemoryPoolUsed.{#SNMPINDEX}]'
              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.48.1.1.1.5.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: vm.memory.walk
              tags:
                - tag: component
                  value: memory
            - uuid: fb17d61634254c108d98ea28f5c5fb54
              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: 0f8d70ef5e704483a49d7b635e74dfc6
                  expression: 'min(/Cisco IOS versions 12.0_3_T-12.2_3.5 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: bf9a1faae91243b18133486b0421314b
              name: '{#SNMPVALUE}: Memory utilization'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'Cisco IOS versions 12.0_3_T-12.2_3.5 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.48.1.1.1.2
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 328da4bee6ea49aa8809cdbb74744263
          name: 'Network interfaces discovery'
          type: DEPENDENT
          key: net.if.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.MATCHES}'
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.MATCHES}'
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.MATCHES}'
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.MATCHES}'
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.MATCHES}'
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.MATCHES}'
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovering interfaces from IF-MIB.'
          item_prototypes:
            - uuid: db98684d85c644f28190544d534c1b09
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded'
              type: DEPENDENT
              key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
              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
                - 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: a2c7793712e549cbad6e37da30754b58
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors'
              type: DEPENDENT
              key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
              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
                - 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: a77450c8292a483b86e72156af6e7ec7
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits received'
              type: DEPENDENT
              key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]'
              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
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 33e86cf0c2374d0d932a8e3c9b6ebf1a
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded'
              type: DEPENDENT
              key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
              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
                - 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: 6960110871dd40f89f344ab90cdb03f9
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors'
              type: DEPENDENT
              key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
              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
                - 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: fe427d3bbef7420880906cc52c07c706
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits sent'
              type: DEPENDENT
              key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets transmitted out of the interface, including framing characters. This object is a 64-bit version of ifOutOctets.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
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: c03404b9c68749b3bef5de34a8815cce
              name: 'Interface {#IFNAME}({#IFALIAS}): Speed'
              type: DEPENDENT
              key: 'net.if.speed[ifHighSpeed.{#SNMPINDEX}]'
              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: ec072a91a34244d5ba434f592e9cb72d
              name: 'Interface {#IFNAME}({#IFALIAS}): Operational status'
              type: DEPENDENT
              key: 'net.if.status[ifOperStatus.{#SNMPINDEX}]'
              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: c99f0efcc30749e79cce0efe2fdd574f
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/Cisco IOS versions 12.0_3_T-12.2_3.5 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: AVERAGE
                  description: |
                    This trigger expression works as follows:
                    1. It can be triggered if the operations status is down.
                    2. `{$IFCONTROL:"{#IFNAME}"}=1` - a user can redefine 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: 6dec04a0c0fc453ebc103e28daea731d
              name: 'Interface {#IFNAME}({#IFALIAS}): Interface type'
              type: DEPENDENT
              key: 'net.if.type[ifType.{#SNMPINDEX}]'
              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: 60809b6c94d74e34b5f29525d77c75b5
              expression: |
                change(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])<0 and last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
                and (
                last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.type[ifType.{#SNMPINDEX}])=6 or
                last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.type[ifType.{#SNMPINDEX}])=7 or
                last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.type[ifType.{#SNMPINDEX}])=11 or
                last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.type[ifType.{#SNMPINDEX}])=62 or
                last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.type[ifType.{#SNMPINDEX}])=69 or
                last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.type[ifType.{#SNMPINDEX}])=117
                )
                and
                (last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2)
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                (change(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}],#2)>0) or
                (last(/Cisco IOS versions 12.0_3_T-12.2_3.5 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 IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 21d475be7fa24ba2b946e4ec31371df5
              expression: |
                (avg(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) or
                avg(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])) and
                last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                avg(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) and
                avg(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Cisco IOS versions 12.0_3_T-12.2_3.5 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 IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 5a2bc4c9bf344948a52ce256daa1258e
              expression: |
                min(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
                or min(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                max(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
                and max(/Cisco IOS versions 12.0_3_T-12.2_3.5 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 IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
          graph_prototypes:
            - uuid: fc6dd0ab86e7496d9b43103c13ba6a65
              name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP'
                    key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]'
                - sortorder: '1'
                  drawtype: BOLD_LINE
                  color: F63100
                  item:
                    host: 'Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP'
                    key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  yaxisside: RIGHT
                  item:
                    host: 'Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP'
                    key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  yaxisside: RIGHT
                  item:
                    host: 'Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP'
                    key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
                - sortorder: '4'
                  color: FC6EA3
                  yaxisside: RIGHT
                  item:
                    host: 'Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP'
                    key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
                - sortorder: '5'
                  color: 6C59DC
                  yaxisside: RIGHT
                  item:
                    host: 'Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP'
                    key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
          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: 09264b1af69a4a4595ba2e4539106d6f
          name: 'PSU Discovery'
          type: DEPENDENT
          key: psu.discovery
          description: 'The table of power supply status maintained by the environmental monitor card.'
          item_prototypes:
            - uuid: 86973dc8030e463fb51b075e161ae8a3
              name: '{#SENSOR_INFO}: Power supply status'
              type: DEPENDENT
              key: 'sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}]'
              trends: '0'
              description: 'MIB: CISCO-ENVMON-MIB'
              valuemap:
                name: 'CISCO-ENVMON-MIB::CiscoEnvMonState'
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.9.9.13.1.5.1.3.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: sensor.psu.walk
              tags:
                - tag: component
                  value: power
              trigger_prototypes:
                - uuid: 7c5269ac98e847f28da8d3d97e52a28e
                  expression: 'count(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_CRIT_STATUS:\"critical\"}")=1 or count(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_CRIT_STATUS:\"shutdown\"}")=1'
                  name: 'Cisco IOS: {#SENSOR_INFO}: Power supply is in critical state'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: 'Please check the power supply unit for errors'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 616059e289694181aea6a076ecb093c1
                  expression: 'count(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_WARN_STATUS:\"warning\"}")=1 or count(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_WARN_STATUS:\"notFunctioning\"}")=1'
                  name: 'Cisco IOS: {#SENSOR_INFO}: Power supply is in warning state'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'Please check the power supply unit for errors'
                  dependencies:
                    - name: 'Cisco IOS: {#SENSOR_INFO}: Power supply is in critical state'
                      expression: 'count(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_CRIT_STATUS:\"critical\"}")=1 or count(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}],#1,"eq","{$PSU_CRIT_STATUS:\"shutdown\"}")=1'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          master_item:
            key: sensor.psu.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SENSOR_INFO}'
                - 1.3.6.1.4.1.9.9.13.1.5.1.2
                - '0'
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: eb482b3a03b74dc494632be0728f953b
          name: 'Temperature Discovery'
          type: DEPENDENT
          key: temperature.discovery
          description: |
            Discovery of ciscoEnvMonTemperatureTable (ciscoEnvMonTemperatureDescr), a table of ambient temperature status
            maintained by the environmental monitor.
          item_prototypes:
            - uuid: 14f46d8210164b6596dc6bf0c343db3b
              name: '{#SNMPVALUE}: Temperature status'
              type: DEPENDENT
              key: 'sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}]'
              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.13.1.3.1.6.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: sensor.temp.walk
              tags:
                - tag: component
                  value: temperature
            - uuid: 7c68ab13b881467e863b28776c0da571
              name: '{#SNMPVALUE}: Temperature'
              type: DEPENDENT
              key: 'sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}]'
              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.13.1.3.1.3.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              master_item:
                key: sensor.temp.walk
              tags:
                - tag: component
                  value: temperature
              trigger_prototypes:
                - uuid: 67fad9e835f9466ab368bbdad6544e7e
                  expression: 'avg(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"{#SNMPVALUE}"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'min(/Cisco IOS versions 12.0_3_T-12.2_3.5 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: f138f708723a4ca49b21cb992798da7f
              expression: |
                avg(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"{#SNMPVALUE}"}
                or
                last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_CRIT_STATUS}
                or
                last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_DISASTER_STATUS}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: 'max(/Cisco IOS versions 12.0_3_T-12.2_3.5 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: 281f7afca6ed4d3bb866430ec89e862e
              expression: |
                avg(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_WARN:"{#SNMPVALUE}"}
                or
                last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_WARN_STATUS}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: 'max(/Cisco IOS versions 12.0_3_T-12.2_3.5 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 IOS versions 12.0_3_T-12.2_3.5 by SNMP/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"{#SNMPVALUE}"}
                    or
                    last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_CRIT_STATUS}
                    or
                    last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_DISASTER_STATUS}
                  recovery_expression: 'max(/Cisco IOS versions 12.0_3_T-12.2_3.5 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:
                - '{#SNMPVALUE}'
                - 1.3.6.1.4.1.9.9.13.1.3.1.2
                - '0'
              error_handler: DISCARD_VALUE
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
      tags:
        - tag: class
          value: network
        - tag: target
          value: cisco
        - tag: target
          value: cisco-ios
        - tag: target
          value: cisco-ios-12.0-12.2
      macros:
        - macro: '{$CPU.UTIL.CRIT}'
          value: '90'
          config:
            type: TEXT
            priority: '2'
            section_name: Thresholds
            label: 'Threshold for CPU utilization (critical)'
            description: 'In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$FAN_CRIT_STATUS:"critical"}'
          value: '3'
          config:
            type: TEXT
            priority: '16'
            section_name: Other
            label: 'Value of FAN status for state of `critical`'
        - macro: '{$FAN_CRIT_STATUS:"shutdown"}'
          value: '4'
          config:
            type: TEXT
            priority: '17'
            section_name: Other
            label: 'Value of FAN status for state of `shutdown`'
        - macro: '{$FAN_WARN_STATUS:"notFunctioning"}'
          value: '6'
          config:
            type: TEXT
            priority: '18'
            section_name: Other
            label: 'Value of FAN status for state of `notFunctioning`'
        - macro: '{$FAN_WARN_STATUS:"warning"}'
          value: '2'
          config:
            type: TEXT
            priority: '15'
            section_name: Other
            label: 'Value of FAN status for state of `warning`'
        - macro: '{$ICMP_LOSS_WARN}'
          value: '20'
          description: 'Warning threshold of ICMP packet loss in %.'
          config:
            type: TEXT
            priority: '20'
            section_name: Thresholds
            label: 'Threshold of ICMP packet loss'
            description: 'Warning threshold of ICMP packet loss in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_RESPONSE_TIME_WARN}'
          value: '0.15'
          description: 'Warning threshold of the average ICMP response time in seconds.'
          config:
            type: TEXT
            priority: '21'
            section_name: Thresholds
            label: 'Threshold of the average ICMP response'
            description: 'Warning threshold of the average ICMP response time in seconds. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.ERRORS.WARN}'
          value: '2'
          description: 'Warning threshold of error packet rate. Can be used with interface name as context.'
          config:
            type: TEXT
            priority: '24'
            section_name: Thresholds
            label: 'Threshold of error packet rate'
            description: 'Warning threshold of error packet rate. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the interface utilization trigger.'
          config:
            type: TEXT
            priority: '23'
            section_name: Thresholds
            label: 'The threshold in the interface utilization'
            description: 'Used as a threshold in the interface utilization trigger. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IFCONTROL}'
          value: '1'
          description: 'Link status trigger will be fired only for interfaces where the context macro equals "1".'
          config:
            type: CHECKBOX
            priority: '22'
            label: 'Interfaces control'
            description: 'Fire a trigger when the interface operational status changes to "Link down".'
            options:
              - checked: '1'
                unchecked: '0'
        - macro: '{$MEMORY.UTIL.MAX}'
          value: '90'
          config:
            type: TEXT
            priority: '1'
            section_name: Thresholds
            label: 'Threshold for memory utilization'
            description: 'In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$NET.IF.IFADMINSTATUS.MATCHES}'
          value: '^.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '29'
            section_name: Filters
            label: 'Filter network interface by adminstatus'
            description: 'Regex string to include discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
          value: ^2$
          description: 'Ignore `down(2)` administrative status'
          config:
            type: TEXT
            priority: '30'
            section_name: Filters
            label: 'Filter network interface by adminstatus (exclude)'
            description: 'Regex string to exclude discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFALIAS.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '33'
            section_name: Filters
            label: 'Filter network interface by alias'
            description: 'Regex string to include discovered interface by alias.'
        - macro: '{$NET.IF.IFALIAS.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '34'
            section_name: Filters
            label: 'Filter network interface by alias (exclude)'
            description: 'Regex string to exclude discovered interface by alias.'
        - macro: '{$NET.IF.IFDESCR.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '31'
            section_name: Filters
            label: 'Filter network interface by description'
            description: 'Regex string to include discovered interface by description.'
        - macro: '{$NET.IF.IFDESCR.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '32'
            section_name: Filters
            label: 'Filter network interface by description (exclude)'
            description: 'Regex string to exclude discovered interface by description.'
        - macro: '{$NET.IF.IFNAME.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '25'
            section_name: Filters
            label: 'Filter for network interface by name'
            description: 'Regex string to include discovered interface by name.'
        - 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.'
          config:
            type: TEXT
            priority: '26'
            section_name: Filters
            label: 'Filter for network interface by name (exclude)'
            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.'
          config:
            type: TEXT
            priority: '27'
            section_name: Filters
            label: 'Filter network interface by status'
            description: 'Regex string to include discovered interface by status.'
        - macro: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
          value: ^6$
          description: 'Ignore `notPresent(6)`'
          config:
            type: TEXT
            priority: '28'
            section_name: Filters
            label: 'Filter network interface by status (exclude)'
            description: 'Regex string to exclude discovered interface by status.'
        - macro: '{$NET.IF.IFTYPE.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '35'
            section_name: Filters
            label: 'Filter network interface by type'
            description: 'Regex string to include discovered interface by type.'
        - macro: '{$NET.IF.IFTYPE.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '36'
            section_name: Filters
            label: 'Filter network interface by type (exclude)'
            description: 'Regex string to exclude discovered interface by type.'
        - macro: '{$PSU_CRIT_STATUS:"critical"}'
          value: '3'
          config:
            type: TEXT
            priority: '12'
            section_name: Other
            label: 'Value of PSU status for state of `critical`'
        - macro: '{$PSU_CRIT_STATUS:"shutdown"}'
          value: '4'
          config:
            type: TEXT
            priority: '13'
            section_name: Other
            label: 'Value of PSU status for state of `shutdown`'
        - macro: '{$PSU_WARN_STATUS:"notFunctioning"}'
          value: '6'
          config:
            type: TEXT
            priority: '14'
            section_name: Other
            label: 'Value of PSU status for state of `notFunctioning`'
        - macro: '{$PSU_WARN_STATUS:"warning"}'
          value: '2'
          config:
            type: TEXT
            priority: '11'
            section_name: Other
            label: 'Value of PSU status for state of `warning`'
        - macro: '{$SNMP.TIMEOUT}'
          value: 5m
          description: 'Time interval for the SNMP availability trigger.'
          config:
            type: TEXT
            priority: '19'
            section_name: Other
            label: 'Time interval'
            description: 'Time interval for the SNMP availability trigger.'
        - macro: '{$TEMP_CRIT}'
          value: '60'
          config:
            type: TEXT
            priority: '5'
            section_name: Thresholds
            label: 'Threshold for temperature (critical)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT:"CPU"}'
          value: '75'
          config:
            type: TEXT
            priority: '7'
            section_name: Thresholds
            label: 'Threshold for CPU temperature (critical)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT_LOW}'
          value: '5'
          config:
            type: TEXT
            priority: '3'
            section_name: Thresholds
            label: 'Threshold for low temperature (critical)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT_STATUS}'
          value: '3'
          config:
            type: TEXT
            priority: '9'
            section_name: Other
            label: 'Value for state of `Temperature is critical`'
        - macro: '{$TEMP_DISASTER_STATUS}'
          value: '4'
          config:
            type: TEXT
            priority: '10'
            section_name: Other
            label: 'Value for state of `Temperature is disaster`'
        - macro: '{$TEMP_WARN}'
          value: '50'
          config:
            type: TEXT
            priority: '4'
            section_name: Thresholds
            label: 'Threshold for temperature (warning)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_WARN:"CPU"}'
          value: '70'
          config:
            type: TEXT
            priority: '6'
            section_name: Thresholds
            label: 'Threshold for CPU temperature (warning)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_WARN_STATUS}'
          value: '2'
          config:
            type: TEXT
            priority: '8'
            section_name: Other
            label: 'Value for state of `Temperature is warning`'
      dashboards:
        - uuid: 19aa552abf004e729044a7af05a5544a
          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 IOS versions 12.0_3_T-12.2_3.5 by SNMP'
                        name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAA
      valuemaps:
        - uuid: d811f4c78e8246f6a3ed1e903ade574d
          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: b4d11dd4e18b4958a17b5da31d101e08
          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: 475ca8ba5faf4ddca62bd41be9b3d410
          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: 5470fefd50c64782ac60e3a2aa8b3d3c
          name: 'Service state'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
        - uuid: 91d7e7e2bd4d48d7aecb9f9b4654185f
          name: zabbix.host.available
          mappings:
            - value: '0'
              newvalue: 'not available'
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: unknown
    - uuid: 37e5eb5606bc4abba66c8b20381a1e8a
      template: 'ICMP Ping'
      name: 'ICMP Ping'
      description: |
        Template Net ICMP Ping
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      readme: |
        ## Setup
        
        Set `Threshold of ICMP packet loss` and `Threshold of the average ICMP response`
      vendor:
        name: Zabbix
        version: 7.4-1
      groups:
        - name: 'Templates/Network devices'
      items:
        - uuid: db5a94f6cea14deba957202b2f014469
          name: 'ICMP ping'
          type: SIMPLE
          key: icmpping
          valuemap:
            name: 'Service state'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: b030876299434f3ba43e11c584104a81
              expression: 'max(/ICMP Ping/icmpping,#3)=0'
              name: 'ICMP Ping: Unavailable by ICMP ping'
              priority: HIGH
              description: 'Last three attempts returned timeout.  Please check device connectivity.'
              tags:
                - tag: scope
                  value: availability
        - uuid: 04b21adaf422473a88df2c52786474ed
          name: 'ICMP loss'
          type: SIMPLE
          key: icmppingloss
          value_type: FLOAT
          units: '%'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 42c4b0310aaf4b9c8cb502542b7dea90
              expression: 'min(/ICMP Ping/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/ICMP Ping/icmppingloss,5m)<100'
              name: 'ICMP Ping: High ICMP ping loss'
              opdata: 'Loss: {ITEM.LASTVALUE1}'
              priority: WARNING
              dependencies:
                - name: 'ICMP Ping: Unavailable by ICMP ping'
                  expression: 'max(/ICMP Ping/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: a79e33e5fd264725b934f603fa071555
          name: 'ICMP response time'
          type: SIMPLE
          key: icmppingsec
          value_type: FLOAT
          units: s
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 32b4d8f3eba34bd380803410111d4b7f
              expression: 'avg(/ICMP Ping/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN}'
              name: 'ICMP Ping: High ICMP ping response time'
              opdata: 'Value: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'Average ICMP response time is too high.'
              dependencies:
                - name: 'ICMP Ping: High ICMP ping loss'
                  expression: 'min(/ICMP Ping/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/ICMP Ping/icmppingloss,5m)<100'
                - name: 'ICMP Ping: Unavailable by ICMP ping'
                  expression: 'max(/ICMP Ping/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
      tags:
        - tag: class
          value: network
        - tag: target
          value: icmp
      macros:
        - macro: '{$ICMP_LOSS_WARN}'
          value: '20'
          description: 'Warning threshold of ICMP packet loss in %.'
          config:
            type: TEXT
            priority: '1'
            section_name: Thresholds
            label: 'Threshold of ICMP packet loss'
            description: 'Warning threshold of ICMP packet loss in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_RESPONSE_TIME_WARN}'
          value: '0.15'
          description: 'Warning threshold of the average ICMP response time in seconds.'
          config:
            type: TEXT
            priority: '2'
            section_name: Thresholds
            label: 'Threshold of the average ICMP response'
            description: 'Warning threshold of the average ICMP response time in seconds. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
      valuemaps:
        - uuid: bdb5d65d925542eaa61c302dc40fbfe8
          name: 'Service state'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
    - uuid: 2506b0ca01884903b547b1e19b76ce6d
      template: 'Linux by Prom'
      name: 'Linux by Prom'
      description: |
        This template collects Linux metrics from node_exporter 0.18 and above. Support for older node_exporter versions is provided as 'best effort'.
        
        Setup:
        
        1. Set up the node_exporter according to the official documentation:
        https://prometheus.io/docs/guides/node-exporter/
        
        Use node_exporter v0.18.0 or above.
        
        2. Set the hostname or IP address of the node_exporter host in the '{$NODE_EXPORTER_HOST}' macro. You can also change the Prometheus endpoint port in the '{$NODE_EXPORTER_PORT}' macro if necessary.
        
        Known Issues:
        
          - Node Exporter 0.16.0 renamed many metrics. CPU utilization for "guest" and "guest_nice" metrics are not supported in this template with Node Exporter < 0.16. Disk IO metrics are not supported. Other metrics provided as best effort. See https://github.com/prometheus/node_exporter/releases/tag/v0.16.0 for details.
            - version: below 0.16.0
          - metric node_network_info with label 'device' cannot be found, so network discovery is not possible.
            - version: below 0.18
        
        Notes on filesystem (FS) discovery:
          - The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
          - BTRFS allocates a default of 10% of the volume for its own needs.
          - To mitigate potential disasters, FS usage triggers are based on the maximum available space.
            - Utilization formula: 'pused = 100 - 100 * (available / total - free + available)'
          - The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
        
        You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387225-discussion-thread-for-official-zabbix-template-for-linux
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      readme: |
        ## Overview
        
        This template collects Linux metrics from Node Exporter 0.18 and above. Support for older Node Exporter versions is provided as best effort.
        
        ### Known Issues
        
          - Node Exporter 0.16.0 renamed many metrics. CPU utilization for "guest" and "guest_nice" metrics are not supported in this template with Node Exporter < 0.16. Disk IO metrics are not supported. Other metrics provided as best effort. See https://github.com/prometheus/node_exporter/releases/tag/v0.16.0 for details
        See https://github.com/prometheus/node_exporter/releases/tag/v0.16.0 for details.
            - version: below 0.16.0
          - metric node_network_info with label 'device' cannot be found, so network discovery is not possible.
            - version: below 0.18
        
        #### Notes on filesystem (FS) discovery:
          - The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
          - BTRFS allocates a default of 10% of the volume for its own needs.
          - To mitigate potential disasters, FS usage triggers are based on the maximum available space.
            - Utilization formula: `pused = 100 - 100 * (available / total - free + available)`
          - The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
        
        ## Setup
        
        1. Set up the node_exporter according to the [`official documentation`](https://prometheus.io/docs/guides/node-exporter/). Use node_exporter v0.18.0 or above.
        
        2. Set the hostname or IP address of the node_exporter host in the `The node_exporter host` parameter. You can also change the Prometheus endpoint port in the `TCP Port node_exporter` parameter if necessary.
      vendor:
        name: Zabbix
        version: 7.4-3
      groups:
        - name: 'Templates/Operating systems'
      items:
        - uuid: 9a60d1e53caa4049a33aa52f3f55ad75
          name: 'Version of node_exporter running'
          type: DEPENDENT
          key: 'agent.version[node_exporter]'
          value_type: CHAR
          preprocessing:
            - type: PROMETHEUS_PATTERN
              parameters:
                - node_exporter_build_info
                - label
                - version
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: application
        - uuid: d3631bd7effc4cd1bc45c991b3c3038f
          name: 'Number of open file descriptors'
          type: DEPENDENT
          key: 'fd.open[node_exporter]'
          value_type: FLOAT
          preprocessing:
            - type: PROMETHEUS_PATTERN
              parameters:
                - node_filefd_allocated
                - value
                - ''
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: system
        - uuid: a8b78e776e1d4011bbcb6dd54e32b40b
          name: 'Maximum number of open file descriptors'
          type: DEPENDENT
          key: 'kernel.maxfiles[node_exporter]'
          value_type: FLOAT
          description: 'May be increased by using `sysctl` utility or modifying the file `/etc/sysctl.conf`.'
          preprocessing:
            - type: PROMETHEUS_PATTERN
              parameters:
                - node_filefd_maximum
                - value
                - ''
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: c0002ad071d7497ab32633c93624e0c2
              expression: 'last(/Linux by Prom/kernel.maxfiles[node_exporter])<{$KERNEL.MAXFILES.MIN}'
              name: 'Linux: Configured max number of open filedescriptors is too low'
              event_name: 'Linux: Configured max number of open filedescriptors is too low (< {$KERNEL.MAXFILES.MIN})'
              priority: INFO
              dependencies:
                - name: 'Linux: Running out of file descriptors'
                  expression: 'last(/Linux by Prom/fd.open[node_exporter])/last(/Linux by Prom/kernel.maxfiles[node_exporter])*100>80'
              tags:
                - tag: scope
                  value: performance
        - uuid: 8b2fffcba0b24ca8a687361645ffaa1d
          name: 'Get node_exporter metrics'
          type: HTTP_AGENT
          key: node_exporter.get
          history: 1h
          value_type: TEXT
          url: 'http://{$NODE_EXPORTER_HOST}:{$NODE_EXPORTER_PORT}/metrics'
          tags:
            - tag: component
              value: raw
          triggers:
            - uuid: e33fafc8476e404aa4150d0d491f4c83
              expression: 'nodata(/Linux by Prom/node_exporter.get,30m)=1'
              name: 'Linux: node_exporter is not available'
              event_name: 'Linux: node_exporter is not available (or no data for 30m)'
              priority: WARNING
              description: 'Failed to fetch system metrics from node_exporter in time.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: availability
        - uuid: 75afcb39d2d7496e9490cd14f1431600
          name: 'System boot time'
          type: DEPENDENT
          key: 'system.boottime[node_exporter]'
          value_type: FLOAT
          units: unixtime
          preprocessing:
            - type: PROMETHEUS_PATTERN
              parameters:
                - '{__name__=~"^node_boot_time(?:_seconds)?$"}'
                - value
                - ''
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: system
        - uuid: a732c4df8af047fbb874e1fb363b5e9e
          name: 'CPU guest time'
          type: DEPENDENT
          key: 'system.cpu.guest[node_exporter]'
          value_type: FLOAT
          units: '%'
          description: 'Time spent on running a virtual CPU for a guest operating system.'
          preprocessing:
            - type: PROMETHEUS_TO_JSON
              parameters:
                - '{__name__=~"^node_cpu(?:_guest_seconds_total)?$",cpu=~".+",mode=~"^(?:user|guest)$"}'
            - type: JAVASCRIPT
              parameters:
                - |
                  var valueArr = JSON.parse(value);
                  return valueArr.reduce(function(acc,obj){
                  	return acc + parseFloat(obj['value'])
                  },0)/valueArr.length;
            - type: CHANGE_PER_SECOND
            - type: MULTIPLIER
              parameters:
                - '100'
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: cpu
        - uuid: 759809ee6c9e43cf8ff44f987221a90e
          name: 'CPU guest nice time'
          type: DEPENDENT
          key: 'system.cpu.guest_nice[node_exporter]'
          value_type: FLOAT
          units: '%'
          description: 'The time spent on running a niced guest (a virtual CPU for guest operating systems under the control of the Linux kernel).'
          preprocessing:
            - type: PROMETHEUS_TO_JSON
              parameters:
                - '{__name__=~"^node_cpu(?:_guest_seconds_total)?$",cpu=~".+",mode=~"^(?:nice|guest_nice)$"}'
            - type: JAVASCRIPT
              parameters:
                - |
                  var valueArr = JSON.parse(value);
                  return valueArr.reduce(function(acc,obj){
                  	return acc + parseFloat(obj['value'])
                  },0)/valueArr.length;
            - type: CHANGE_PER_SECOND
            - type: MULTIPLIER
              parameters:
                - '100'
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: cpu
        - uuid: 7bb99c606c6b497aaef279663b60829b
          name: 'CPU idle time'
          type: DEPENDENT
          key: 'system.cpu.idle[node_exporter]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has spent doing nothing.'
          preprocessing:
            - type: PROMETHEUS_TO_JSON
              parameters:
                - '{__name__=~"^node_cpu(?:_seconds_total)?$",cpu=~".+",mode="idle"}'
            - type: JAVASCRIPT
              parameters:
                - |
                  var valueArr = JSON.parse(value);
                  return valueArr.reduce(function(acc,obj){
                  	return acc + parseFloat(obj['value'])
                  },0)/valueArr.length;
            - type: CHANGE_PER_SECOND
            - type: MULTIPLIER
              parameters:
                - '100'
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: cpu
        - uuid: 4d3f64c79c684d55bcde14ca5bf3022a
          name: 'CPU interrupt time'
          type: DEPENDENT
          key: 'system.cpu.interrupt[node_exporter]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has spent servicing hardware interrupts.'
          preprocessing:
            - type: PROMETHEUS_TO_JSON
              parameters:
                - '{__name__=~"^node_cpu(?:_seconds_total)?$",cpu=~".+",mode="irq"}'
            - type: JAVASCRIPT
              parameters:
                - |
                  var valueArr = JSON.parse(value);
                  return valueArr.reduce(function(acc,obj){
                  	return acc + parseFloat(obj['value'])
                  },0)/valueArr.length;
            - type: CHANGE_PER_SECOND
            - type: MULTIPLIER
              parameters:
                - '100'
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: cpu
        - uuid: 76206cf435fd4a979dbbf74807b532de
          name: 'Interrupts per second'
          type: DEPENDENT
          key: 'system.cpu.intr[node_exporter]'
          value_type: FLOAT
          description: 'Number of interrupts processed.'
          preprocessing:
            - type: PROMETHEUS_PATTERN
              parameters:
                - '{__name__=~"node_intr"}'
                - value
                - ''
            - type: CHANGE_PER_SECOND
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: cpu
        - uuid: 6a727e148a2c4956bcfb6de0a3486c2d
          name: 'CPU iowait time'
          type: DEPENDENT
          key: 'system.cpu.iowait[node_exporter]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has been waiting for I/O to complete.'
          preprocessing:
            - type: PROMETHEUS_TO_JSON
              parameters:
                - '{__name__=~"^node_cpu(?:_seconds_total)?$",cpu=~".+",mode="iowait"}'
            - type: JAVASCRIPT
              parameters:
                - |
                  var valueArr = JSON.parse(value);
                  return valueArr.reduce(function(acc,obj){
                  	return acc + parseFloat(obj['value'])
                  },0)/valueArr.length;
            - type: CHANGE_PER_SECOND
            - type: MULTIPLIER
              parameters:
                - '100'
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: cpu
        - uuid: 78fb393fe3d64cd7bf79be5427715add
          name: 'Load average (1m avg)'
          type: DEPENDENT
          key: 'system.cpu.load.avg1[node_exporter]'
          value_type: FLOAT
          description: 'Calculated as the system CPU load divided by the number of CPU cores.'
          preprocessing:
            - type: PROMETHEUS_PATTERN
              parameters:
                - node_load1
                - value
                - ''
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: cpu
        - uuid: 7fc62b26b9ff43429632f1985dc07851
          name: 'Load average (5m avg)'
          type: DEPENDENT
          key: 'system.cpu.load.avg5[node_exporter]'
          value_type: FLOAT
          description: 'Calculated as the system CPU load divided by the number of CPU cores.'
          preprocessing:
            - type: PROMETHEUS_PATTERN
              parameters:
                - node_load5
                - value
                - ''
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: cpu
        - uuid: 35fb0319c599403bbea0e616c9066e27
          name: 'Load average (15m avg)'
          type: DEPENDENT
          key: 'system.cpu.load.avg15[node_exporter]'
          value_type: FLOAT
          description: 'Calculated as the system CPU load divided by the number of CPU cores.'
          preprocessing:
            - type: PROMETHEUS_PATTERN
              parameters:
                - node_load15
                - value
                - ''
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: cpu
        - uuid: 86de794832794f57ba428cca31031005
          name: 'CPU nice time'
          type: DEPENDENT
          key: 'system.cpu.nice[node_exporter]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has spent running users'' processes that have been niced.'
          preprocessing:
            - type: PROMETHEUS_TO_JSON
              parameters:
                - '{__name__=~"^node_cpu(?:_seconds_total)?$",cpu=~".+",mode="nice"}'
            - type: JAVASCRIPT
              parameters:
                - |
                  var valueArr = JSON.parse(value);
                  return valueArr.reduce(function(acc,obj){
                  	return acc + parseFloat(obj['value'])
                  },0)/valueArr.length;
            - type: CHANGE_PER_SECOND
            - type: MULTIPLIER
              parameters:
                - '100'
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: cpu
        - uuid: d7db65cfeaac4541bd98d06dc35f89e2
          name: 'Number of CPUs'
          type: DEPENDENT
          key: 'system.cpu.num[node_exporter]'
          preprocessing:
            - type: PROMETHEUS_TO_JSON
              parameters:
                - '{__name__=~"^node_cpu(?:_seconds_total)?$",cpu=~".+",mode="idle"}'
            - type: JAVASCRIPT
              parameters:
                - 'return JSON.parse(value).length'
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: cpu
        - uuid: cf3cd5840b91477d8e9254820896b978
          name: 'CPU softirq time'
          type: DEPENDENT
          key: 'system.cpu.softirq[node_exporter]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has spent servicing software interrupts.'
          preprocessing:
            - type: PROMETHEUS_TO_JSON
              parameters:
                - '{__name__=~"^node_cpu(?:_seconds_total)?$",cpu=~".+",mode="softirq"}'
            - type: JAVASCRIPT
              parameters:
                - |
                  var valueArr = JSON.parse(value);
                  return valueArr.reduce(function(acc,obj){
                  	return acc + parseFloat(obj['value'])
                  },0)/valueArr.length;
            - type: CHANGE_PER_SECOND
            - type: MULTIPLIER
              parameters:
                - '100'
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: cpu
        - uuid: 2ee5885c4de646c0926f0c1a48890e68
          name: 'CPU steal time'
          type: DEPENDENT
          key: 'system.cpu.steal[node_exporter]'
          value_type: FLOAT
          units: '%'
          description: 'The amount of "stolen" CPU from this virtual machine by the hypervisor for other tasks, such as running another virtual machine.'
          preprocessing:
            - type: PROMETHEUS_TO_JSON
              parameters:
                - '{__name__=~"^node_cpu(?:_seconds_total)?$",cpu=~".+",mode="steal"}'
            - type: JAVASCRIPT
              parameters:
                - |
                  var valueArr = JSON.parse(value);
                  return valueArr.reduce(function(acc,obj){
                  	return acc + parseFloat(obj['value'])
                  },0)/valueArr.length;
            - type: CHANGE_PER_SECOND
            - type: MULTIPLIER
              parameters:
                - '100'
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: cpu
        - uuid: b873e0d178d144fca3597d617fc119e7
          name: 'Context switches per second'
          type: DEPENDENT
          key: 'system.cpu.switches[node_exporter]'
          value_type: FLOAT
          description: 'The combined rate at which all processors on the computer are switched from one thread to another.'
          preprocessing:
            - type: PROMETHEUS_PATTERN
              parameters:
                - '{__name__=~"node_context_switches"}'
                - value
                - ''
            - type: CHANGE_PER_SECOND
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: cpu
        - uuid: e296be976c5944b19a7178304ed6140c
          name: 'CPU system time'
          type: DEPENDENT
          key: 'system.cpu.system[node_exporter]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has spent running the kernel and its processes.'
          preprocessing:
            - type: PROMETHEUS_TO_JSON
              parameters:
                - '{__name__=~"^node_cpu(?:_seconds_total)?$",cpu=~".+",mode="system"}'
            - type: JAVASCRIPT
              parameters:
                - |
                  var valueArr = JSON.parse(value);
                  return valueArr.reduce(function(acc,obj){
                  	return acc + parseFloat(obj['value'])
                  },0)/valueArr.length;
            - type: CHANGE_PER_SECOND
            - type: MULTIPLIER
              parameters:
                - '100'
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: cpu
        - uuid: 832698e707d14bad8171ca71a2533350
          name: 'CPU user time'
          type: DEPENDENT
          key: 'system.cpu.user[node_exporter]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has spent running users'' processes that are not niced.'
          preprocessing:
            - type: PROMETHEUS_TO_JSON
              parameters:
                - '{__name__=~"^node_cpu(?:_seconds_total)?$",cpu=~".+",mode="user"}'
            - type: JAVASCRIPT
              parameters:
                - |
                  var valueArr = JSON.parse(value);
                  return valueArr.reduce(function(acc,obj){
                  	return acc + parseFloat(obj['value'])
                  },0)/valueArr.length;
            - type: CHANGE_PER_SECOND
            - type: MULTIPLIER
              parameters:
                - '100'
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: cpu
        - uuid: 76f60c7e4f1a482198ff4f101020bbcc
          name: 'CPU utilization'
          type: DEPENDENT
          key: 'system.cpu.util[node_exporter]'
          value_type: FLOAT
          units: '%'
          description: 'CPU utilization expressed in %.'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - 'return (100 - value)'
          master_item:
            key: 'system.cpu.idle[node_exporter]'
          tags:
            - tag: component
              value: cpu
          triggers:
            - uuid: 4c924f8243a7431886a2d69368cb7142
              expression: 'min(/Linux by Prom/system.cpu.util[node_exporter],5m)>{$CPU.UTIL.CRIT}'
              name: 'Linux: High CPU utilization'
              event_name: 'Linux: 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.'
              dependencies:
                - name: 'Linux: Load average is too high'
                  expression: |
                    min(/Linux by Prom/system.cpu.load.avg1[node_exporter],5m)/last(/Linux by Prom/system.cpu.num[node_exporter])>{$LOAD_AVG_PER_CPU.MAX.WARN}
                    and last(/Linux by Prom/system.cpu.load.avg5[node_exporter])>0
                    and last(/Linux by Prom/system.cpu.load.avg15[node_exporter])>0
              tags:
                - tag: scope
                  value: performance
        - uuid: c47995760ef3458eb6237e434ef4eef8
          name: 'System description'
          type: DEPENDENT
          key: 'system.descr[node_exporter]'
          value_type: CHAR
          description: 'Labeled system information as provided by the uname system call.'
          preprocessing:
            - type: PROMETHEUS_TO_JSON
              parameters:
                - node_uname_info
            - type: JAVASCRIPT
              parameters:
                - |
                  var info = JSON.parse(value)[0];
                  return info.labels.sysname+' version: '+info.labels.release+' '+info.labels.version
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: system
        - uuid: 9fcb3dd70dc244f2b2ff86560b37ec7e
          name: 'System local time'
          type: DEPENDENT
          key: 'system.localtime[node_exporter]'
          value_type: FLOAT
          units: unixtime
          description: 'The local system time of the host.'
          preprocessing:
            - type: PROMETHEUS_PATTERN
              parameters:
                - '{__name__=~"^node_time(?:_seconds)?$"}'
                - value
                - ''
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: e91c10be1c4a4c3fadfe06aec6c1e4e4
              expression: 'fuzzytime(/Linux by Prom/system.localtime[node_exporter],{$SYSTEM.FUZZYTIME.MAX})=0'
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: 'fuzzytime(/Linux by Prom/system.localtime[node_exporter],{$SYSTEM.FUZZYTIME.MIN})=1'
              name: 'Linux: System time is out of sync'
              event_name: 'Linux: System time is out of sync (diff with Zabbix server > {$SYSTEM.FUZZYTIME.MAX})'
              priority: WARNING
              description: 'The host''s system time is different from Zabbix server time.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: c70cfa2ad5754089935883c5b3172656
          name: 'System name'
          type: DEPENDENT
          key: 'system.name[node_exporter]'
          value_type: CHAR
          description: 'The host name of the system.'
          inventory_link: NAME
          preprocessing:
            - type: PROMETHEUS_PATTERN
              parameters:
                - node_uname_info
                - label
                - nodename
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: e827e944568b46e284820630482317bd
              expression: 'last(/Linux by Prom/system.name[node_exporter],#1)<>last(/Linux by Prom/system.name[node_exporter],#2) and length(last(/Linux by Prom/system.name[node_exporter]))>0'
              name: 'Linux: System name has changed'
              event_name: 'Linux: 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: ce4bb6c485cc4b739dce31b631634790
          name: 'Operating system architecture'
          type: DEPENDENT
          key: 'system.sw.arch[node_exporter]'
          value_type: CHAR
          preprocessing:
            - type: PROMETHEUS_PATTERN
              parameters:
                - node_uname_info
                - label
                - machine
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: os
        - uuid: 11ff4e02245f4c2e9ce00e55c1a77b39
          name: 'Operating system'
          type: DEPENDENT
          key: 'system.sw.os[node_exporter]'
          value_type: CHAR
          inventory_link: OS
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          master_item:
            key: 'system.descr[node_exporter]'
          tags:
            - tag: component
              value: os
          triggers:
            - uuid: 00974d5b128c4b1db64ca100770fb11b
              expression: 'last(/Linux by Prom/system.sw.os[node_exporter],#1)<>last(/Linux by Prom/system.sw.os[node_exporter],#2) and length(last(/Linux by Prom/system.sw.os[node_exporter]))>0'
              name: 'Linux: 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: 'Linux: System name has changed'
                  expression: 'last(/Linux by Prom/system.name[node_exporter],#1)<>last(/Linux by Prom/system.name[node_exporter],#2) and length(last(/Linux by Prom/system.name[node_exporter]))>0'
              tags:
                - tag: scope
                  value: notice
        - uuid: ccc3c4d69fef412aa53c6a7320ef44fb
          name: 'Free swap space'
          type: DEPENDENT
          key: 'system.swap.free[node_exporter]'
          value_type: FLOAT
          units: B
          description: 'The free space of the swap volume/file expressed in bytes.'
          preprocessing:
            - type: PROMETHEUS_PATTERN
              parameters:
                - '{__name__=~"node_memory_SwapFree"}'
                - value
                - ''
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: 99feb76b7da04b00a0d191b92bf979a1
          name: 'Free swap space in %'
          type: CALCULATED
          key: 'system.swap.pfree[node_exporter]'
          value_type: FLOAT
          units: '%'
          params: 'last(//system.swap.free[node_exporter])/last(//system.swap.total[node_exporter])*100'
          description: 'The free space of the swap volume/file expressed in %.'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: d0c1ef0a679546d780df30a02a27df44
          name: 'Total swap space'
          type: DEPENDENT
          key: 'system.swap.total[node_exporter]'
          value_type: FLOAT
          units: B
          description: 'Total space of the swap volume/file expressed in bytes.'
          preprocessing:
            - type: PROMETHEUS_PATTERN
              parameters:
                - '{__name__=~"node_memory_SwapTotal"}'
                - value
                - ''
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: 7eeabdb6bf44483bab91faaab8bb24d5
          name: 'System uptime'
          type: DEPENDENT
          key: 'system.uptime[node_exporter]'
          trends: '0'
          units: uptime
          description: 'The system uptime expressed in the following format: "N days, hh:mm:ss".'
          preprocessing:
            - type: PROMETHEUS_PATTERN
              parameters:
                - '{__name__=~"^node_boot_time(?:_seconds)?$"}'
                - value
                - ''
            - type: JAVASCRIPT
              parameters:
                - 'return (Math.floor(Date.now()/1000)-Number(value));'
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 83311a7c73c441d39d88fe0fc7b55af9
              expression: 'last(/Linux by Prom/system.uptime[node_exporter])<10m'
              name: 'Linux: {HOST.NAME} has been restarted'
              event_name: 'Linux: {HOST.NAME} has been restarted (uptime < 10m)'
              priority: WARNING
              description: 'The device uptime is less than 10 minutes.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 70a75efafbc84cbebd1bb262ec797523
          name: 'Available memory'
          type: DEPENDENT
          key: 'vm.memory.available[node_exporter]'
          value_type: FLOAT
          units: B
          description: |
            The available memory:
            - in Linux - available = free + buffers + cache;
            - on other platforms calculation may vary.
            
            See also Appendixes in Zabbix Documentation about parameters of the `vm.memory.size` item.
          preprocessing:
            - type: PROMETHEUS_PATTERN
              parameters:
                - '{__name__=~"node_memory_MemAvailable"}'
                - value
                - ''
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: memory
        - uuid: e3ad296f16084e9caa923b449d8c725f
          name: 'Total memory'
          type: DEPENDENT
          key: 'vm.memory.total[node_exporter]'
          value_type: FLOAT
          units: B
          description: 'Total memory expressed in bytes.'
          preprocessing:
            - type: PROMETHEUS_PATTERN
              parameters:
                - '{__name__=~"node_memory_MemTotal"}'
                - value
                - ''
          master_item:
            key: node_exporter.get
          tags:
            - tag: component
              value: memory
        - uuid: 60c716c692fb482f9abffb0fc9ce4324
          name: 'Memory utilization'
          type: CALCULATED
          key: 'vm.memory.util[node_exporter]'
          value_type: FLOAT
          units: '%'
          params: '(last(//vm.memory.total[node_exporter])-last(//vm.memory.available[node_exporter]))/last(//vm.memory.total[node_exporter])*100'
          description: 'Percentage calculated as (total-available)/total*100.'
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: 72304b3a167e41ccbcdb75568c65294a
              expression: 'min(/Linux by Prom/vm.memory.util[node_exporter],5m)>{$MEMORY.UTIL.MAX}'
              name: 'Linux: High memory utilization'
              event_name: 'Linux: High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m)'
              priority: AVERAGE
              description: 'The system is running out of free memory.'
              dependencies:
                - name: 'Linux: Lack of available memory'
                  expression: 'max(/Linux by Prom/vm.memory.available[node_exporter],5m)<{$MEMORY.AVAILABLE.MIN} and last(/Linux by Prom/vm.memory.total[node_exporter])>0'
              tags:
                - tag: scope
                  value: capacity
                - tag: scope
                  value: performance
      discovery_rules:
        - uuid: 91531a7a68564860976096df6899fe88
          name: 'Network interface discovery'
          type: DEPENDENT
          key: 'net.if.discovery[node_exporter]'
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.MATCHES}'
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.MATCHES}'
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.MATCHES}'
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovery of network interfaces. Requires node_exporter v0.18 and up.'
          item_prototypes:
            - uuid: ee28aff27b4f40eaa8e903ce3fab8555
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded'
              type: DEPENDENT
              key: 'net.if.in.discards[node_exporter,"{#IFNAME}"]'
              value_type: FLOAT
              preprocessing:
                - type: PROMETHEUS_PATTERN
                  parameters:
                    - 'node_network_receive_drop_total{device="{#IFNAME}"}'
                    - value
                    - ''
                - type: CHANGE_PER_SECOND
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: f6b39f743bb6438d876236ae651f68ee
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors'
              type: DEPENDENT
              key: 'net.if.in.errors[node_exporter,"{#IFNAME}"]'
              value_type: FLOAT
              preprocessing:
                - type: PROMETHEUS_PATTERN
                  parameters:
                    - 'node_network_receive_errs_total{device="{#IFNAME}"}'
                    - value
                    - ''
                - type: CHANGE_PER_SECOND
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: eea37c3779994ac5b35bb3b125429340
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits received'
              type: DEPENDENT
              key: 'net.if.in[node_exporter,"{#IFNAME}"]'
              value_type: FLOAT
              units: bps
              preprocessing:
                - type: PROMETHEUS_PATTERN
                  parameters:
                    - 'node_network_receive_bytes_total{device="{#IFNAME}"}'
                    - value
                    - ''
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: aec995b7fe724823bdb41f134594b648
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded'
              type: DEPENDENT
              key: 'net.if.out.discards[node_exporter,"{#IFNAME}"]'
              value_type: FLOAT
              preprocessing:
                - type: PROMETHEUS_PATTERN
                  parameters:
                    - 'node_network_transmit_drop_total{device="{#IFNAME}"}'
                    - value
                    - ''
                - type: CHANGE_PER_SECOND
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 4ffe74b94eb14a4ea61c0df790d0920f
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors'
              type: DEPENDENT
              key: 'net.if.out.errors[node_exporter"{#IFNAME}"]'
              value_type: FLOAT
              preprocessing:
                - type: PROMETHEUS_PATTERN
                  parameters:
                    - 'node_network_transmit_errs_total{device="{#IFNAME}"}'
                    - value
                    - ''
                - type: CHANGE_PER_SECOND
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: ddc4111fefec473e8d8b079f6eb50c05
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits sent'
              type: DEPENDENT
              key: 'net.if.out[node_exporter,"{#IFNAME}"]'
              value_type: FLOAT
              units: bps
              preprocessing:
                - type: PROMETHEUS_PATTERN
                  parameters:
                    - 'node_network_transmit_bytes_total{device="{#IFNAME}"}'
                    - value
                    - ''
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 51f9a39ad6d940ae914cd0a350d83dab
              name: 'Interface {#IFNAME}({#IFALIAS}): Speed'
              type: DEPENDENT
              key: 'net.if.speed[node_exporter,"{#IFNAME}"]'
              trends: '0'
              units: bps
              description: 'Sets value to "0" if metric is missing in `node_exporter` output.'
              preprocessing:
                - type: PROMETHEUS_PATTERN
                  parameters:
                    - 'node_network_speed_bytes{device="{#IFNAME}"}'
                    - value
                    - ''
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '0'
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 4097f76d86cd417db586c5973e1da90b
              name: 'Interface {#IFNAME}({#IFALIAS}): Operational status'
              type: DEPENDENT
              key: 'net.if.status[node_exporter,"{#IFNAME}"]'
              trends: '0'
              description: 'Reference: https://www.kernel.org/doc/Documentation/networking/operstates.txt'
              valuemap:
                name: ifOperStatus
              preprocessing:
                - type: PROMETHEUS_PATTERN
                  parameters:
                    - 'node_network_info{device="{#IFNAME}"}'
                    - label
                    - operstate
                - type: JAVASCRIPT
                  parameters:
                    - |
                      var newvalue;
                      switch(value) {
                        case "unknown":
                      	newvalue = 0;
                      	break;
                        case "notpresent":
                      	newvalue = 1;
                      	break;
                        case "down":
                      	newvalue = 2;
                      	break;
                        case "lowerlayerdown":
                      	newvalue = 3;
                      	break;
                        case "testing":
                      	newvalue = 4;
                      	break;
                        case "dormant":
                      	newvalue = 5;
                      	break;
                        case "up":
                      	newvalue = 6;
                      	break;  default:
                      	newvalue = "Problem parsing interface operstate in JS";
                      }
                      return newvalue;
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: e35b59dc09754451a721793831edc3d4
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])=2 and (last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"],#1)<>last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"],#2))'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
                  name: 'Linux: Interface {#IFNAME}({#IFALIAS}): Link down'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: |
                    This trigger expression works as follows:
                    1. It can be triggered if the operations status is down.
                    2. `{$IFCONTROL:"{#IFNAME}"}=1` - a user can redefine context macro to value "0", 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, do not fire for the 'eternal off' interfaces.)
                    
                    WARNING: if closed manually - it will not fire again on the next poll, because of .diff.
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: availability
            - uuid: ce9cfd9880c44aaea18cfa2ab2fdf0e1
              name: 'Interface {#IFNAME}({#IFALIAS}): Interface type'
              type: DEPENDENT
              key: 'net.if.type[node_exporter,"{#IFNAME}"]'
              trends: '0'
              description: 'node_network_protocol_type protocol_type value of /sys/class/net/<iface>.'
              valuemap:
                name: 'Linux::Interface protocol types'
              preprocessing:
                - type: PROMETHEUS_PATTERN
                  parameters:
                    - 'node_network_protocol_type{device="{#IFNAME}"}'
                    - value
                    - ''
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
          trigger_prototypes:
            - uuid: 96bbb9726ef149a5b97f96d54502593a
              expression: |
                change(/Linux by Prom/net.if.speed[node_exporter,"{#IFNAME}"])<0 and last(/Linux by Prom/net.if.speed[node_exporter,"{#IFNAME}"])>0
                and (
                last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])=6 or
                last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])=7 or
                last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])=11 or
                last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])=62 or
                last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])=69 or
                last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])=117
                )
                and
                (last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])<>2)
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                (change(/Linux by Prom/net.if.speed[node_exporter,"{#IFNAME}"])>0 and last(/Linux by Prom/net.if.speed[node_exporter,"{#IFNAME}"],#2)>0) or
                (last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])=2)
              name: 'Linux: 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: 'Linux: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])=2 and (last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"],#1)<>last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"],#2))'
                  recovery_expression: 'last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 08d5857e474042b5906288156c8c5d52
              expression: |
                change(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])<0 and last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])>0
                and
                (last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])=6
                or last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])=1)
                and
                (last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])<>2)
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                (change(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"])>0 and last(/Linux by Prom/net.if.type[node_exporter,"{#IFNAME}"],#2)>0) or
                (last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])=2)
              name: 'Linux: 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: 'Linux: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])=2 and (last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"],#1)<>last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"],#2))'
                  recovery_expression: 'last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 11e2c8023463482da878cdad5bb7de76
              expression: |
                (avg(/Linux by Prom/net.if.in[node_exporter,"{#IFNAME}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux by Prom/net.if.speed[node_exporter,"{#IFNAME}"]) or
                avg(/Linux by Prom/net.if.out[node_exporter,"{#IFNAME}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux by Prom/net.if.speed[node_exporter,"{#IFNAME}"])) and
                last(/Linux by Prom/net.if.speed[node_exporter,"{#IFNAME}"])>0
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                avg(/Linux by Prom/net.if.in[node_exporter,"{#IFNAME}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Linux by Prom/net.if.speed[node_exporter,"{#IFNAME}"]) and
                avg(/Linux by Prom/net.if.out[node_exporter,"{#IFNAME}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Linux by Prom/net.if.speed[node_exporter,"{#IFNAME}"])
              name: 'Linux: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage'
              event_name: 'Linux: 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: 'Linux: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])=2 and (last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"],#1)<>last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"],#2))'
                  recovery_expression: 'last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 6e8269b2260e42de97aec08043a768df
              expression: |
                min(/Linux by Prom/net.if.in.errors[node_exporter,"{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
                or min(/Linux by Prom/net.if.out.errors[node_exporter"{#IFNAME}"],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                max(/Linux by Prom/net.if.in.errors[node_exporter,"{#IFNAME}"],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
                and max(/Linux by Prom/net.if.out.errors[node_exporter"{#IFNAME}"],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
              name: 'Linux: Interface {#IFNAME}({#IFALIAS}): High error rate'
              event_name: 'Linux: 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: 'Linux: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])=2 and (last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"],#1)<>last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"],#2))'
                  recovery_expression: 'last(/Linux by Prom/net.if.status[node_exporter,"{#IFNAME}"])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
          graph_prototypes:
            - uuid: cf143a7bb6d548fc9d3b089dcbb47ccf
              name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'Linux by Prom'
                    key: 'net.if.in[node_exporter,"{#IFNAME}"]'
                - sortorder: '1'
                  drawtype: BOLD_LINE
                  color: F63100
                  item:
                    host: 'Linux by Prom'
                    key: 'net.if.out[node_exporter,"{#IFNAME}"]'
                - sortorder: '2'
                  color: 00611C
                  yaxisside: RIGHT
                  item:
                    host: 'Linux by Prom'
                    key: 'net.if.out.errors[node_exporter"{#IFNAME}"]'
                - sortorder: '3'
                  color: F7941D
                  yaxisside: RIGHT
                  item:
                    host: 'Linux by Prom'
                    key: 'net.if.in.errors[node_exporter,"{#IFNAME}"]'
                - sortorder: '4'
                  color: FC6EA3
                  yaxisside: RIGHT
                  item:
                    host: 'Linux by Prom'
                    key: 'net.if.out.discards[node_exporter,"{#IFNAME}"]'
                - sortorder: '5'
                  color: 6C59DC
                  yaxisside: RIGHT
                  item:
                    host: 'Linux by Prom'
                    key: 'net.if.in.discards[node_exporter,"{#IFNAME}"]'
          master_item:
            key: node_exporter.get
          lld_macro_paths:
            - lld_macro: '{#HELP}'
              path: $.help
            - lld_macro: '{#IFALIAS}'
              path: $.labels.ifalias
            - lld_macro: '{#IFNAME}'
              path: $.labels.device
            - lld_macro: '{#IFOPERSTATUS}'
              path: $.labels.operstate
          preprocessing:
            - type: PROMETHEUS_TO_JSON
              parameters:
                - '{__name__=~"^node_network_info$"}'
        - uuid: 920f367e232945b8992d0f32e6f9324d
          name: 'Block devices discovery'
          type: DEPENDENT
          key: 'vfs.dev.discovery[node_exporter]'
          filter:
            evaltype: AND
            conditions:
              - macro: '{#DEVNAME}'
                value: '{$VFS.DEV.DEVNAME.MATCHES}'
              - macro: '{#DEVNAME}'
                value: '{$VFS.DEV.DEVNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          item_prototypes:
            - uuid: 0a0949bcdf754fbe82e772ffbd69b5ba
              name: '{#DEVNAME}: Disk average queue size (avgqu-sz)'
              type: DEPENDENT
              key: 'vfs.dev.queue_size[node_exporter,"{#DEVNAME}"]'
              value_type: FLOAT
              description: 'The current average disk queue; the number of requests outstanding on the disk while the performance data is being collected.'
              preprocessing:
                - type: PROMETHEUS_PATTERN
                  parameters:
                    - 'node_disk_io_time_weighted_seconds_total{device="{#DEVNAME}"}'
                    - value
                    - ''
                - type: CHANGE_PER_SECOND
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 9d158ecffdaa43f6bd0ab867ca68620b
              name: '{#DEVNAME}: Disk read request avg waiting time (r_await)'
              type: CALCULATED
              key: 'vfs.dev.read.await[node_exporter,"{#DEVNAME}"]'
              value_type: FLOAT
              units: '!ms'
              params: '(last(//vfs.dev.read.time.rate[node_exporter,"{#DEVNAME}"])/(last(//vfs.dev.read.rate[node_exporter,"{#DEVNAME}"])+(last(//vfs.dev.read.rate[node_exporter,"{#DEVNAME}"])=0)))*1000*(last(//vfs.dev.read.rate[node_exporter,"{#DEVNAME}"]) > 0)'
              description: 'This formula contains two Boolean expressions that evaluates to 1 or 0 in order to set calculated metric to zero and to avoid division by zero exception.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: dcd6f61ffb2f491ba78845514654a8cf
              name: '{#DEVNAME}: Disk read rate'
              type: DEPENDENT
              key: 'vfs.dev.read.rate[node_exporter,"{#DEVNAME}"]'
              value_type: FLOAT
              units: '!r/s'
              description: 'r/s. The number (after merges) of read requests completed per second for the device.'
              preprocessing:
                - type: PROMETHEUS_PATTERN
                  parameters:
                    - 'node_disk_reads_completed_total{device="{#DEVNAME}"}'
                    - value
                    - ''
                - type: CHANGE_PER_SECOND
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 73940f30ea2b4b88b0047e54b773b747
              name: '{#DEVNAME}: Disk read time (rate)'
              type: DEPENDENT
              key: 'vfs.dev.read.time.rate[node_exporter,"{#DEVNAME}"]'
              value_type: FLOAT
              description: 'Rate of total read time counter. Used in `r_await` calculation.'
              preprocessing:
                - type: PROMETHEUS_PATTERN
                  parameters:
                    - 'node_disk_read_time_seconds_total{device="{#DEVNAME}"}'
                    - value
                    - ''
                - type: CHANGE_PER_SECOND
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: d087a0525500450c9a307ff21f58482a
              name: '{#DEVNAME}: Disk utilization'
              type: DEPENDENT
              key: 'vfs.dev.util[node_exporter,"{#DEVNAME}"]'
              value_type: FLOAT
              units: '%'
              description: 'This item is the percentage of elapsed time during which the selected disk drive was busy while servicing read or write requests.'
              preprocessing:
                - type: PROMETHEUS_PATTERN
                  parameters:
                    - 'node_disk_io_time_seconds_total{device="{#DEVNAME}"}'
                    - value
                    - ''
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '100'
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 94203a49081047b6bc76cd66aecd55ce
              name: '{#DEVNAME}: Disk write request avg waiting time (w_await)'
              type: CALCULATED
              key: 'vfs.dev.write.await[node_exporter,"{#DEVNAME}"]'
              value_type: FLOAT
              units: '!ms'
              params: '(last(//vfs.dev.write.time.rate[node_exporter,"{#DEVNAME}"])/(last(//vfs.dev.write.rate[node_exporter,"{#DEVNAME}"])+(last(//vfs.dev.write.rate[node_exporter,"{#DEVNAME}"])=0)))*1000*(last(//vfs.dev.write.rate[node_exporter,"{#DEVNAME}"]) > 0)'
              description: 'This formula contains two Boolean expressions that evaluates to 1 or 0 in order to set calculated metric to zero and to avoid division by zero exception.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 806ba0a56fab4b5094008c98bb817e2b
              name: '{#DEVNAME}: Disk write rate'
              type: DEPENDENT
              key: 'vfs.dev.write.rate[node_exporter,"{#DEVNAME}"]'
              value_type: FLOAT
              units: '!w/s'
              description: 'w/s. The number (after merges) of write requests completed per second for the device.'
              preprocessing:
                - type: PROMETHEUS_PATTERN
                  parameters:
                    - 'node_disk_writes_completed_total{device="{#DEVNAME}"}'
                    - value
                    - ''
                - type: CHANGE_PER_SECOND
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 601cc30457934b7f8f050b2cea13ccea
              name: '{#DEVNAME}: Disk write time (rate)'
              type: DEPENDENT
              key: 'vfs.dev.write.time.rate[node_exporter,"{#DEVNAME}"]'
              value_type: FLOAT
              description: 'Rate of total write time counter. Used in `w_await` calculation.'
              preprocessing:
                - type: PROMETHEUS_PATTERN
                  parameters:
                    - 'node_disk_write_time_seconds_total{device="{#DEVNAME}"}'
                    - value
                    - ''
                - type: CHANGE_PER_SECOND
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
          trigger_prototypes:
            - uuid: 412381f71bba441b955898839f81d51c
              expression: 'min(/Linux by Prom/vfs.dev.read.await[node_exporter,"{#DEVNAME}"],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} or min(/Linux by Prom/vfs.dev.write.await[node_exporter,"{#DEVNAME}"],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"}'
              name: 'Linux: {#DEVNAME}: Disk read/write request responses are too high'
              event_name: 'Linux: {#DEVNAME}: Disk read/write request responses are too high (read > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} ms for 15m or write > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"} ms for 15m)'
              priority: WARNING
              description: 'This trigger might indicate the disk `{#DEVNAME}` saturation.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: performance
          graph_prototypes:
            - uuid: 13a5a74a99734449b08075bbb25bb498
              name: '{#DEVNAME}: Disk average waiting time'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'Linux by Prom'
                    key: 'vfs.dev.read.await[node_exporter,"{#DEVNAME}"]'
                - sortorder: '1'
                  drawtype: GRADIENT_LINE
                  color: F63100
                  item:
                    host: 'Linux by Prom'
                    key: 'vfs.dev.write.await[node_exporter,"{#DEVNAME}"]'
            - uuid: bad3d3ba32534ef194a4837d666ddccb
              name: '{#DEVNAME}: Disk read/write rates'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'Linux by Prom'
                    key: 'vfs.dev.read.rate[node_exporter,"{#DEVNAME}"]'
                - sortorder: '1'
                  drawtype: GRADIENT_LINE
                  color: F63100
                  item:
                    host: 'Linux by Prom'
                    key: 'vfs.dev.write.rate[node_exporter,"{#DEVNAME}"]'
            - uuid: aa53b66adaac4e62863ea2dd59ba3ea1
              name: '{#DEVNAME}: Disk utilization and queue'
              graph_items:
                - color: 199C0D
                  yaxisside: RIGHT
                  item:
                    host: 'Linux by Prom'
                    key: 'vfs.dev.queue_size[node_exporter,"{#DEVNAME}"]'
                - sortorder: '1'
                  drawtype: GRADIENT_LINE
                  color: F63100
                  item:
                    host: 'Linux by Prom'
                    key: 'vfs.dev.util[node_exporter,"{#DEVNAME}"]'
          master_item:
            key: node_exporter.get
          lld_macro_paths:
            - lld_macro: '{#DEVNAME}'
              path: $.labels.device
            - lld_macro: '{#HELP}'
              path: $.help
          preprocessing:
            - type: PROMETHEUS_TO_JSON
              parameters:
                - 'node_disk_io_now{device=~".+"}'
        - uuid: 85d047920c1342b992fa1905eb489a44
          name: 'Mounted filesystem discovery'
          type: DEPENDENT
          key: 'vfs.fs.discovery[node_exporter]'
          filter:
            evaltype: AND
            conditions:
              - macro: '{#FSDEVICE}'
                value: '{$VFS.FS.FSDEVICE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#FSNAME}'
                value: '{$VFS.FS.FSDEVICE.MATCHES}'
              - macro: '{#FSNAME}'
                value: '{$VFS.FS.FSNAME.MATCHES}'
              - macro: '{#FSNAME}'
                value: '{$VFS.FS.FSNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#FSTYPE}'
                value: '{$VFS.FS.FSTYPE.MATCHES}'
              - macro: '{#FSTYPE}'
                value: '{$VFS.FS.FSTYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovery of file systems of different types.'
          item_prototypes:
            - uuid: 3a3edb8bf5a74a63baa27c64d1a44493
              name: 'FS [{#FSNAME}]: Space: Available'
              type: DEPENDENT
              key: 'vfs.fs.free[node_exporter,"{#FSNAME}"]'
              value_type: FLOAT
              units: B
              description: 'Available storage space expressed in bytes.'
              preprocessing:
                - type: PROMETHEUS_PATTERN
                  parameters:
                    - '{__name__=~"^node_filesystem_avail(?:_bytes)?$", mountpoint="{#FSNAME}"}'
                    - value
                    - ''
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
            - uuid: ee1dad3677214561baafa6d930358ee0
              name: 'FS [{#FSNAME}]: Inodes: Free, in %'
              type: DEPENDENT
              key: 'vfs.fs.inode.pfree[node_exporter,"{#FSNAME}"]'
              value_type: FLOAT
              units: '%'
              description: 'Free metadata space expressed as a percentage.'
              preprocessing:
                - type: PROMETHEUS_TO_JSON
                  parameters:
                    - '{__name__=~"node_filesystem_files.*",mountpoint="{#FSNAME}"}'
                - type: JAVASCRIPT
                  parameters:
                    - |
                      var inode_free;
                      var inode_total;
                      
                      JSON.parse(value).forEach(function (metric) {
                      	if (metric['name'] == 'node_filesystem_files') {
                      		inode_total = parseFloat(metric['value']);
                      	} else if (metric['name'] == 'node_filesystem_files_free') {
                      		inode_free = parseFloat(metric['value']);
                      	}
                      });
                      
                      return (inode_free / inode_total) * 100;
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
              trigger_prototypes:
                - uuid: 27cabcc9d9644ba6b7bd8c92a740e3cc
                  expression: 'min(/Linux by Prom/vfs.fs.inode.pfree[node_exporter,"{#FSNAME}"],5m)<{$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"}'
                  name: 'Linux: FS [{#FSNAME}]: Running out of free inodes'
                  event_name: 'Linux: FS [{#FSNAME}]: Running out of free inodes (free < {$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"}%)'
                  opdata: 'Free inodes: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: 'Disk writing may fail if index nodes are exhausted, leading to error messages like "No space left on device" or "Disk is full", despite available free space.'
                  tags:
                    - tag: scope
                      value: capacity
                    - tag: scope
                      value: performance
                - uuid: c639215f6dd94c71aebf97265a282a0d
                  expression: 'min(/Linux by Prom/vfs.fs.inode.pfree[node_exporter,"{#FSNAME}"],5m)<{$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"}'
                  name: 'Linux: FS [{#FSNAME}]: Running out of free inodes'
                  event_name: 'Linux: FS [{#FSNAME}]: Running out of free inodes (free < {$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"}%)'
                  opdata: 'Free inodes: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'Disk writing may fail if index nodes are exhausted, leading to error messages like "No space left on device" or "Disk is full", despite available free space.'
                  dependencies:
                    - name: 'Linux: FS [{#FSNAME}]: Running out of free inodes'
                      expression: 'min(/Linux by Prom/vfs.fs.inode.pfree[node_exporter,"{#FSNAME}"],5m)<{$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"}'
                  tags:
                    - tag: scope
                      value: capacity
                    - tag: scope
                      value: performance
            - uuid: 89afe41bb0d74c579a9cff8b036d30dc
              name: 'FS [{#FSNAME}]: Space: Used, in %'
              type: DEPENDENT
              key: 'vfs.fs.pused[node_exporter,"{#FSNAME}"]'
              value_type: FLOAT
              units: '%'
              description: 'Calculated as the percentage of currently used space compared to the maximum available space.'
              preprocessing:
                - type: PROMETHEUS_TO_JSON
                  parameters:
                    - '{__name__=~"^node_filesystem_(avail|free|size)(?:_bytes)?$",mountpoint="{#FSNAME}"}'
                - type: JAVASCRIPT
                  parameters:
                    - |
                      var available,
                      	free,
                      	total;
                      
                      JSON.parse(value).forEach(function(metric) {
                      	if (metric['name'] == 'node_filesystem_size_bytes'){
                      		total = parseFloat(metric['value']);
                      	} else if (metric['name'] == 'node_filesystem_free_bytes'){
                      		free = parseFloat(metric['value']);
                      	} else if (metric['name'] == 'node_filesystem_avail_bytes'){
                      		available = parseFloat(metric['value']);
                      	}
                      });
                      if ((total - free + available) <= 0){
                      	return 0;
                      } else {
                      	return (100 - 100 * available / (total - free + available));
                      }
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
              trigger_prototypes:
                - uuid: d5687d7aa0484b389f0bd168d50ee1e6
                  expression: 'min(/Linux by Prom/vfs.fs.pused[node_exporter,"{#FSNAME}"],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}'
                  name: 'Linux: FS [{#FSNAME}]: Space is critically low'
                  event_name: 'Linux: FS [{#FSNAME}]: Space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%, total {{?last(//vfs.fs.total[node_exporter,"{#FSNAME}"])/1024/1024/1024}.fmtnum(1)}GB)'
                  opdata: 'Space used: {{ITEM.LASTVALUE1}.fmtnum(1)}%'
                  priority: AVERAGE
                  description: |
                    The storage space usage exceeds the '{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%' limit.
                    The trigger expression is based on the current used and maximum available spaces.
                    Event name represents the total volume space, which can differ from the maximum available space, depending on the filesystem type.
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: capacity
                - uuid: 8f765148cfd64d5ebda93f39d0b20e36
                  expression: 'min(/Linux by Prom/vfs.fs.pused[node_exporter,"{#FSNAME}"],5m)>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}'
                  name: 'Linux: FS [{#FSNAME}]: Space is low'
                  event_name: 'Linux: FS [{#FSNAME}]: Space is low (used > {$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}%, total {{?last(//vfs.fs.total[node_exporter,"{#FSNAME}"])/1024/1024/1024}.fmtnum(1)}GB)'
                  opdata: 'Space used: {{ITEM.LASTVALUE1}.fmtnum(1)}%'
                  priority: WARNING
                  description: |
                    The storage space usage exceeds the '{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}%' limit.
                    The trigger expression is based on the current used and maximum available spaces.
                    Event name represents the total volume space, which can differ from the maximum available space, depending on the filesystem type.
                  manual_close: 'YES'
                  dependencies:
                    - name: 'Linux: FS [{#FSNAME}]: Space is critically low'
                      expression: 'min(/Linux by Prom/vfs.fs.pused[node_exporter,"{#FSNAME}"],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: capacity
            - uuid: acb3d42ae23b48cbacd0e99c27697798
              name: 'FS [{#FSNAME}]: Space: Total'
              type: DEPENDENT
              key: 'vfs.fs.total[node_exporter,"{#FSNAME}"]'
              value_type: FLOAT
              units: B
              description: 'Total space expressed in bytes.'
              preprocessing:
                - type: PROMETHEUS_PATTERN
                  parameters:
                    - '{__name__=~"^node_filesystem_size(?:_bytes)?$", mountpoint="{#FSNAME}"}'
                    - value
                    - ''
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
            - uuid: 89e559a7ff364dd78b638454896692c5
              name: 'FS [{#FSNAME}]: Space: Used'
              type: DEPENDENT
              key: 'vfs.fs.used[node_exporter,"{#FSNAME}"]'
              value_type: FLOAT
              units: B
              description: |
                Used storage expressed in bytes.
                Reserved space is not counted in.
              preprocessing:
                - type: PROMETHEUS_TO_JSON
                  parameters:
                    - '{__name__=~"^node_filesystem_(free|size)(?:_bytes)?$",mountpoint="{#FSNAME}"}'
                - type: JAVASCRIPT
                  parameters:
                    - |
                      var free;
                      var total;
                      
                      JSON.parse(value).forEach(function(metric) {
                      	if (metric['name'] == 'node_filesystem_size_bytes'){
                      		total = parseFloat(metric['value']);
                      	} else if (metric['name'] == 'node_filesystem_free_bytes'){
                      		free = parseFloat(metric['value']);
                      	}
                      });
                      
                      return (total-free);
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
            - uuid: 3946668d2bbf47ef85ae7fcea639c622
              name: 'FS [{#FSNAME}]: Filesystem is read-only'
              type: DEPENDENT
              key: 'vfs.fs.[node_exporter,"{#FSNAME}"]'
              description: 'The filesystem is mounted as read-only. It is available only for Zabbix agents 6.4 and higher.'
              preprocessing:
                - type: PROMETHEUS_PATTERN
                  parameters:
                    - '{__name__=~"^node_filesystem_readonly$", mountpoint="{#FSNAME}"}'
                    - value
                    - ''
              master_item:
                key: node_exporter.get
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
              trigger_prototypes:
                - uuid: a17990454b7e4f96b659e61f426453c8
                  expression: 'last(/Linux by Prom/vfs.fs.[node_exporter,"{#FSNAME}"],#2)=0 and last(/Linux by Prom/vfs.fs.[node_exporter,"{#FSNAME}"])=1'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/Linux by Prom/vfs.fs.[node_exporter,"{#FSNAME}"])=0'
                  name: 'Linux: FS [{#FSNAME}]: Filesystem has become read-only'
                  priority: AVERAGE
                  description: 'The filesystem has become read-only, possibly due to an I/O error. It is available only for Zabbix agents 6.4 and higher.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: 4c6237d835a34d458de8cf2c108d1290
              name: 'FS [{#FSTYPE}({#FSNAME})]: Space usage graph, in % (relative to max available)'
              width: '600'
              height: '340'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: FILLED_REGION
                  color: F63100
                  calc_fnc: ALL
                  item:
                    host: 'Linux by Prom'
                    key: 'vfs.fs.pused[node_exporter,"{#FSNAME}"]'
            - uuid: 1febfc95ae1945b3a620cc49264d0eae
              name: 'FS [{#FSTYPE}({#FSNAME})]: Space utilization chart (relative to total)'
              width: '600'
              height: '340'
              type: PIE
              show_3d: 'YES'
              graph_items:
                - color: '787878'
                  calc_fnc: LAST
                  type: GRAPH_SUM
                  item:
                    host: 'Linux by Prom'
                    key: 'vfs.fs.total[node_exporter,"{#FSNAME}"]'
                - sortorder: '1'
                  color: F63100
                  calc_fnc: LAST
                  item:
                    host: 'Linux by Prom'
                    key: 'vfs.fs.used[node_exporter,"{#FSNAME}"]'
                - sortorder: '2'
                  color: 199C09
                  calc_fnc: LAST
                  item:
                    host: 'Linux by Prom'
                    key: 'vfs.fs.free[node_exporter,"{#FSNAME}"]'
          master_item:
            key: node_exporter.get
          lld_macro_paths:
            - lld_macro: '{#FSDEVICE}'
              path: $.device
            - lld_macro: '{#FSNAME}'
              path: $.mountpoint
            - lld_macro: '{#FSTYPE}'
              path: $.fstype
          preprocessing:
            - type: PROMETHEUS_TO_JSON
              parameters:
                - '{__name__=~"^node_filesystem_size(?:_bytes)?$", mountpoint=~".+"}'
            - type: JAVASCRIPT
              parameters:
                - |
                  var filesystems = JSON.parse(value);
                  
                  result = filesystems.map(function (filesystem) {
                  	return {
                  		'mountpoint': filesystem.labels.mountpoint,
                  		'fstype': filesystem.labels.fstype,
                  		'device': filesystem.labels.device
                  	};
                  });
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          overrides:
            - name: 'Skip metadata collection for dynamic FS'
              step: '1'
              filter:
                conditions:
                  - macro: '{#FSTYPE}'
                    value: ^(btrfs|zfs)$
              operations:
                - operator: LIKE
                  value: Inodes
                  discover: NO_DISCOVER
      tags:
        - tag: class
          value: os
        - tag: target
          value: linux
      macros:
        - macro: '{$CPU.UTIL.CRIT}'
          value: '90'
          description: 'Critical threshold of CPU utilization expressed in %.'
          config:
            type: TEXT
            priority: '1'
            section_name: Thresholds
            label: 'Threshold of CPU utilization expressed'
            description: 'Critical threshold of CPU utilization expressed in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.ERRORS.WARN}'
          value: '2'
          description: 'Warning threshold of error packet rate. Can be used with interface name as context.'
          config:
            type: TEXT
            priority: '8'
            section_name: Thresholds
            label: 'Threshold of error packet rate'
            description: 'Warning threshold of error packet rate. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the interface utilization trigger.'
          config:
            type: TEXT
            priority: '7'
            section_name: Thresholds
            label: 'The threshold in the interface utilization'
            description: 'Used as a threshold in the interface utilization trigger. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IFCONTROL}'
          value: '1'
          description: 'Link status trigger will be fired only for interfaces where the context macro equals "1".'
          config:
            type: CHECKBOX
            priority: '6'
            label: 'Interfaces control'
            description: 'Fire a trigger when the interface operational status changes to "Link down".'
            options:
              - checked: '1'
                unchecked: '0'
        - macro: '{$KERNEL.MAXFILES.MIN}'
          value: '256'
          config:
            type: TEXT
            priority: '9'
            section_name: Thresholds
            label: 'Number of open filedescriptors'
            description: 'Configured max number of open filedescriptors. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LOAD_AVG_PER_CPU.MAX.WARN}'
          value: '1.5'
          description: 'Load per CPU considered sustainable. Tune if needed.'
          config:
            type: TEXT
            priority: '2'
            section_name: Thresholds
            label: 'The CPU load per core'
            description: 'CPU load per core is considered sustainable. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$MEMORY.AVAILABLE.MIN}'
          value: 20M
          description: 'Used as a threshold in the memory available trigger.'
          config:
            type: TEXT
            priority: '4'
            section_name: Thresholds
            label: 'Threshold in the available memory'
            description: 'Used as a threshold in the available memory trigger.'
        - macro: '{$MEMORY.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the memory utilization trigger.'
          config:
            type: TEXT
            priority: '3'
            section_name: Thresholds
            label: 'Threshold in the memory utilization'
            description: 'Used as a threshold in the memory utilization trigger. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$NET.IF.IFALIAS.MATCHES}'
          value: '^.*$'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '26'
            section_name: Filters
            label: 'Filter network interface by alias'
            description: 'Regex string to include discovered interface by alias.'
        - macro: '{$NET.IF.IFALIAS.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '27'
            section_name: Filters
            label: 'Filter network interface by alias (exclude)'
            description: 'Regex string to exclude discovered interface by alias.'
        - macro: '{$NET.IF.IFNAME.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '22'
            section_name: Filters
            label: 'Filter for network interface by name'
            description: 'Regex string to include discovered interface by name.'
        - 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.'
          config:
            type: TEXT
            priority: '23'
            section_name: Filters
            label: 'Filter for network interface by name (exclude)'
            description: 'Filters out `loopbacks`, `nulls`, docker `veth` links and `docker0` bridge by default.'
        - macro: '{$NET.IF.IFOPERSTATUS.MATCHES}'
          value: '^.*$'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '24'
            section_name: Filters
            label: 'Filter network interface by status'
            description: 'Regex string to include discovered interface by status.'
        - macro: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
          value: ^notpresent$
          description: 'Ignore `notpresent(1)`.'
          config:
            type: TEXT
            priority: '25'
            section_name: Filters
            label: 'Filter network interface by status (exclude)'
            description: 'Regex string to exclude discovered interface by status.'
        - macro: '{$NODE_EXPORTER_HOST}'
          value: '<SET NODE EXPORTER HOST>'
          description: 'The hostname or IP address of the node_exporter host.'
          config:
            type: TEXT
            priority: '12'
            label: 'The node_exporter host'
            description: 'Hostname or IP address of the node_exporter host.'
        - macro: '{$NODE_EXPORTER_PORT}'
          value: '9100'
          description: 'TCP Port node_exporter is listening on.'
          config:
            type: TEXT
            priority: '13'
            label: 'TCP Port node_exporter'
            description: 'TCP Port node_exporter is listening on. In the range from 1 to 65535 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$SWAP.PFREE.MIN.WARN}'
          value: '50'
          description: 'Warning threshold of the minimum free swap.'
          config:
            type: TEXT
            priority: '5'
            section_name: Thresholds
            label: 'Threshold of the minimum free swap'
            description: 'In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$SYSTEM.FUZZYTIME.MAX}'
          value: 60s
          description: 'The upper threshold for difference of system time.'
          config:
            type: TEXT
            priority: '11'
            section_name: Thresholds
            label: 'The upper threshold for difference of system time'
            description: 'Upper threshold for difference of system time.'
        - macro: '{$SYSTEM.FUZZYTIME.MIN}'
          value: 10s
          description: 'The lower threshold for difference of system time. Used in recovery expression to avoid trigger flapping.'
          config:
            type: TEXT
            priority: '10'
            section_name: Thresholds
            label: 'The lower threshold for difference of system time'
            description: 'Lower threshold for difference of system time.'
        - macro: '{$VFS.DEV.DEVNAME.MATCHES}'
          value: .+
          description: 'Used in block device discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '20'
            section_name: Filters
            label: 'Filter for block device discovery'
            description: 'Regex string to include discovered block device.'
        - macro: '{$VFS.DEV.DEVNAME.NOT_MATCHES}'
          value: '^(loop[0-9]*|sd[a-z][0-9]+|nbd[0-9]+|sr[0-9]+|fd[0-9]+|dm-[0-9]+|ram[0-9]+|ploop[a-z0-9]+|md[0-9]*|hcp[0-9]*|zram[0-9]*)'
          description: 'Used in block device discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '21'
            section_name: Filters
            label: 'Filter for block device discovery (exclude)'
            description: 'Regex string to exclude discovered block device.'
        - macro: '{$VFS.DEV.READ.AWAIT.WARN}'
          value: '20'
          description: 'Disk read average response time (in ms) before the trigger fires.'
          config:
            type: TEXT
            priority: '14'
            label: 'The average read time (in ms)'
            description: 'Average response time (in ms) of disk read before the trigger fires. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.DEV.WRITE.AWAIT.WARN}'
          value: '20'
          description: 'Disk write average response time (in ms) before the trigger fires.'
          config:
            type: TEXT
            priority: '15'
            label: 'The average write time (in ms)'
            description: 'Average response time (in ms) of disk write before the trigger fires. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.FSDEVICE.MATCHES}'
          value: ^.+$
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '32'
            section_name: Filters
            label: 'Filter filesystem for device'
            description: 'Regex string to include discovered filesystem by device.'
        - macro: '{$VFS.FS.FSDEVICE.NOT_MATCHES}'
          value: ^\s$
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '33'
            section_name: Filters
            label: 'Filter filesystem for device (exclude)'
            description: 'Regex string to exclude discovered filesystem by device.'
        - macro: '{$VFS.FS.FSNAME.MATCHES}'
          value: .+
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '29'
            section_name: Filters
            label: 'Filter filesystem by name'
            description: 'Regex string to exclude discovered filesystem by name.'
        - macro: '{$VFS.FS.FSNAME.NOT_MATCHES}'
          value: ^(/dev|/sys|/run|/proc|.+/shm$)
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '28'
            section_name: Filters
            label: 'Filter filesystem by name (exclude)'
            description: 'Regex string to include discovered filesystem by name.'
        - macro: '{$VFS.FS.FSTYPE.MATCHES}'
          value: ^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '30'
            section_name: Filters
            label: 'Filter filesystem by type'
            description: 'Regex string to include discovered filesystem by type.'
        - macro: '{$VFS.FS.FSTYPE.NOT_MATCHES}'
          value: ^\s$
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '31'
            section_name: Filters
            label: 'Filter filesystem by type (exclude)'
            description: 'Regex string to exclude discovered filesystem by type.'
        - macro: '{$VFS.FS.INODE.PFREE.MIN.CRIT}'
          value: '10'
          description: 'The critical threshold of the filesystem metadata utilization.'
          config:
            type: TEXT
            priority: '19'
            section_name: Thresholds
            label: 'Threshold of the filesystem metadata utilization (critical)'
            description: 'Critical threshold of the filesystem metadata utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.INODE.PFREE.MIN.WARN}'
          value: '20'
          description: 'The warning threshold of the filesystem metadata utilization.'
          config:
            type: TEXT
            priority: '18'
            section_name: Thresholds
            label: 'Threshold of the filesystem metadata utilization'
            description: 'Warning threshold of the filesystem metadata utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.CRIT}'
          value: '90'
          description: 'The critical threshold of the filesystem utilization.'
          config:
            type: TEXT
            priority: '17'
            section_name: Thresholds
            label: 'Threshold of the filesystem utilization (critical)'
            description: 'Critical threshold of the filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.WARN}'
          value: '80'
          description: 'The warning threshold of the filesystem utilization.'
          config:
            type: TEXT
            priority: '16'
            section_name: Thresholds
            label: 'Threshold of the filesystem utilization'
            description: 'Warning threshold of the filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
      dashboards:
        - uuid: d0966792c5d04c4a92d9422114a09385
          name: Filesystems
          pages:
            - name: Overview
              widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '3'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Prom'
                        name: 'FS [{#FSTYPE}({#FSNAME})]: Space utilization chart (relative to total)'
                    - type: STRING
                      name: reference
                      value: AAAEB
                - type: graphprototype
                  'y': '5'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Prom'
                        name: 'FS [{#FSTYPE}({#FSNAME})]: Space usage graph, in % (relative to max available)'
                    - type: STRING
                      name: reference
                      value: AAAEC
        - uuid: 19dac6b780aa49558bf4a3782ba4b3b6
          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: 'Linux by Prom'
                        name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAJ
        - uuid: 558606056f464970a7c544ba75d544f2
          name: 'System performance'
          pages:
            - widgets:
                - type: graph
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Linux by Prom'
                        name: 'Linux: System load'
                    - type: STRING
                      name: reference
                      value: AAAAA
                - type: graph
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Linux by Prom'
                        name: 'Linux: Memory usage'
                    - type: STRING
                      name: reference
                      value: AAAAC
                - type: graphprototype
                  'y': '10'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '3'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Prom'
                        name: 'FS [{#FSTYPE}({#FSNAME})]: Space utilization chart (relative to total)'
                    - type: STRING
                      name: reference
                      value: AAAEA
                - type: graphprototype
                  'y': '15'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Prom'
                        name: '{#DEVNAME}: Disk read/write rates'
                    - type: STRING
                      name: reference
                      value: AAAAF
                - type: graphprototype
                  'y': '20'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Prom'
                        name: '{#DEVNAME}: Disk average waiting time'
                    - type: STRING
                      name: reference
                      value: AAAAG
                - type: graphprototype
                  'y': '25'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Prom'
                        name: '{#DEVNAME}: Disk utilization and queue'
                    - type: STRING
                      name: reference
                      value: AAAAH
                - type: graphprototype
                  'y': '30'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Prom'
                        name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAI
                - type: graph
                  x: '36'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Linux by Prom'
                        name: 'Linux: CPU usage'
                    - type: STRING
                      name: reference
                      value: AAAAB
                - type: graph
                  x: '36'
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Linux by Prom'
                        name: 'Linux: Swap usage'
                    - type: STRING
                      name: reference
                      value: AAAAD
      valuemaps:
        - uuid: 4827063819f14d539f509552c84f5f94
          name: ifOperStatus
          mappings:
            - value: '0'
              newvalue: unknown
            - value: '1'
              newvalue: notpresent
            - value: '2'
              newvalue: down
            - value: '3'
              newvalue: lowerlayerdown
            - value: '4'
              newvalue: testing
            - value: '5'
              newvalue: dormant
            - value: '6'
              newvalue: up
        - uuid: 4d912f1ee95942038f306ddefb3a57b3
          name: 'Linux::Interface protocol types'
          mappings:
            - value: '0'
              newvalue: 'from KA9Q: NET/ROM pseudo'
            - value: '1'
              newvalue: Ethernet
            - value: '2'
              newvalue: 'Experimental Ethernet'
            - value: '3'
              newvalue: 'AX.25 Level 2'
            - value: '4'
              newvalue: 'PROnet token ring'
            - value: '5'
              newvalue: Chaosnet
            - value: '6'
              newvalue: 'IEEE 802.2 Ethernet/TR/TB'
            - value: '7'
              newvalue: ARCnet
            - value: '8'
              newvalue: APPLEtalk
            - value: '15'
              newvalue: 'Frame Relay DLCI'
            - value: '19'
              newvalue: ATM
            - value: '23'
              newvalue: 'Metricom STRIP (new IANA id)'
            - value: '24'
              newvalue: 'IEEE 1394 IPv4 - RFC 2734'
            - value: '27'
              newvalue: EUI-64
            - value: '32'
              newvalue: InfiniBand
            - value: '256'
              newvalue: ARPHRD_SLIP
            - value: '257'
              newvalue: ARPHRD_CSLIP
            - value: '258'
              newvalue: ARPHRD_SLIP6
            - value: '259'
              newvalue: ARPHRD_CSLIP6
            - value: '260'
              newvalue: 'Notional KISS type'
            - value: '264'
              newvalue: ARPHRD_ADAPT
            - value: '270'
              newvalue: ARPHRD_ROSE
            - value: '271'
              newvalue: 'CCITT X.25'
            - value: '272'
              newvalue: 'Boards with X.25 in firmware'
            - value: '280'
              newvalue: 'Controller Area Network'
            - value: '512'
              newvalue: ARPHRD_PPP
            - value: '513'
              newvalue: 'Cisco HDLC'
            - value: '516'
              newvalue: LAPB
            - value: '517'
              newvalue: 'Digital''s DDCMP protocol'
            - value: '518'
              newvalue: 'Raw HDLC'
            - value: '519'
              newvalue: 'Raw IP'
            - value: '768'
              newvalue: 'IPIP tunnel'
            - value: '769'
              newvalue: 'IP6IP6 tunnel'
            - value: '770'
              newvalue: 'Frame Relay Access Device'
            - value: '771'
              newvalue: 'SKIP vif'
            - value: '772'
              newvalue: 'Loopback device'
            - value: '773'
              newvalue: 'Localtalk device'
            - value: '774'
              newvalue: 'Fiber Distributed Data Interface'
            - value: '775'
              newvalue: 'AP1000 BIF'
            - value: '776'
              newvalue: 'sit0 device - IPv6-in-IPv4'
            - value: '777'
              newvalue: 'IP over DDP tunneller'
            - value: '778'
              newvalue: 'GRE over IP'
            - value: '779'
              newvalue: 'PIMSM register interface'
            - value: '780'
              newvalue: 'High Performance Parallel Interface'
            - value: '781'
              newvalue: 'Nexus 64Mbps Ash'
            - value: '782'
              newvalue: 'Acorn Econet'
            - value: '783'
              newvalue: Linux-IrDA
            - value: '784'
              newvalue: 'Point to point fibrechannel'
            - value: '785'
              newvalue: 'Fibrechannel arbitrated loop'
            - value: '786'
              newvalue: 'Fibrechannel public loop'
            - value: '787'
              newvalue: 'Fibrechannel fabric'
            - value: '800'
              newvalue: 'Magic type ident for TR'
            - value: '801'
              newvalue: 'IEEE 802.11'
            - value: '802'
              newvalue: 'IEEE 802.11 + Prism2 header'
            - value: '803'
              newvalue: 'IEEE 802.11 + radiotap header'
            - value: '804'
              newvalue: ARPHRD_IEEE802154
            - value: '805'
              newvalue: 'IEEE 802.15.4 network monitor'
            - value: '820'
              newvalue: 'PhoNet media type'
            - value: '821'
              newvalue: 'PhoNet pipe header'
            - value: '822'
              newvalue: 'CAIF media type'
            - value: '823'
              newvalue: 'GRE over IPv6'
            - value: '824'
              newvalue: 'Netlink header'
            - value: '825'
              newvalue: 'IPv6 over LoWPAN'
            - value: '826'
              newvalue: 'Vsock monitor header'
    - uuid: 4d3a7adbb6964bd08f2b9d28e0da6496
      template: 'Linux by SNMP'
      name: 'Linux by SNMP'
      description: |
        This is an official Linux template. It requires an SNMP client.
        
        MIBs used:
        EtherLike-MIB
        HOST-RESOURCES-MIB
        SNMPv2-MIB
        UCD-DISKIO-MIB
        UCD-SNMP-MIB
        IF-MIB
        
        Notes on filesystem (FS) discovery:
          - The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
          - BTRFS allocates a default of 10% of the volume for its own needs.
          - To mitigate potential disasters, FS usage triggers are based on the maximum available space.
            - Utilization formula: 'pused = 100 * (used / used + available)'
          - The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
        
        You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387225-discussion-thread-for-official-zabbix-template-for-linux
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      readme: |
        ## Overview
        
        This is an official Linux template. It requires an SNMP client.
        
        #### Notes on filesystem (FS) discovery:
        - The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
        - BTRFS allocates a default of 10% of the volume for its own needs.
        - To mitigate potential disasters, FS usage triggers are based on the maximum available space.
          - Utilization formula: `pused = 100 * (used / used + available)`
        - The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
        
        ## Setup
        
        Install snmpd agent on Linux OS, enable SNMPv2.
        
        Make sure access to UCD-SNMP-MIB is allowed from Zabbix server/proxy host, since,
        by default, snmpd (for example, in Ubuntu) limits access to basic system information only:
        
        ```text
        rocommunity public  default    -V systemonly
        ```
        
        Ensure snmpd is monitoring disks, using `includeALLDisks` or `disk` options. Example:
        ```
        includeALLDisks 0% # monitors all disks starting with 0% fill rate
        # disk / 0% # monitor only / root volume starting with 0% fill rate
        ```
        Make sure you change that in order to read metrics of UCD-SNMP-MIB and UCD-DISKIO-MIB. Please refer to the documentation:
        http://www.net-snmp.org/wiki/index.php/Vacm
        
        You can also try to use `snmpconf`:
        
        http://www.net-snmp.org/wiki/index.php/TUT:snmpd_configuration
      vendor:
        name: Zabbix
        version: 7.4-3
      groups:
        - name: 'Templates/Operating systems'
      items:
        - uuid: 28f98683b9af4558813287cfa151719b
          name: 'ICMP ping'
          type: SIMPLE
          key: icmpping
          valuemap:
            name: 'Service state'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 28927c3715714a77a259d48943ddb8fe
              expression: 'max(/Linux by SNMP/icmpping,#3)=0'
              name: 'Linux: Unavailable by ICMP ping'
              priority: HIGH
              description: 'Last three attempts returned timeout.  Please check device connectivity.'
              tags:
                - tag: scope
                  value: availability
        - uuid: bc5a3fbab2834f8bb012325071c5b2e0
          name: 'ICMP loss'
          type: SIMPLE
          key: icmppingloss
          value_type: FLOAT
          units: '%'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: f6d63c03e6f34888897464102fa369ec
              expression: 'min(/Linux by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Linux by SNMP/icmppingloss,5m)<100'
              name: 'Linux: High ICMP ping loss'
              opdata: 'Loss: {ITEM.LASTVALUE1}'
              priority: WARNING
              dependencies:
                - name: 'Linux: Unavailable by ICMP ping'
                  expression: 'max(/Linux by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: b1e02fd733c14d71935e24fbe8786d40
          name: 'ICMP response time'
          type: SIMPLE
          key: icmppingsec
          value_type: FLOAT
          units: s
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 1c1b86790d6442e59f50d94f9844c337
              expression: 'avg(/Linux by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN}'
              name: 'Linux: High ICMP ping response time'
              opdata: 'Value: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'Average ICMP response time is too high.'
              dependencies:
                - name: 'Linux: High ICMP ping loss'
                  expression: 'min(/Linux by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Linux by SNMP/icmppingloss,5m)<100'
                - name: 'Linux: Unavailable by ICMP ping'
                  expression: 'max(/Linux by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: da392895de1c447eb5d3f1f950360639
          name: 'Linux: 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
          history: '0'
          value_type: TEXT
          description: 'Discovering interfaces from IF-MIB and EtherLike-MIB. Interfaces with `up(1)` Operational Status are discovered.'
          tags:
            - tag: component
              value: raw
        - uuid: 661b9bbeb1f146da9c0d9bfa8e5f26d5
          name: 'Linux: 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
          history: '0'
          value_type: TEXT
          description: 'Discovering interfaces from IF-MIB.'
          tags:
            - tag: component
              value: raw
        - uuid: 85a597b741bb4e6e8fa9806e8737caf4
          name: 'SNMP traps (fallback)'
          type: SNMP_TRAP
          key: snmptrap.fallback
          value_type: LOG
          description: 'The item is used to collect all SNMP traps unmatched by other snmptrap items'
          logtimefmt: 'hh:mm:sszyyyy/MM/dd'
          tags:
            - tag: component
              value: network
        - uuid: e45c4b2df4a640a1a36154cb2b717e9d
          name: 'System contact details'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.4.0
          key: 'system.contact[sysContact.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.
          inventory_link: CONTACT
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: fdb0807c4a9a452f8a3cbab01a4ddb2e
          name: 'Interrupts per second'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.4.1.2021.11.59.0
          key: 'system.cpu.intr[ssRawInterrupts.0]'
          value_type: FLOAT
          description: 'Number of interrupts processed.'
          preprocessing:
            - type: CHANGE_PER_SECOND
          tags:
            - tag: component
              value: cpu
        - uuid: eeaba506dee342518660c03d422faa2a
          name: 'Load average (1m avg)'
          type: SNMP_AGENT
          snmp_oid: '1.3.6.1.4.1.2021.10.1.3["index","1.3.6.1.4.1.2021.10.1.2", "Load-1"]'
          key: 'system.cpu.load.avg1[laLoad.1]'
          value_type: FLOAT
          description: 'MIB: UCD-SNMP-MIB'
          tags:
            - tag: component
              value: cpu
        - uuid: e0c8a351d59f42b78e6db4a0c50aa5d2
          name: 'Load average (5m avg)'
          type: SNMP_AGENT
          snmp_oid: '1.3.6.1.4.1.2021.10.1.3["index","1.3.6.1.4.1.2021.10.1.2", "Load-5"]'
          key: 'system.cpu.load.avg5[laLoad.2]'
          value_type: FLOAT
          description: 'MIB: UCD-SNMP-MIB'
          tags:
            - tag: component
              value: cpu
        - uuid: 0a5c406d4e434dbba248a18318f6a869
          name: 'Load average (15m avg)'
          type: SNMP_AGENT
          snmp_oid: '1.3.6.1.4.1.2021.10.1.3["index","1.3.6.1.4.1.2021.10.1.2", "Load-15"]'
          key: 'system.cpu.load.avg15[laLoad.3]'
          value_type: FLOAT
          description: 'MIB: UCD-SNMP-MIB'
          tags:
            - tag: component
              value: cpu
        - uuid: f835f2d2e65c4efc8934a61870d907ca
          name: 'Number of CPUs'
          type: DEPENDENT
          key: 'system.cpu.num[snmp]'
          description: 'Count the number of CPU cores by counting number of cores discovered in hrProcessorTable using LLD.'
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.2.1.25.3.3.1.1
                - '0'
            - type: JAVASCRIPT
              parameters:
                - 'return JSON.parse(value).length;'
          master_item:
            key: system.cpu.walk
          tags:
            - tag: component
              value: cpu
        - uuid: e10a890dc6724cbda96f7c40c49cd730
          name: 'Context switches per second'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.4.1.2021.11.60.0
          key: 'system.cpu.switches[ssRawContexts.0]'
          value_type: FLOAT
          description: 'The combined rate at which all processors on the computer are switched from one thread to another.'
          preprocessing:
            - type: CHANGE_PER_SECOND
          tags:
            - tag: component
              value: cpu
        - uuid: fb2a968ed48f4c6287da2b06bc3b95f3
          name: 'SNMP walk system CPUs'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.4.1.2021.11.53.0,1.3.6.1.4.1.2021.11.52.0,1.3.6.1.4.1.2021.11.50.0,1.3.6.1.4.1.2021.11.64.0,1.3.6.1.4.1.2021.11.61.0,1.3.6.1.4.1.2021.11.51.0,1.3.6.1.4.1.2021.11.54.0,1.3.6.1.4.1.2021.11.56.0,1.3.6.1.4.1.2021.11.65.0,1.3.6.1.4.1.2021.11.66.0]'
          key: system.cpu.walk
          history: '0'
          value_type: TEXT
          description: |
            MIB: HOST-RESOURCES-MIB
            Discovering system CPUs.
          tags:
            - tag: component
              value: raw
        - uuid: abd4d4b7097644478329b578dfa7bf09
          name: 'System description'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.1.0
          key: 'system.descr[sysDescr.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            A textual description of the entity. This value should
            include the full name and version identification of the system's hardware type, software operating-system, and
            networking software.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: d1a9af129dbb4fed8e67efcca383aeae
          name: 'Uptime (hardware)'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.25.1.1.0
          key: 'system.hw.uptime[hrSystemUptime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: HOST-RESOURCES-MIB
            The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.
          preprocessing:
            - type: CHECK_NOT_SUPPORTED
              parameters:
                - '-1'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: 9f2b3de3245e4ffea5aefc636e0f3da1
          name: 'System location'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.6.0
          key: 'system.location[sysLocation.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.
          inventory_link: LOCATION
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 3ee68ecd1edc4f5d9cddefa78f8d502e
          name: 'System name'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.5.0
          key: system.name
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name.  If the name is unknown, the value is the zero-length string.
          inventory_link: NAME
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: eeb0355174d74892a4e3a078e6ac7952
              expression: 'last(/Linux by SNMP/system.name,#1)<>last(/Linux by SNMP/system.name,#2) and length(last(/Linux by SNMP/system.name))>0'
              name: 'Linux: System name has changed'
              event_name: 'Linux: 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: d3fba18851db4be08df04ab85536bb14
          name: 'Uptime (network)'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.3.0
          key: 'system.net.uptime[sysUpTime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: SNMPv2-MIB
            Time (in hundredths of a second) since the network management portion of the system was last re-initialized.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: 5b17833c4646423d8fd4115fa19d2ffe
          name: 'System object ID'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.2.0
          key: 'system.objectid[sysObjectID.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The vendor's authoritative identification of the network management subsystem contained in the entity.  This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box' is being managed.  For example, if vendor`Flintstones, Inc.' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: a8ad10709a6e457187f58695de20b027
          name: 'Free swap space'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.4.1.2021.4.4.0
          key: 'system.swap.free[memAvailSwap.0]'
          units: B
          description: |
            MIB: UCD-SNMP-MIB
            The amount of swap space currently unused or available.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '1024'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: 52ae3f1d7b3d4b669b40f0fddbb0e326
          name: 'Free swap space in %'
          type: CALCULATED
          key: 'system.swap.pfree[snmp]'
          value_type: FLOAT
          units: '%'
          params: 'last(//system.swap.free[memAvailSwap.0])/last(//system.swap.total[memTotalSwap.0])*100'
          description: 'The free space of the swap volume/file expressed in %.'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: 7db5193027794961840c228c6280fe5b
          name: 'Total swap space'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.4.1.2021.4.3.0
          key: 'system.swap.total[memTotalSwap.0]'
          units: B
          description: |
            MIB: UCD-SNMP-MIB
            The total amount of swap space configured for this host.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '1024'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: 94c5ede90a50467989a4559e51c0bcef
          name: 'SNMP walk block devices'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.2021.13.15.1.1.2,1.3.6.1.4.1.2021.13.15.1.1.5,1.3.6.1.4.1.2021.13.15.1.1.6,1.3.6.1.4.1.2021.13.15.1.1.9]'
          key: vfs.dev.walk
          history: '0'
          value_type: TEXT
          description: 'Block devices are discovered from UCD-DISKIO-MIB::diskIOTable (http://net-snmp.sourceforge.net/docs/mibs/ucdDiskIOMIB.html#diskIOTable).'
          tags:
            - tag: component
              value: raw
        - uuid: 8ad72047f03a452f9698254fe6b4ffd2
          name: 'SNMP walk mounted filesystems'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.2021.9.1.1,1.3.6.1.4.1.2021.9.1.2,1.3.6.1.4.1.2021.9.1.3,1.3.6.1.4.1.2021.9.1.10,1.3.6.1.4.1.2021.9.1.11,1.3.6.1.4.1.2021.9.1.12,1.3.6.1.4.1.2021.9.1.13,1.3.6.1.4.1.2021.9.1.14,1.3.6.1.4.1.2021.9.1.15,1.3.6.1.4.1.2021.9.1.16]'
          key: vfs.fs.walk
          history: '0'
          value_type: TEXT
          description: |
            MIB: UCD-SNMP-MIB
            Snmp walk through dskEntry table. Collected data used in filesystem lld and dependent item prototypes.
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - dskPath
                - 1.3.6.1.4.1.2021.9.1.2
                - '0'
                - dskDevice
                - 1.3.6.1.4.1.2021.9.1.3
                - '0'
                - dskPercentNode
                - 1.3.6.1.4.1.2021.9.1.10
                - '0'
                - dskTotalLow
                - 1.3.6.1.4.1.2021.9.1.11
                - '0'
                - dskTotalHigh
                - 1.3.6.1.4.1.2021.9.1.12
                - '0'
                - dskAvailLow
                - 1.3.6.1.4.1.2021.9.1.13
                - '0'
                - dskAvailHigh
                - 1.3.6.1.4.1.2021.9.1.14
                - '0'
                - dskUsedLow
                - 1.3.6.1.4.1.2021.9.1.15
                - '0'
                - dskUsedHigh
                - 1.3.6.1.4.1.2021.9.1.16
                - '0'
                - dskEntry
                - 1.3.6.1.4.1.2021.9.1.1
                - '0'
          tags:
            - tag: component
              value: raw
            - tag: component
              value: storage
        - uuid: ad8a3857e8b04dffbc0c052a0d36fe08
          name: 'Available memory'
          type: CALCULATED
          key: 'vm.memory.available[snmp]'
          units: B
          params: 'last(//vm.memory.free[memAvailReal.0])+last(//vm.memory.buffers[memBuffer.0])+last(//vm.memory.cached[memCached.0])'
          description: 'Please note that memory utilization is a rough estimate, since memory available is calculated as free+buffers+cached, which is not 100% accurate, but the best we can get using SNMP.'
          tags:
            - tag: component
              value: memory
        - uuid: c071dae605b64cce886df7d2865e77e0
          name: 'Memory (buffers)'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.4.1.2021.4.14.0
          key: 'vm.memory.buffers[memBuffer.0]'
          units: B
          description: |
            MIB: UCD-SNMP-MIB
            Memory used by kernel buffers (Buffers in /proc/meminfo).
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '1024'
          tags:
            - tag: component
              value: memory
        - uuid: d5e0a99bfd9844108c3d26d53d1a3d0c
          name: 'Memory (cached)'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.4.1.2021.4.15.0
          key: 'vm.memory.cached[memCached.0]'
          units: B
          description: |
            MIB: UCD-SNMP-MIB
            Memory used by the page cache and slabs (Cached and Slab in /proc/meminfo).
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '1024'
          tags:
            - tag: component
              value: memory
        - uuid: fc3fb5310e8f4af7a093b9df9eede403
          name: 'Free memory'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.4.1.2021.4.6.0
          key: 'vm.memory.free[memAvailReal.0]'
          units: B
          description: 'MIB: UCD-SNMP-MIB'
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '1024'
          tags:
            - tag: component
              value: memory
        - uuid: de35484e53b24894aa050f15e1941106
          name: 'Total memory'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.4.1.2021.4.5.0
          key: 'vm.memory.total[memTotalReal.0]'
          units: B
          description: |
            MIB: UCD-SNMP-MIB
            Total memory expressed in bytes.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '1024'
          tags:
            - tag: component
              value: memory
        - uuid: 640d893d48d44f2ebe2c9e9bb0158f76
          name: 'Memory utilization'
          type: CALCULATED
          key: 'vm.memory.util[snmp]'
          value_type: FLOAT
          units: '%'
          params: '(last(//vm.memory.total[memTotalReal.0])-(last(//vm.memory.free[memAvailReal.0])+last(//vm.memory.buffers[memBuffer.0])+last(//vm.memory.cached[memCached.0])))/last(//vm.memory.total[memTotalReal.0])*100'
          description: 'Please note that memory utilization is a rough estimate, since memory available is calculated as free+buffers+cached, which is not 100% accurate, but the best we can get using SNMP.'
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: 063b87d246b04e74a439114a05f00fe5
              expression: 'min(/Linux by SNMP/vm.memory.util[snmp],5m)>{$MEMORY.UTIL.MAX}'
              name: 'Linux: High memory utilization'
              event_name: 'Linux: High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m)'
              priority: AVERAGE
              description: 'The system is running out of free memory.'
              dependencies:
                - name: 'Linux: Lack of available memory'
                  expression: 'max(/Linux by SNMP/vm.memory.available[snmp],5m)<{$MEMORY.AVAILABLE.MIN} and last(/Linux by SNMP/vm.memory.total[memTotalReal.0])>0'
              tags:
                - tag: scope
                  value: capacity
                - tag: scope
                  value: performance
        - uuid: 03491bb9b98f4267bf1ff56cc226d819
          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: 63d99e49b3584fb2bf61a7d56725fb3c
              expression: 'max(/Linux by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
              name: 'Linux: 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: 'Linux: Unavailable by ICMP ping'
                  expression: 'max(/Linux by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: 4089ef5360ec4b2a98b7742e8e4e9dd6
          name: 'CPU discovery'
          type: DEPENDENT
          key: 'cpu.discovery[snmp]'
          description: 'This discovery will create set of per core CPU metrics from UCD-SNMP-MIB, using {#CPU.COUNT} in preprocessing. That''s the only reason why LLD is used.'
          item_prototypes:
            - uuid: 528c02f7e0414cb5a97def6702fceb2a
              name: 'CPU guest time'
              type: DEPENDENT
              key: 'system.cpu.guest[ssCpuRawGuest.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: UCD-SNMP-MIB
                Time spent on running a virtual CPU for a guest operating system.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - 1.3.6.1.4.1.2021.11.65.0
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: JAVASCRIPT
                  parameters:
                    - 'return value/{#CPU.COUNT}'
              master_item:
                key: system.cpu.walk
              tags:
                - tag: component
                  value: cpu
            - uuid: ce514c83afb345b2b0f3b85d6ec89dc3
              name: 'CPU guest nice time'
              type: DEPENDENT
              key: 'system.cpu.guest_nice[ssCpuRawGuestNice.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: UCD-SNMP-MIB
                Time spent on running a niced guest (a virtual CPU for guest operating systems under the control of the Linux kernel).
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - 1.3.6.1.4.1.2021.11.66.0
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: JAVASCRIPT
                  parameters:
                    - 'return value/{#CPU.COUNT}'
              master_item:
                key: system.cpu.walk
              tags:
                - tag: component
                  value: cpu
            - uuid: 394bffd2086545af806f4ad990f853a1
              name: 'CPU idle time'
              type: DEPENDENT
              key: 'system.cpu.idle[ssCpuRawIdle.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: UCD-SNMP-MIB
                Time the CPU has spent doing nothing.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - 1.3.6.1.4.1.2021.11.53.0
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: JAVASCRIPT
                  parameters:
                    - 'return value/{#CPU.COUNT}'
              master_item:
                key: system.cpu.walk
              tags:
                - tag: component
                  value: cpu
            - uuid: 88e9044abe71483a8670b572517ff4ad
              name: 'CPU interrupt time'
              type: DEPENDENT
              key: 'system.cpu.interrupt[ssCpuRawInterrupt.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: UCD-SNMP-MIB
                Time the CPU has spent servicing hardware interrupts.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - 1.3.6.1.4.1.2021.11.56.0
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: JAVASCRIPT
                  parameters:
                    - 'return value/{#CPU.COUNT}'
              master_item:
                key: system.cpu.walk
              tags:
                - tag: component
                  value: cpu
            - uuid: 87d1467c79cc4a3d8e5caf3b35de7e17
              name: 'CPU iowait time'
              type: DEPENDENT
              key: 'system.cpu.iowait[ssCpuRawWait.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: UCD-SNMP-MIB
                Time the CPU has been waiting for I/O to complete.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - 1.3.6.1.4.1.2021.11.54.0
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: JAVASCRIPT
                  parameters:
                    - 'return value/{#CPU.COUNT}'
              master_item:
                key: system.cpu.walk
              tags:
                - tag: component
                  value: cpu
            - uuid: d35896698d2a459fb682eb170e7005de
              name: 'CPU nice time'
              type: DEPENDENT
              key: 'system.cpu.nice[ssCpuRawNice.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: UCD-SNMP-MIB
                Time the CPU has spent running users' processes that have been niced.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - 1.3.6.1.4.1.2021.11.51.0
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: JAVASCRIPT
                  parameters:
                    - 'return value/{#CPU.COUNT}'
              master_item:
                key: system.cpu.walk
              tags:
                - tag: component
                  value: cpu
            - uuid: b48b79d7c2464bd996776477e55ce724
              name: 'CPU softirq time'
              type: DEPENDENT
              key: 'system.cpu.softirq[ssCpuRawSoftIRQ.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: UCD-SNMP-MIB
                Time the CPU has been servicing software interrupts.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - 1.3.6.1.4.1.2021.11.61.0
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: JAVASCRIPT
                  parameters:
                    - 'return value/{#CPU.COUNT}'
              master_item:
                key: system.cpu.walk
              tags:
                - tag: component
                  value: cpu
            - uuid: f0e15f783b434cc49c97681e15def25c
              name: 'CPU steal time'
              type: DEPENDENT
              key: 'system.cpu.steal[ssCpuRawSteal.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: UCD-SNMP-MIB
                The amount of "stolen" CPU from this virtual machine by the hypervisor for other tasks, such as running another virtual machine.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - 1.3.6.1.4.1.2021.11.64.0
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: JAVASCRIPT
                  parameters:
                    - 'return value/{#CPU.COUNT}'
              master_item:
                key: system.cpu.walk
              tags:
                - tag: component
                  value: cpu
            - uuid: 9f063ab6a217459e9e1ae95cc77071ff
              name: 'CPU system time'
              type: DEPENDENT
              key: 'system.cpu.system[ssCpuRawSystem.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: UCD-SNMP-MIB
                Time the CPU has spent running the kernel and its processes.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - 1.3.6.1.4.1.2021.11.52.0
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: JAVASCRIPT
                  parameters:
                    - 'return value/{#CPU.COUNT}'
              master_item:
                key: system.cpu.walk
              tags:
                - tag: component
                  value: cpu
            - uuid: e07c1afe5f8c4db0bae364933df3e571
              name: 'CPU user time'
              type: DEPENDENT
              key: 'system.cpu.user[ssCpuRawUser.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: UCD-SNMP-MIB
                Time the CPU has spent running users' processes that are not niced.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - 1.3.6.1.4.1.2021.11.50.0
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: JAVASCRIPT
                  parameters:
                    - 'return value/{#CPU.COUNT}'
              master_item:
                key: system.cpu.walk
              tags:
                - tag: component
                  value: cpu
            - uuid: dfd150b9966c49e6b8bf08570438f17c
              name: 'CPU utilization'
              type: DEPENDENT
              key: 'system.cpu.util[snmp,{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: 'CPU utilization expressed in %.'
              preprocessing:
                - type: JAVASCRIPT
                  parameters:
                    - 'return (100 - value)'
              master_item:
                key: 'system.cpu.idle[ssCpuRawIdle.{#SNMPINDEX}]'
              tags:
                - tag: component
                  value: cpu
              trigger_prototypes:
                - uuid: 34b29a2e43b347d0ada6b80a472a659e
                  expression: 'min(/Linux by SNMP/system.cpu.util[snmp,{#SNMPINDEX}],5m)>{$CPU.UTIL.CRIT}'
                  name: 'Linux: High CPU utilization'
                  event_name: 'Linux: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)'
                  opdata: 'Current utilization: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'CPU utilization is too high. The system might be slow to respond.'
                  tags:
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: fe9835f96dfd4912933e1c3db7943fdf
              name: 'Linux: CPU usage{#SINGLETON}'
              type: STACKED
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - color: 199C0D
                  item:
                    host: 'Linux by SNMP'
                    key: 'system.cpu.system[ssCpuRawSystem.{#SNMPINDEX}]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'Linux by SNMP'
                    key: 'system.cpu.user[ssCpuRawUser.{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  item:
                    host: 'Linux by SNMP'
                    key: 'system.cpu.nice[ssCpuRawNice.{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  item:
                    host: 'Linux by SNMP'
                    key: 'system.cpu.iowait[ssCpuRawWait.{#SNMPINDEX}]'
                - sortorder: '4'
                  color: FC6EA3
                  item:
                    host: 'Linux by SNMP'
                    key: 'system.cpu.steal[ssCpuRawSteal.{#SNMPINDEX}]'
                - sortorder: '5'
                  color: 6C59DC
                  item:
                    host: 'Linux by SNMP'
                    key: 'system.cpu.interrupt[ssCpuRawInterrupt.{#SNMPINDEX}]'
                - sortorder: '6'
                  color: C7A72D
                  item:
                    host: 'Linux by SNMP'
                    key: 'system.cpu.softirq[ssCpuRawSoftIRQ.{#SNMPINDEX}]'
                - sortorder: '7'
                  color: BA2A5D
                  item:
                    host: 'Linux by SNMP'
                    key: 'system.cpu.guest[ssCpuRawGuest.{#SNMPINDEX}]'
                - sortorder: '8'
                  color: F230E0
                  item:
                    host: 'Linux by SNMP'
                    key: 'system.cpu.guest_nice[ssCpuRawGuestNice.{#SNMPINDEX}]'
            - uuid: 22a742f192bb42a3b80e62b214eab9a8
              name: 'Linux: CPU utilization{#SINGLETON}'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'Linux by SNMP'
                    key: 'system.cpu.util[snmp,{#SNMPINDEX}]'
          master_item:
            key: 'system.cpu.num[snmp]'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - 'return JSON.stringify([{"{#CPU.COUNT}": value, "{#SNMPINDEX}": 0, "{#SINGLETON}":""}])'
        - uuid: c29a7bbfba3441b1b155e68cbe44a685
          name: 'Network interfaces discovery'
          type: DEPENDENT
          key: net.if.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.MATCHES}'
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.MATCHES}'
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.MATCHES}'
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.MATCHES}'
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.MATCHES}'
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.MATCHES}'
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovering interfaces from IF-MIB.'
          item_prototypes:
            - uuid: 772ca56d1df84c33847fb3de9a2fa048
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded'
              type: DEPENDENT
              key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
              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
                - 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: 23d5c37a8a66495c81babc76085dd0d0
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors'
              type: DEPENDENT
              key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
              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
                - 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: 229e36fe673e43c0a69f942c086fea97
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits received'
              type: DEPENDENT
              key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]'
              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
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: bbaad86407a349ed81b3b329e0754cdb
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded'
              type: DEPENDENT
              key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
              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
                - 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: 184b63fa8f184915a8bd365afebae00f
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors'
              type: DEPENDENT
              key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
              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
                - 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: ad64f09ccd88467f811499ef17096c0a
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits sent'
              type: DEPENDENT
              key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets transmitted out of the interface, including framing characters. This object is a 64-bit version of ifOutOctets.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
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 54b1b171187b44c2a0b8dfadf06f9b00
              name: 'Interface {#IFNAME}({#IFALIAS}): Speed'
              type: DEPENDENT
              key: 'net.if.speed[ifHighSpeed.{#SNMPINDEX}]'
              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: 4aaabfdfeeac4c779255fd8b5a4550f4
              name: 'Interface {#IFNAME}({#IFALIAS}): Operational status'
              type: DEPENDENT
              key: 'net.if.status[ifOperStatus.{#SNMPINDEX}]'
              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: 038c4ebc6bdf48f69b60fca856318638
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
                  name: 'Linux: Interface {#IFNAME}({#IFALIAS}): Link down'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: |
                    This trigger expression works as follows:
                    1. It can be triggered if the operations status is down.
                    2. `{$IFCONTROL:"{#IFNAME}"}=1` - a user can redefine 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: ce0a2b8f62ff4591b5e3bc8b348bf946
              name: 'Interface {#IFNAME}({#IFALIAS}): Interface type'
              type: DEPENDENT
              key: 'net.if.type[ifType.{#SNMPINDEX}]'
              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: 02387536c92f449384c23a0744e71ee3
              expression: |
                change(/Linux by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])<0 and last(/Linux by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
                and (
                last(/Linux by SNMP/net.if.type[ifType.{#SNMPINDEX}])=6 or
                last(/Linux by SNMP/net.if.type[ifType.{#SNMPINDEX}])=7 or
                last(/Linux by SNMP/net.if.type[ifType.{#SNMPINDEX}])=11 or
                last(/Linux by SNMP/net.if.type[ifType.{#SNMPINDEX}])=62 or
                last(/Linux by SNMP/net.if.type[ifType.{#SNMPINDEX}])=69 or
                last(/Linux by SNMP/net.if.type[ifType.{#SNMPINDEX}])=117
                )
                and
                (last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2)
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                (change(/Linux by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and last(/Linux by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}],#2)>0) or
                (last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2)
              name: 'Linux: 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: 'Linux: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: efe5516d1c164a8cb243c4806b9684a2
              expression: |
                (avg(/Linux by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) or
                avg(/Linux by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])) and
                last(/Linux by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                avg(/Linux by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Linux by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) and
                avg(/Linux by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Linux by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])
              name: 'Linux: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage'
              event_name: 'Linux: 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: 'Linux: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: dbbd6222837345b891dd613f6d40f98f
              expression: |
                min(/Linux by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
                or min(/Linux by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                max(/Linux by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
                and max(/Linux by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
              name: 'Linux: Interface {#IFNAME}({#IFALIAS}): High error rate'
              event_name: 'Linux: 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: 'Linux: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/Linux by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
          graph_prototypes:
            - uuid: c09b8ad9356741fcb9560446b50d8cf0
              name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'Linux by SNMP'
                    key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]'
                - sortorder: '1'
                  drawtype: BOLD_LINE
                  color: F63100
                  item:
                    host: 'Linux by SNMP'
                    key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  yaxisside: RIGHT
                  item:
                    host: 'Linux by SNMP'
                    key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  yaxisside: RIGHT
                  item:
                    host: 'Linux by SNMP'
                    key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
                - sortorder: '4'
                  color: FC6EA3
                  yaxisside: RIGHT
                  item:
                    host: 'Linux by SNMP'
                    key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
                - sortorder: '5'
                  color: 6C59DC
                  yaxisside: RIGHT
                  item:
                    host: 'Linux by SNMP'
                    key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
          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: 3943b515dcfc4321be0e15eb99eb0077
          name: 'EtherLike-MIB Discovery'
          type: DEPENDENT
          key: net.if.duplex.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFOPERSTATUS}'
                value: '1'
              - macro: '{#SNMPVALUE}'
                value: (2|3)
              - macro: '{#SNMPVALUE}'
                operator: EXISTS
          description: 'Discovering interfaces from IF-MIB and EtherLike-MIB. Interfaces with `up(1)` Operational Status are discovered.'
          item_prototypes:
            - uuid: cc55ecff67a044b3a6cd17136757fc32
              name: 'Interface {#IFNAME}({#IFALIAS}): Duplex status'
              type: DEPENDENT
              key: 'net.if.duplex[dot3StatsDuplexStatus.{#SNMPINDEX}]'
              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: 1e1f12c0cf744fd3aaac6570325bd661
                  expression: 'last(/Linux by SNMP/net.if.duplex[dot3StatsDuplexStatus.{#SNMPINDEX}])=2'
                  name: 'Linux: 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: 57792d6e2b4e40a8a285848525bec38d
          name: 'Block devices discovery'
          type: DEPENDENT
          key: 'vfs.dev.discovery[snmp]'
          filter:
            evaltype: AND
            conditions:
              - macro: '{#DEVNAME}'
                value: '{$VFS.DEV.DEVNAME.MATCHES}'
              - macro: '{#DEVNAME}'
                value: '{$VFS.DEV.DEVNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Block devices are discovered from UCD-DISKIO-MIB::diskIOTable (http://net-snmp.sourceforge.net/docs/mibs/ucdDiskIOMIB.html#diskIOTable)'
          item_prototypes:
            - uuid: b136adad88154c31a123b46522b41191
              name: '{#DEVNAME}: Disk read rate'
              type: DEPENDENT
              key: 'vfs.dev.read.rate[diskIOReads.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '!r/s'
              description: |
                MIB: UCD-DISKIO-MIB
                The number of read accesses from this device since boot.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.2021.13.15.1.1.5.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
              master_item:
                key: vfs.dev.walk
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: b1fb6665c96b4c9f999b3803d45eea3e
              name: '{#DEVNAME}: Disk utilization'
              type: DEPENDENT
              key: 'vfs.dev.util[diskIOLA1.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: UCD-DISKIO-MIB
                The 1 minute average load of disk (%)
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.2021.13.15.1.1.9.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: vfs.dev.walk
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 147ad615fd544ab39494ce829da0bb14
              name: '{#DEVNAME}: Disk write rate'
              type: DEPENDENT
              key: 'vfs.dev.write.rate[diskIOWrites.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '!w/s'
              description: |
                MIB: UCD-DISKIO-MIB
                The number of write accesses from this device since boot.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.2021.13.15.1.1.6.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
              master_item:
                key: vfs.dev.walk
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
          graph_prototypes:
            - uuid: 76f7583a5256463a82d60c0fef3c6a7f
              name: '{#DEVNAME}: Disk read/write rates'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'Linux by SNMP'
                    key: 'vfs.dev.read.rate[diskIOReads.{#SNMPINDEX}]'
                - sortorder: '1'
                  drawtype: GRADIENT_LINE
                  color: F63100
                  item:
                    host: 'Linux by SNMP'
                    key: 'vfs.dev.write.rate[diskIOWrites.{#SNMPINDEX}]'
          master_item:
            key: vfs.dev.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#DEVNAME}'
                - 1.3.6.1.4.1.2021.13.15.1.1.2
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 0ba976a284574157b2b51f103a324d43
          name: 'Mounted filesystem discovery'
          type: DEPENDENT
          key: 'vfs.fs.discovery[snmp]'
          filter:
            evaltype: AND
            conditions:
              - macro: '{#FSDEVICE}'
                value: '{$VFS.FS.FSDEVICE.MATCHES}'
              - macro: '{#FSDEVICE}'
                value: '{$VFS.FS.FSDEVICE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#FSNAME}'
                value: '{$VFS.FS.FSNAME.MATCHES}'
              - macro: '{#FSNAME}'
                value: '{$VFS.FS.FSNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'UCD-SNMP-MIB::dskEntry table discovery with storage filter'
          item_prototypes:
            - uuid: eb734d1738e24cbaaacf48fe1396e0f0
              name: 'FS [{#FSNAME}]: Space: Available'
              type: DEPENDENT
              key: 'vfs.fs.free[dskAvail.{#SNMPINDEX}]'
              value_type: FLOAT
              units: B
              description: |
                UCD-SNMP-MIB::dskEntry
                Available storage space is calculated from two portions:
                  dskAvailHigh
                  dskAvailLow
                Together they compose 64-bit number.
              preprocessing:
                - type: JAVASCRIPT
                  parameters:
                    - |
                      const portionHigh = 4294967296;
                      
                      const obj = JSON.parse(value);
                      
                      const dskAvailHigh = parseInt(obj['dskAvailHigh'], 10),
                      	  dskAvailLow = parseInt(obj['dskAvailLow'], 10);
                      
                      return (dskAvailHigh * portionHigh + dskAvailLow) * 1024;
              master_item:
                key: 'vfs.fs.walk.data[dskEntry.{#SNMPINDEX}]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
            - uuid: 96d3b16a29c44dacbf57127395d4f760
              name: 'FS [{#FSNAME}]: Inodes: Free, in %'
              type: DEPENDENT
              key: 'vfs.fs.inode.pfree[{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: UCD-SNMP-MIB
                Free metadata space expressed as percentage.
              preprocessing:
                - type: JAVASCRIPT
                  parameters:
                    - |
                      var obj = JSON.parse(value);
                      var dskPercentNode = obj['dskPercentNode'];
                      
                      return (100 - dskPercentNode);
              master_item:
                key: 'vfs.fs.walk.data[dskEntry.{#SNMPINDEX}]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
              trigger_prototypes:
                - uuid: c2a464a9d8f24b1f96251feabeec8b6a
                  expression: 'min(/Linux by SNMP/vfs.fs.inode.pfree[{#SNMPINDEX}],5m)<{$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"}'
                  name: 'Linux: FS [{#FSNAME}]: Running out of free inodes'
                  event_name: 'Linux: FS [{#FSNAME}]: Running out of free inodes (free < {$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"}%)'
                  opdata: 'Free inodes: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: 'Disk writing may fail if index nodes are exhausted, leading to error messages like "No space left on device" or "Disk is full", despite available free space.'
                  tags:
                    - tag: scope
                      value: capacity
                    - tag: scope
                      value: performance
                - uuid: 396da67ae447497781d9f37215490b71
                  expression: 'min(/Linux by SNMP/vfs.fs.inode.pfree[{#SNMPINDEX}],5m)<{$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"}'
                  name: 'Linux: FS [{#FSNAME}]: Running out of free inodes'
                  event_name: 'Linux: FS [{#FSNAME}]: Running out of free inodes (free < {$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"}%)'
                  opdata: 'Free inodes: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'Disk writing may fail if index nodes are exhausted, leading to error messages like "No space left on device" or "Disk is full", despite available free space.'
                  dependencies:
                    - name: 'Linux: FS [{#FSNAME}]: Running out of free inodes'
                      expression: 'min(/Linux by SNMP/vfs.fs.inode.pfree[{#SNMPINDEX}],5m)<{$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"}'
                  tags:
                    - tag: scope
                      value: capacity
                    - tag: scope
                      value: performance
            - uuid: 0cb84e1611e944e68caf677492d169e5
              name: 'FS [{#FSNAME}]: Space: Used, in %'
              type: DEPENDENT
              key: 'vfs.fs.pused[{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                UCD-SNMP-MIB::dskEntry
                Space utilization is calculated as the percentage of currently used space compared to the maximum available space.
              preprocessing:
                - type: JAVASCRIPT
                  parameters:
                    - |
                      const portionHigh = 4294967296;
                      
                      const obj = JSON.parse(value);
                      
                      const dskAvailHigh = parseInt(obj['dskAvailHigh'], 10),
                      	  dskAvailLow = parseInt(obj['dskAvailLow'], 10),
                      	  dskUsedHigh = parseInt(obj['dskUsedHigh'], 10),
                      	  dskUsedLow = parseInt(obj['dskUsedLow'], 10);
                      
                      const available = (dskAvailHigh * portionHigh + dskAvailLow) * 1024,
                      	  used = (dskUsedHigh * portionHigh + dskUsedLow) * 1024;
                      
                      if ((available + used) <= 0) {
                      	return 0;
                      }
                      
                      return used / (used + available) * 100;
              master_item:
                key: 'vfs.fs.walk.data[dskEntry.{#SNMPINDEX}]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
              trigger_prototypes:
                - uuid: 4e84d5b0e3bb4729a6eabd5882d2d603
                  expression: 'min(/Linux by SNMP/vfs.fs.pused[{#SNMPINDEX}],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}'
                  name: 'Linux: FS [{#FSNAME}]: Space is critically low'
                  event_name: 'Linux: FS [{#FSNAME}]: Space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%, total {{?last(//vfs.fs.total[dskTotal.{#SNMPINDEX}])/1024/1024/1024}.fmtnum(1)}GB)'
                  opdata: 'Space used: {{ITEM.LASTVALUE1}.fmtnum(1)}%'
                  priority: AVERAGE
                  description: |
                    The volume's space usage exceeds the '{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%' limit;
                    The trigger expression is based on the current used and maximum available spaces.
                    Event name represents the total volume space, which can differ from the maximum available space, depending on the filesystem type.
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: capacity
                - uuid: 210ae86feef14fa0a82c97331e522937
                  expression: 'min(/Linux by SNMP/vfs.fs.pused[{#SNMPINDEX}],5m)>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}'
                  name: 'Linux: FS [{#FSNAME}]: Space is low'
                  event_name: 'Linux: FS [{#FSNAME}]: Space is low (used > {$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}%, total {{?last(//vfs.fs.total[dskTotal.{#SNMPINDEX}])/1024/1024/1024}.fmtnum(1)}GB)'
                  opdata: 'Space used: {{ITEM.LASTVALUE1}.fmtnum(1)}%'
                  priority: WARNING
                  description: |
                    The volume's space usage exceeds the '{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}%' limit;
                    The trigger expression is based on the current used and maximum available spaces.
                    Event name represents the total volume space, which can differ from the maximum available space, depending on the filesystem type.
                  manual_close: 'YES'
                  dependencies:
                    - name: 'Linux: FS [{#FSNAME}]: Space is critically low'
                      expression: 'min(/Linux by SNMP/vfs.fs.pused[{#SNMPINDEX}],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: capacity
            - uuid: 9117a148b85c4593a3df470a1e023573
              name: 'FS [{#FSNAME}]: Space: Total'
              type: DEPENDENT
              key: 'vfs.fs.total[dskTotal.{#SNMPINDEX}]'
              value_type: FLOAT
              units: B
              description: |
                MIB: UCD-SNMP-MIB
                Total storage is calculated from two portions:
                  dskTotalHigh
                  dskTotalLow
                Together they compose 64-bit number.
              preprocessing:
                - type: JAVASCRIPT
                  parameters:
                    - |
                      const portionHigh = 4294967296;
                      
                      const obj = JSON.parse(value);
                      
                      const dskTotalHigh = parseInt(obj['dskTotalHigh'], 10),
                      	  dskTotalLow = parseInt(obj['dskTotalLow'], 10);
                      
                      return (dskTotalHigh * portionHigh + dskTotalLow) * 1024;
              master_item:
                key: 'vfs.fs.walk.data[dskEntry.{#SNMPINDEX}]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
            - uuid: 04168e44dd0f4d3c96496c3fadd13fde
              name: 'FS [{#FSNAME}]: Space: Used'
              type: DEPENDENT
              key: 'vfs.fs.used[dskUsed.{#SNMPINDEX}]'
              value_type: FLOAT
              units: B
              description: |
                MIB: UCD-SNMP-MIB
                Used storage is calculated from two portions:
                  dskUsedHigh
                  dskUsedLow
                Together they compose 64-bit number.
                Reserved space is not counted in.
              preprocessing:
                - type: JAVASCRIPT
                  parameters:
                    - |
                      const portionHigh = 4294967296;
                      
                      const obj = JSON.parse(value);
                      
                      const dskUsedHigh = parseInt(obj['dskUsedHigh'], 10),
                      	  dskUsedLow = parseInt(obj['dskUsedLow'], 10);
                      
                      return (dskUsedHigh * portionHigh + dskUsedLow) * 1024;
              master_item:
                key: 'vfs.fs.walk.data[dskEntry.{#SNMPINDEX}]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
            - uuid: 73d029a287c34f3291bce17c7d1d08f8
              name: 'FS [{#FSNAME}]: Get data'
              type: DEPENDENT
              key: 'vfs.fs.walk.data[dskEntry.{#SNMPINDEX}]'
              history: 1h
              value_type: TEXT
              description: |
                MIB: UCD-SNMP-MIB
                Intermediate data for subsequent processing.
              preprocessing:
                - type: JAVASCRIPT
                  parameters:
                    - |
                      var data = JSON.parse(value);
                      
                      result = data.filter(function(obj) {
                      	return obj["{\#SNMPINDEX}"] === "{#SNMPINDEX}";
                      })[0];
                      
                      return JSON.stringify(result);
              master_item:
                key: vfs.fs.walk
              tags:
                - tag: component
                  value: raw
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
          graph_prototypes:
            - uuid: 528473595e39475ebb9b2150447f3280
              name: 'FS [{#FSNAME}]: Space usage graph, in % (relative to max available)'
              width: '600'
              height: '340'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: FILLED_REGION
                  color: F63100
                  calc_fnc: ALL
                  item:
                    host: 'Linux by SNMP'
                    key: 'vfs.fs.pused[{#SNMPINDEX}]'
            - uuid: e5e83dc2bb384b2a96fae9cdbf0baba7
              name: 'FS [{#FSNAME}]: Space utilization chart (relative to total)'
              width: '600'
              height: '340'
              type: PIE
              show_3d: 'YES'
              graph_items:
                - color: '787878'
                  calc_fnc: LAST
                  type: GRAPH_SUM
                  item:
                    host: 'Linux by SNMP'
                    key: 'vfs.fs.total[dskTotal.{#SNMPINDEX}]'
                - sortorder: '1'
                  color: F63100
                  calc_fnc: LAST
                  item:
                    host: 'Linux by SNMP'
                    key: 'vfs.fs.used[dskUsed.{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 199C09
                  calc_fnc: LAST
                  item:
                    host: 'Linux by SNMP'
                    key: 'vfs.fs.free[dskAvail.{#SNMPINDEX}]'
          master_item:
            key: vfs.fs.walk
          lld_macro_paths:
            - lld_macro: '{#FSDEVICE}'
              path: $.dskDevice
            - lld_macro: '{#FSNAME}'
              path: $.dskPath
            - lld_macro: '{#SNMPINDEX}'
              path: $.index
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var filesystems = JSON.parse(value);
                  
                  result = filesystems.map(function (filesystem) {
                  	return {
                  		'dskPath': filesystem.dskPath,
                  		'dskDevice': filesystem.dskDevice,
                  		'index': filesystem['{#SNMPINDEX}']
                  	};
                  });
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
      tags:
        - tag: class
          value: os
        - tag: target
          value: linux
      macros:
        - macro: '{$CPU.UTIL.CRIT}'
          value: '90'
          description: 'Critical threshold of CPU utilization expressed in %.'
          config:
            type: TEXT
            priority: '6'
            section_name: Thresholds
            label: 'Threshold of CPU utilization expressed'
            description: 'Critical threshold of CPU utilization expressed in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_LOSS_WARN}'
          value: '20'
          description: 'Warning threshold of ICMP packet loss in %.'
          config:
            type: TEXT
            priority: '17'
            section_name: Thresholds
            label: 'Threshold of ICMP packet loss'
            description: 'Warning threshold of ICMP packet loss in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_RESPONSE_TIME_WARN}'
          value: '0.15'
          description: 'Warning threshold of the average ICMP response time in seconds.'
          config:
            type: TEXT
            priority: '18'
            section_name: Thresholds
            label: 'Threshold of the average ICMP response'
            description: 'Warning threshold of the average ICMP response time in seconds. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.ERRORS.WARN}'
          value: '2'
          description: 'Warning threshold of error packet rate. Can be used with interface name as context.'
          config:
            type: TEXT
            priority: '21'
            section_name: Thresholds
            label: 'Threshold of error packet rate'
            description: 'Warning threshold of error packet rate. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the interface utilization trigger.'
          config:
            type: TEXT
            priority: '20'
            section_name: Thresholds
            label: 'The threshold in the interface utilization'
            description: 'Used as a threshold in the interface utilization trigger. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IFCONTROL}'
          value: '1'
          description: 'Link status trigger will be fired only for interfaces where the context macro equals "1".'
          config:
            type: CHECKBOX
            priority: '19'
            label: 'Interfaces control'
            description: 'Fire a trigger when the interface operational status changes to "Link down".'
            options:
              - checked: '1'
                unchecked: '0'
        - macro: '{$LOAD_AVG_PER_CPU.MAX.WARN}'
          value: '1.5'
          description: 'Load per CPU considered sustainable. Tune if needed.'
          config:
            type: TEXT
            priority: '7'
            section_name: Thresholds
            label: 'The CPU load per core'
            description: 'CPU load per core is considered sustainable. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$MEMORY.AVAILABLE.MIN}'
          value: 20M
          description: 'Used as a threshold in the available memory trigger.'
          config:
            type: TEXT
            priority: '2'
            section_name: Thresholds
            label: 'Threshold in the available memory'
            description: 'Used as a threshold in the available memory trigger.'
        - macro: '{$MEMORY.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the memory utilization trigger.'
          config:
            type: TEXT
            priority: '1'
            section_name: Thresholds
            label: 'Threshold in the memory utilization'
            description: 'Used as a threshold in the memory utilization trigger. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$NET.IF.IFADMINSTATUS.MATCHES}'
          value: '^.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '26'
            section_name: Filters
            label: 'Filter network interface by adminstatus'
            description: 'Regex string to include discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
          value: ^2$
          description: 'Ignore `down(2)` administrative status'
          config:
            type: TEXT
            priority: '27'
            section_name: Filters
            label: 'Filter network interface by adminstatus (exclude)'
            description: 'Regex string to exclude discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFALIAS.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '30'
            section_name: Filters
            label: 'Filter network interface by alias'
            description: 'Regex string to include discovered interface by alias.'
        - macro: '{$NET.IF.IFALIAS.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '31'
            section_name: Filters
            label: 'Filter network interface by alias (exclude)'
            description: 'Regex string to exclude discovered interface by alias.'
        - macro: '{$NET.IF.IFDESCR.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '28'
            section_name: Filters
            label: 'Filter network interface by description'
            description: 'Regex string to include discovered interface by description.'
        - macro: '{$NET.IF.IFDESCR.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '29'
            section_name: Filters
            label: 'Filter network interface by description (exclude)'
            description: 'Regex string to exclude discovered interface by description.'
        - macro: '{$NET.IF.IFNAME.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '22'
            section_name: Filters
            label: 'Filter for network interface by name'
            description: 'Regex string to include discovered interface by name.'
        - 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.'
          config:
            type: TEXT
            priority: '23'
            section_name: Filters
            label: 'Filter for network interface by name (exclude)'
            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.'
          config:
            type: TEXT
            priority: '24'
            section_name: Filters
            label: 'Filter network interface by status'
            description: 'Regex string to include discovered interface by status.'
        - macro: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
          value: ^6$
          description: 'Ignore `notPresent(6)`'
          config:
            type: TEXT
            priority: '25'
            section_name: Filters
            label: 'Filter network interface by status (exclude)'
            description: 'Regex string to exclude discovered interface by status.'
        - macro: '{$NET.IF.IFTYPE.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '32'
            section_name: Filters
            label: 'Filter network interface by type'
            description: 'Regex string to include discovered interface by type.'
        - macro: '{$NET.IF.IFTYPE.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '33'
            section_name: Filters
            label: 'Filter network interface by type (exclude)'
            description: 'Regex string to exclude discovered interface by type.'
        - macro: '{$SNMP.TIMEOUT}'
          value: 5m
          description: 'Time interval for the SNMP availability trigger.'
          config:
            type: TEXT
            priority: '16'
            section_name: Other
            label: 'Time interval'
            description: 'Time interval for the SNMP availability trigger.'
        - macro: '{$SWAP.PFREE.MIN.WARN}'
          value: '50'
          description: 'The warning threshold of the minimum free swap.'
          config:
            type: TEXT
            priority: '3'
            section_name: Thresholds
            label: 'Threshold of the minimum free swap'
            description: 'Warning threshold of the minimum free swap. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.DEV.DEVNAME.MATCHES}'
          value: .+
          description: 'Used in block device discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '4'
            section_name: Filters
            label: 'Filter for block device discovery'
            description: 'Regex string to include discovered block device.'
        - macro: '{$VFS.DEV.DEVNAME.NOT_MATCHES}'
          value: '^(loop[0-9]*|sd[a-z][0-9]+|nbd[0-9]+|sr[0-9]+|fd[0-9]+|dm-[0-9]+|ram[0-9]+|ploop[a-z0-9]+|md[0-9]*|hcp[0-9]*|zram[0-9]*)'
          description: 'Used in block device discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '5'
            section_name: Filters
            label: 'Filter for block device discovery (exclude)'
            description: 'Regex string to exclude discovered block device.'
        - macro: '{$VFS.FS.FSDEVICE.MATCHES}'
          value: .+
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '14'
            section_name: Filters
            label: 'Filter filesystem by type'
            description: 'Regex string to include discovered filesystem by type.'
        - macro: '{$VFS.FS.FSDEVICE.NOT_MATCHES}'
          value: '.*(tmpfs|shm)$'
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '15'
            section_name: Filters
            label: 'Filter filesystem by type (exclude)'
            description: 'Regex string to exclude discovered filesystem by type.'
        - macro: '{$VFS.FS.FSNAME.MATCHES}'
          value: .+
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '12'
            section_name: Filters
            label: 'Filter filesystem by name'
            description: 'Regex string to include discovered filesystem by name.'
        - macro: '{$VFS.FS.FSNAME.NOT_MATCHES}'
          value: ^(/dev|/sys|/run|/proc|.+/shm$)
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '13'
            section_name: Filters
            label: 'Filter filesystem by name (exclude)'
            description: 'Regex string to exclude discovered filesystem by name.'
        - macro: '{$VFS.FS.INODE.PFREE.MIN.CRIT}'
          value: '10'
          description: 'The critical threshold of the filesystem metadata utilization.'
          config:
            type: TEXT
            priority: '11'
            section_name: Thresholds
            label: 'Threshold of the filesystem metadata utilization (critical)'
            description: 'Critical threshold of the filesystem metadata utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.INODE.PFREE.MIN.WARN}'
          value: '20'
          description: 'The warning threshold of the filesystem metadata utilization.'
          config:
            type: TEXT
            priority: '10'
            section_name: Thresholds
            label: 'Threshold of the filesystem metadata utilization'
            description: 'Warning threshold of the filesystem metadata utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.CRIT}'
          value: '90'
          description: 'The critical threshold of the filesystem utilization.'
          config:
            type: TEXT
            priority: '9'
            section_name: Thresholds
            label: 'Threshold of the filesystem utilization (critical)'
            description: 'Critical threshold of the filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.WARN}'
          value: '80'
          description: 'The warning threshold of the filesystem utilization.'
          config:
            type: TEXT
            priority: '8'
            section_name: Thresholds
            label: 'Threshold of the filesystem utilization'
            description: 'Warning threshold of the filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
      dashboards:
        - uuid: db1904856337427f9b5ae667e0d93b45
          name: Filesystems
          pages:
            - name: Overview
              widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '3'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by SNMP'
                        name: 'FS [{#FSNAME}]: Space utilization chart (relative to total)'
                    - type: STRING
                      name: reference
                      value: AAAEB
                - type: graphprototype
                  'y': '5'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by SNMP'
                        name: 'FS [{#FSNAME}]: Space usage graph, in % (relative to max available)'
                    - type: STRING
                      name: reference
                      value: AAAEC
        - uuid: e0f04b83911a47ba8ee30fa91b4f63a9
          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: 'Linux by SNMP'
                        name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAI
        - uuid: 59f09fada3ab43d1bdb70091f92e77f1
          name: 'System performance'
          pages:
            - widgets:
                - type: graph
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Linux by SNMP'
                        name: 'Linux: System load'
                    - type: STRING
                      name: reference
                      value: AAAAA
                - type: graph
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Linux by SNMP'
                        name: 'Linux: Memory usage'
                    - type: STRING
                      name: reference
                      value: AAAAC
                - type: graphprototype
                  'y': '10'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '3'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by SNMP'
                        name: 'FS [{#FSNAME}]: Space utilization chart (relative to total)'
                    - type: STRING
                      name: reference
                      value: AAAEA
                - type: graphprototype
                  'y': '15'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by SNMP'
                        name: '{#DEVNAME}: Disk read/write rates'
                    - type: STRING
                      name: reference
                      value: AAAAF
                - type: graphprototype
                  'y': '20'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: ITEM_PROTOTYPE
                      name: itemid.0
                      value:
                        host: 'Linux by SNMP'
                        key: 'vfs.dev.util[diskIOLA1.{#SNMPINDEX}]'
                    - type: STRING
                      name: reference
                      value: AAAAG
                    - type: INTEGER
                      name: source_type
                      value: '3'
                - type: graphprototype
                  'y': '25'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by SNMP'
                        name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAH
                - type: graphprototype
                  x: '36'
                  width: '36'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by SNMP'
                        name: 'Linux: CPU usage{#SINGLETON}'
                    - type: STRING
                      name: reference
                      value: AAAAB
                - type: graph
                  x: '36'
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Linux by SNMP'
                        name: 'Linux: Swap usage'
                    - type: STRING
                      name: reference
                      value: AAAAD
      valuemaps:
        - uuid: 1fe48656fa5e4a23903921a5b0f2aac4
          name: 'EtherLike-MIB::dot3StatsDuplexStatus'
          mappings:
            - value: '1'
              newvalue: unknown
            - value: '2'
              newvalue: halfDuplex
            - value: '3'
              newvalue: fullDuplex
        - uuid: 1578e9a6c5f24dd1915d981c245b68fa
          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: 4a342bf160284052bc94e123d13f7992
          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: 1ccba0a6ed744226ba878957e7d1aa47
          name: 'Service state'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
        - uuid: 72e9f56c06b546319580d856fc112dc1
          name: zabbix.host.available
          mappings:
            - value: '0'
              newvalue: 'not available'
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: unknown
    - uuid: f8f7908280354f2abeed07dc788c3747
      template: 'Linux by Zabbix agent'
      name: 'Linux by Zabbix agent'
      description: |
        This is an official Linux template. It requires Zabbix agent 7.4 or newer.
        
        Notes on filesystem (FS) discovery:
        - The ext4/3/2 filesystem reserves space for privileged usage, typically set at 5% by default.
        - BTRFS allocates a default of 10% of the volume for its own needs.
        - To mitigate potential disasters, FS usage triggers are based on the maximum available space.
          - Utilization formula: 'pused = 100 - 100 * (available / total - free + available)'
        - The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
        
        You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387225-discussion-thread-for-official-zabbix-template-for-linux
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      readme: |
        ## Overview
        
        This is an official Linux template. It requires Zabbix agent 7.4 or newer.
        
        #### Notes on filesystem (FS) discovery:
        - The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
        - BTRFS allocates a default of 10% of the volume for its own needs.
        - To mitigate potential disasters, FS usage triggers are based on the maximum available space.
          - Utilization formula: `pused = 100 - 100 * (available / total - free + available)`
        - The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
      vendor:
        name: Zabbix
        version: 7.4-2
      groups:
        - name: 'Templates/Operating systems'
      items:
        - uuid: df561a0cece94760a78704edf7da7326
          name: 'Host name of Zabbix agent running'
          key: agent.hostname
          delay: 1h
          value_type: CHAR
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
        - uuid: f94f9f4699e94c369e6c98b2a2f485ce
          name: 'Zabbix agent ping'
          key: agent.ping
          description: 'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.'
          valuemap:
            name: 'Zabbix agent ping status'
          tags:
            - tag: component
              value: system
        - uuid: 27c42cf180b44632b5d9b8b5788165b3
          name: 'Version of Zabbix agent running'
          key: agent.version
          delay: 1h
          value_type: CHAR
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: application
        - uuid: ef386d03ff2c42ffa236acd5215ad547
          name: 'Maximum number of open file descriptors'
          key: kernel.maxfiles
          delay: 1h
          description: 'May be increased by using the `sysctl` utility or modifying the file `/etc/sysctl.conf`.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: b9bdcf42f54a409a9a9a616dbd0eaed2
              expression: 'last(/Linux by Zabbix agent/kernel.maxfiles)<{$KERNEL.MAXFILES.MIN}'
              name: 'Linux: Configured max number of open filedescriptors is too low'
              event_name: 'Linux: Configured max number of open filedescriptors is too low (< {$KERNEL.MAXFILES.MIN})'
              priority: INFO
              tags:
                - tag: scope
                  value: performance
        - uuid: 678d70c041954ac8982fb5118b49f6e7
          name: 'Maximum number of processes'
          key: kernel.maxproc
          delay: 1h
          description: 'May be increased by using the `sysctl` utility or modifying the file `/etc/sysctl.conf`.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 8cf253ca3eea4109a90443f9cb76fc5c
              expression: 'last(/Linux by Zabbix agent/kernel.maxproc)<{$KERNEL.MAXPROC.MIN}'
              name: 'Linux: Configured max number of processes is too low'
              event_name: 'Linux: Configured max number of processes is too low (< {$KERNEL.MAXPROC.MIN})'
              priority: INFO
              dependencies:
                - name: 'Linux: Getting closer to process limit'
                  expression: 'last(/Linux by Zabbix agent/proc.num)/last(/Linux by Zabbix agent/kernel.maxproc)*100>80'
              tags:
                - tag: scope
                  value: performance
        - uuid: ab7d0471092544a6a950184d1bac906d
          name: 'Number of processes'
          key: proc.num
          tags:
            - tag: component
              value: system
        - uuid: b2637293884d40108f41b11767dd5be0
          name: 'Number of running processes'
          key: 'proc.num[,,run]'
          tags:
            - tag: component
              value: system
        - uuid: 27cb0f66bb624146acfdd81b58f108a3
          name: 'System boot time'
          key: system.boottime
          delay: 15m
          units: unixtime
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          tags:
            - tag: component
              value: system
        - uuid: 5d186a46867b4eaaafd6396d3239dd3b
          name: 'Interrupts per second'
          key: system.cpu.intr
          value_type: FLOAT
          description: 'Number of interrupts processed.'
          preprocessing:
            - type: CHANGE_PER_SECOND
          tags:
            - tag: component
              value: cpu
        - uuid: 48528aa936a04c8189375a6eae4033da
          name: 'Load average (1m avg)'
          key: 'system.cpu.load[all,avg1]'
          value_type: FLOAT
          description: 'Calculated as the system CPU load divided by the number of CPU cores.'
          tags:
            - tag: component
              value: cpu
        - uuid: 953beb580df8418cb88b667b9dd37259
          name: 'Load average (5m avg)'
          key: 'system.cpu.load[all,avg5]'
          value_type: FLOAT
          description: 'Calculated as the system CPU load divided by the number of CPU cores.'
          tags:
            - tag: component
              value: cpu
        - uuid: 5716000e38e24dae8ead4ed98ede024b
          name: 'Load average (15m avg)'
          key: 'system.cpu.load[all,avg15]'
          value_type: FLOAT
          description: 'Calculated as the system CPU load divided by the number of CPU cores.'
          tags:
            - tag: component
              value: cpu
        - uuid: f72e115544eb4079b09fec8c3539241c
          name: 'Number of CPUs'
          key: system.cpu.num
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: cpu
        - uuid: 73e85aa10a704fc7950d2d077f0c54ee
          name: 'Context switches per second'
          key: system.cpu.switches
          value_type: FLOAT
          description: 'The combined rate at which all processors on the computer are switched from one thread to another.'
          preprocessing:
            - type: CHANGE_PER_SECOND
          tags:
            - tag: component
              value: cpu
        - uuid: ca4235ec7607469cb0124a6253d3c489
          name: 'CPU utilization'
          type: DEPENDENT
          key: system.cpu.util
          value_type: FLOAT
          units: '%'
          description: 'CPU utilization expressed in %.'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - 'return (100 - value)'
          master_item:
            key: 'system.cpu.util[,idle]'
          tags:
            - tag: component
              value: cpu
          triggers:
            - uuid: b4e904559b694df0ad45bcce7930c3a6
              expression: 'min(/Linux by Zabbix agent/system.cpu.util,5m)>{$CPU.UTIL.CRIT}'
              name: 'Linux: High CPU utilization'
              event_name: 'Linux: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)'
              opdata: 'Current utilization: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'CPU utilization is too high. The system might be slow to respond.'
              dependencies:
                - name: 'Linux: Load average is too high'
                  expression: |
                    min(/Linux by Zabbix agent/system.cpu.load[all,avg1],5m)/last(/Linux by Zabbix agent/system.cpu.num)>{$LOAD_AVG_PER_CPU.MAX.WARN}
                    and last(/Linux by Zabbix agent/system.cpu.load[all,avg5])>0
                    and last(/Linux by Zabbix agent/system.cpu.load[all,avg15])>0
              tags:
                - tag: scope
                  value: performance
        - uuid: 69b187838fb74f319e47c2ff4f99ef54
          name: 'CPU guest time'
          key: 'system.cpu.util[,guest]'
          value_type: FLOAT
          units: '%'
          description: 'Time spent on running a virtual CPU for a guest operating system.'
          tags:
            - tag: component
              value: cpu
        - uuid: a2b07497f2f343a99d26ad77e65bb54f
          name: 'CPU guest nice time'
          key: 'system.cpu.util[,guest_nice]'
          value_type: FLOAT
          units: '%'
          description: 'Time spent on running a niced guest (a virtual CPU for guest operating systems under the control of the Linux kernel).'
          tags:
            - tag: component
              value: cpu
        - uuid: 7aad6d159baa4a24901847144f0d231b
          name: 'CPU idle time'
          key: 'system.cpu.util[,idle]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has spent doing nothing.'
          tags:
            - tag: component
              value: cpu
        - uuid: cc4bc7693ae84f9bb18cee38d0814195
          name: 'CPU interrupt time'
          key: 'system.cpu.util[,interrupt]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has spent servicing hardware interrupts.'
          tags:
            - tag: component
              value: cpu
        - uuid: 5df67d9162cc437585990cc8708be894
          name: 'CPU iowait time'
          key: 'system.cpu.util[,iowait]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has been waiting for I/O to complete.'
          tags:
            - tag: component
              value: cpu
        - uuid: 8ee6e54c86ba44ab88bb9e83c632c1ed
          name: 'CPU nice time'
          key: 'system.cpu.util[,nice]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has spent running users'' processes that have been niced.'
          tags:
            - tag: component
              value: cpu
        - uuid: a949a36004a449c58bef0cdc9d3fafd6
          name: 'CPU softirq time'
          key: 'system.cpu.util[,softirq]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has been servicing software interrupts.'
          tags:
            - tag: component
              value: cpu
        - uuid: 3161dbd18e874e69b729c8e903cf7390
          name: 'CPU steal time'
          key: 'system.cpu.util[,steal]'
          value_type: FLOAT
          units: '%'
          description: 'The amount of "stolen" CPU from this virtual machine by the hypervisor for other tasks, such as running another virtual machine.'
          tags:
            - tag: component
              value: cpu
        - uuid: d93097ed5ce74d35b6041ef2b5ba18e8
          name: 'CPU system time'
          key: 'system.cpu.util[,system]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has spent running the kernel and its processes.'
          tags:
            - tag: component
              value: cpu
        - uuid: 57f9e2e34fab41e18e2bc93e786c92c6
          name: 'CPU user time'
          key: 'system.cpu.util[,user]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has spent running users'' processes that are not niced.'
          tags:
            - tag: component
              value: cpu
        - uuid: 207341f390134e37ad431e2823666eb9
          name: 'System name'
          key: system.hostname
          delay: 1h
          value_type: CHAR
          description: 'The host name of the system.'
          inventory_link: NAME
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 371a12f95a26438d8da659c84364631b
              expression: 'change(/Linux by Zabbix agent/system.hostname) and length(last(/Linux by Zabbix agent/system.hostname))>0'
              name: 'Linux: System name has changed'
              event_name: 'Linux: 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: 6072902361404672a444841c786875e6
          name: 'System local time'
          key: system.localtime
          units: unixtime
          description: 'The local system time of the host.'
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: fb77b6ac381c4b5289584bd91e7da7d5
              expression: 'fuzzytime(/Linux by Zabbix agent/system.localtime,{$SYSTEM.FUZZYTIME.MAX})=0'
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: 'fuzzytime(/Linux by Zabbix agent/system.localtime,{$SYSTEM.FUZZYTIME.MIN})=1'
              name: 'Linux: System time is out of sync'
              event_name: 'Linux: System time is out of sync (diff with Zabbix server > {$SYSTEM.FUZZYTIME.MAX})'
              priority: WARNING
              description: 'The host''s system time is different from Zabbix server time.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: fd21580a151246b0a340bf924c326aa8
          name: 'Operating system architecture'
          key: system.sw.arch
          delay: 1h
          value_type: CHAR
          description: 'The architecture of the operating system.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: os
        - uuid: 5e4c3d14634843e9b7b182e8fc08efbe
          name: 'Operating system'
          key: system.sw.os
          delay: 1h
          value_type: CHAR
          inventory_link: OS
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: os
          triggers:
            - uuid: b1998f98c06b49dd8d71e1c6df409371
              expression: 'change(/Linux by Zabbix agent/system.sw.os) and length(last(/Linux by Zabbix agent/system.sw.os))>0'
              name: 'Linux: 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: 'Linux: System name has changed'
                  expression: 'change(/Linux by Zabbix agent/system.hostname) and length(last(/Linux by Zabbix agent/system.hostname))>0'
              tags:
                - tag: scope
                  value: notice
        - uuid: 58818005e76d46dda14d6592f601ab00
          name: 'Number of installed packages'
          key: system.sw.packages.get
          delay: 1h
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.length()
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: os
          triggers:
            - uuid: b950c306394f4b3c902060a8273cbcde
              expression: 'change(/Linux by Zabbix agent/system.sw.packages.get)<>0'
              name: 'Linux: Number of installed packages has been changed'
              priority: WARNING
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 160b82c121b147cbbf18c34dbb01d3ce
          name: 'Free swap space'
          key: 'system.swap.size[,free]'
          units: B
          description: 'The free space of the swap volume/file expressed in bytes.'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: ca423242172f4b20ba47c26f4a61aee7
          name: 'Free swap space in %'
          key: 'system.swap.size[,pfree]'
          value_type: FLOAT
          units: '%'
          description: 'The free space of the swap volume/file expressed in %.'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: 102c81b5523c4be0b4beae3cb88ebde1
          name: 'Total swap space'
          key: 'system.swap.size[,total]'
          units: B
          description: 'The total space of the swap volume/file expressed in bytes.'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: fc6898682f904c57ba28bcb3748b237f
          name: 'System description'
          key: system.uname
          delay: 15m
          value_type: CHAR
          description: 'The information as normally returned by `uname -a`.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 8537f6c6ac6b438c80caf227946df891
          name: 'System uptime'
          key: system.uptime
          delay: 30s
          trends: '0'
          units: uptime
          description: 'The system uptime expressed in the following format: "N days, hh:mm:ss".'
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 1dbab80d7b6847e5b5a676cffba0fd1d
              expression: 'last(/Linux by Zabbix agent/system.uptime)<10m'
              name: 'Linux: {HOST.NAME} has been restarted'
              event_name: 'Linux: {HOST.NAME} has been restarted (uptime < 10m)'
              priority: WARNING
              description: 'The host uptime is less than 10 minutes.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 88056b3d2e424d5aba7cabcd4b043c9e
          name: 'Number of logged in users'
          key: system.users.num
          description: 'The number of users who are currently logged in.'
          tags:
            - tag: component
              value: environment
        - uuid: 3b93d3590df24a46b29f6eb06f5e2446
          name: 'Checksum of /etc/passwd'
          key: 'vfs.file.cksum[/etc/passwd,sha256]'
          delay: 15m
          value_type: CHAR
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          tags:
            - tag: component
              value: security
          triggers:
            - uuid: 3a764881727b4e7eb01e137ccfc968a2
              expression: 'last(/Linux by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#1)<>last(/Linux by Zabbix agent/vfs.file.cksum[/etc/passwd,sha256],#2)'
              name: 'Linux: /etc/passwd has been changed'
              priority: INFO
              manual_close: 'YES'
              dependencies:
                - name: 'Linux: Operating system description has changed'
                  expression: 'change(/Linux by Zabbix agent/system.sw.os) and length(last(/Linux by Zabbix agent/system.sw.os))>0'
                - name: 'Linux: System name has changed'
                  expression: 'change(/Linux by Zabbix agent/system.hostname) and length(last(/Linux by Zabbix agent/system.hostname))>0'
              tags:
                - tag: scope
                  value: security
        - uuid: 868440292732425c8f9df52882822c82
          name: 'Get filesystems'
          key: vfs.fs.get
          history: '0'
          value_type: TEXT
          description: 'The `vfs.fs.get` key acquires raw information set about the filesystems. Later to be extracted by preprocessing in dependent items.'
          tags:
            - tag: component
              value: raw
        - uuid: e811e6e2ae84461294e121f12e767b40
          name: 'Available memory'
          key: 'vm.memory.size[available]'
          units: B
          description: |
            The available memory:
            - in Linux = free + buffers + cache;
            - on other platforms calculation may vary.
            
            See also Appendixes in Zabbix Documentation about parameters of the `vm.memory.size` item.
          tags:
            - tag: component
              value: memory
        - uuid: 20779a4c43374e5f9bea2584e93b85ef
          name: 'Available memory in %'
          key: 'vm.memory.size[pavailable]'
          value_type: FLOAT
          units: '%'
          description: 'The available memory as percentage of the total. See also Appendixes in Zabbix Documentation about parameters of the `vm.memory.size` item.'
          tags:
            - tag: component
              value: memory
        - uuid: d5c3541a7c0949ce812df1beb0732941
          name: 'Total memory'
          key: 'vm.memory.size[total]'
          units: B
          description: 'Total memory expressed in bytes.'
          tags:
            - tag: component
              value: memory
        - uuid: 403cebed115441369e94d35d070ca7b8
          name: 'Memory utilization'
          type: DEPENDENT
          key: vm.memory.utilization
          value_type: FLOAT
          units: '%'
          description: 'The percentage of used memory is calculated as `100-pavailable`.'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - 'return (100-value);'
          master_item:
            key: 'vm.memory.size[pavailable]'
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: cfd395b1cde74ef18a5e5f840bd5142a
              expression: 'min(/Linux by Zabbix agent/vm.memory.utilization,5m)>{$MEMORY.UTIL.MAX}'
              name: 'Linux: High memory utilization'
              event_name: 'Linux: High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m)'
              priority: AVERAGE
              description: 'The system is running out of free memory.'
              dependencies:
                - name: 'Linux: Lack of available memory'
                  expression: 'max(/Linux by Zabbix agent/vm.memory.size[available],5m)<{$MEMORY.AVAILABLE.MIN} and last(/Linux by Zabbix agent/vm.memory.size[total])>0'
              tags:
                - tag: scope
                  value: capacity
                - tag: scope
                  value: performance
        - uuid: ca48c53be1bf46ae9dd2707158a55139
          name: 'Zabbix agent availability'
          type: INTERNAL
          key: 'zabbix[host,agent,available]'
          description: 'Used for monitoring the availability status of the agent.'
          valuemap:
            name: zabbix.host.available
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 93594214371b4dc88b41663cad8537f0
              expression: 'max(/Linux by Zabbix agent/zabbix[host,agent,available],{$AGENT.TIMEOUT})=0'
              name: 'Linux: Zabbix agent is not available'
              event_name: 'Linux: Zabbix agent is not available (for {$AGENT.TIMEOUT})'
              priority: AVERAGE
              description: 'For passive agents only, host availability is used with `{$AGENT.TIMEOUT}` as a time threshold.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: acfdea9c46ef48c68e6636f43b8f96a2
          name: 'Network interface discovery'
          key: net.if.discovery
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.MATCHES}'
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'The discovery of network interfaces.'
          item_prototypes:
            - uuid: 4d66608e190e4be7a438ea5d0d26e353
              name: 'Interface {#IFNAME}: Inbound packets discarded'
              key: 'net.if.in["{#IFNAME}",dropped]'
              delay: 3m
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: ed79960ca91f4e2ca45fed014a02c50b
              name: 'Interface {#IFNAME}: Inbound packets with errors'
              key: 'net.if.in["{#IFNAME}",errors]'
              delay: 3m
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: c9941a1f8d904309b581cae5ccc1660c
              name: 'Interface {#IFNAME}: Bits received'
              key: 'net.if.in["{#IFNAME}"]'
              delay: 3m
              units: bps
              preprocessing:
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 0795a375a41d46a2b5c89547061cec8e
              name: 'Interface {#IFNAME}: Outbound packets discarded'
              key: 'net.if.out["{#IFNAME}",dropped]'
              delay: 3m
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: f8e8bbc069414e928a5da9817f4599a5
              name: 'Interface {#IFNAME}: Outbound packets with errors'
              key: 'net.if.out["{#IFNAME}",errors]'
              delay: 3m
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 82897d99b0114c67b0f5b449c768c8e7
              name: 'Interface {#IFNAME}: Bits sent'
              key: 'net.if.out["{#IFNAME}"]'
              delay: 3m
              units: bps
              preprocessing:
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 3efd24ad36b04eb995cfeab82721c2fe
              name: 'Interface {#IFNAME}: Operational status'
              key: 'vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"]'
              trends: '0'
              description: 'Reference: https://www.kernel.org/doc/Documentation/networking/operstates.txt'
              valuemap:
                name: ifOperStatus
              preprocessing:
                - type: JAVASCRIPT
                  parameters:
                    - |
                      var newvalue;
                      switch(value) {
                        case "unknown":
                      	newvalue = 0;
                      	break;
                        case "notpresent":
                      	newvalue = 1;
                      	break;
                        case "down":
                      	newvalue = 2;
                      	break;
                        case "lowerlayerdown":
                      	newvalue = 3;
                      	break;
                        case "testing":
                      	newvalue = 4;
                      	break;
                        case "dormant":
                      	newvalue = 5;
                      	break;
                        case "up":
                      	newvalue = 6;
                      	break;  default:
                      	newvalue = "Problem parsing interface operstate in JS";
                      }
                      return newvalue;
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 4d7f18ca132340b885c0692464dc429f
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])=2 and (last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#1)<>last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#2))'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
                  name: 'Linux: Interface {#IFNAME}: Link down'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: |
                    This trigger expression works as follows:
                    1. It can be triggered if the operations status is down.
                    2. `{$IFCONTROL:"{#IFNAME}"}=1` - a user can redefine 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: f4c456e1f9ef4adbbd11f1ee17fa4d76
              name: 'Interface {#IFNAME}: Speed'
              key: 'vfs.file.contents["/sys/class/net/{#IFNAME}/speed"]'
              delay: 5m
              trends: '0'
              units: bps
              description: |
                It indicates the latest or current speed value of the interface. The value is an integer representing the link speed expressed in bits/sec.
                This attribute is only valid for the interfaces that implement the ethtool `get_link_ksettings` method (mostly Ethernet).
                
                Reference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '1000000'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: d537e74070c74e4385ad241e8514dd3a
              name: 'Interface {#IFNAME}: Interface type'
              key: 'vfs.file.contents["/sys/class/net/{#IFNAME}/type"]'
              delay: 1h
              trends: '0'
              description: |
                It indicates the interface protocol type as a decimal value.
                See `include/uapi/linux/if_arp.h` for all possible values.
                Reference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net
              valuemap:
                name: 'Linux::Interface protocol types'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1d
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
          trigger_prototypes:
            - uuid: 2ffdc1d5a318492bb497facd263843bd
              expression: |
                change(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])<0 and last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])>0
                and
                (last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/type"])=6 or last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/type"])=1)
                and
                (last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])<>2)
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                (change(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])>0 and last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"],#2)>0) or
                (last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])=2)
              name: 'Linux: Interface {#IFNAME}: 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: 'Linux: Interface {#IFNAME}: Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])=2 and (last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#1)<>last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#2))'
                  recovery_expression: 'last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: f64186d30b4e4c4281fce84349cbd646
              expression: |
                (avg(/Linux by Zabbix agent/net.if.in["{#IFNAME}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"]) or
                avg(/Linux by Zabbix agent/net.if.out["{#IFNAME}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])) and
                last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])>0
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                avg(/Linux by Zabbix agent/net.if.in["{#IFNAME}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"]) and
                avg(/Linux by Zabbix agent/net.if.out["{#IFNAME}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])
              name: 'Linux: Interface {#IFNAME}: High bandwidth usage'
              event_name: 'Linux: Interface {#IFNAME}: 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: 'Linux: Interface {#IFNAME}: Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])=2 and (last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#1)<>last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#2))'
                  recovery_expression: 'last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: ad50aecf8e7746b2a85f24507f1d511d
              expression: |
                min(/Linux by Zabbix agent/net.if.in["{#IFNAME}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
                or min(/Linux by Zabbix agent/net.if.out["{#IFNAME}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                max(/Linux by Zabbix agent/net.if.in["{#IFNAME}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
                and max(/Linux by Zabbix agent/net.if.out["{#IFNAME}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
              name: 'Linux: Interface {#IFNAME}: High error rate'
              event_name: 'Linux: Interface {#IFNAME}: 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: 'Linux: Interface {#IFNAME}: Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])=2 and (last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#1)<>last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#2))'
                  recovery_expression: 'last(/Linux by Zabbix agent/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
          graph_prototypes:
            - uuid: 50ced0f22d9d478eb4b639ef64e242ab
              name: 'Interface {#IFNAME}: Network traffic'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'Linux by Zabbix agent'
                    key: 'net.if.in["{#IFNAME}"]'
                - sortorder: '1'
                  drawtype: BOLD_LINE
                  color: F63100
                  item:
                    host: 'Linux by Zabbix agent'
                    key: 'net.if.out["{#IFNAME}"]'
                - sortorder: '2'
                  color: 00611C
                  yaxisside: RIGHT
                  item:
                    host: 'Linux by Zabbix agent'
                    key: 'net.if.out["{#IFNAME}",errors]'
                - sortorder: '3'
                  color: F7941D
                  yaxisside: RIGHT
                  item:
                    host: 'Linux by Zabbix agent'
                    key: 'net.if.in["{#IFNAME}",errors]'
                - sortorder: '4'
                  color: FC6EA3
                  yaxisside: RIGHT
                  item:
                    host: 'Linux by Zabbix agent'
                    key: 'net.if.out["{#IFNAME}",dropped]'
                - sortorder: '5'
                  color: 6C59DC
                  yaxisside: RIGHT
                  item:
                    host: 'Linux by Zabbix agent'
                    key: 'net.if.in["{#IFNAME}",dropped]'
        - uuid: 2bbdc79f082d4c618e01bec625e9c90a
          name: 'Block devices discovery'
          key: vfs.dev.discovery
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#DEVNAME}'
                value: '{$VFS.DEV.DEVNAME.MATCHES}'
              - macro: '{#DEVNAME}'
                value: '{$VFS.DEV.DEVNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#DEVTYPE}'
                value: disk
          item_prototypes:
            - uuid: 5e29abb8d56044f69426ed3594f8ac9f
              name: '{#DEVNAME}: Disk average queue size (avgqu-sz)'
              type: DEPENDENT
              key: 'vfs.dev.queue_size[{#DEVNAME}]'
              value_type: FLOAT
              description: 'The current average disk queue; the number of requests outstanding on the disk while the performance data is being collected.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[10]'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '0.001'
              master_item:
                key: 'vfs.file.contents[/sys/block/{#DEVNAME}/stat]'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 9600208af80e4a6abe55bb5a2240ea8e
              name: '{#DEVNAME}: Disk read request avg waiting time (r_await)'
              type: CALCULATED
              key: 'vfs.dev.read.await[{#DEVNAME}]'
              value_type: FLOAT
              units: '!ms'
              params: '(last(//vfs.dev.read.time.rate[{#DEVNAME}])/(last(//vfs.dev.read.rate[{#DEVNAME}])+(last(//vfs.dev.read.rate[{#DEVNAME}])=0)))*1000*(last(//vfs.dev.read.rate[{#DEVNAME}]) > 0)'
              description: 'This formula contains two Boolean expressions that evaluate to 1 or 0 in order to set the calculated metric to zero and to avoid the exception - division by zero.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: f4b982d8e7ee47adb34d74d817db43a6
              name: '{#DEVNAME}: Disk read rate'
              type: DEPENDENT
              key: 'vfs.dev.read.rate[{#DEVNAME}]'
              value_type: FLOAT
              units: '!r/s'
              description: 'r/s (read operations per second) - the number (after merges) of read requests completed per second for the device.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[0]'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'vfs.file.contents[/sys/block/{#DEVNAME}/stat]'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 877a3e892d9e489f98f2f16ea05bfdc2
              name: '{#DEVNAME}: Disk read time (rate)'
              type: DEPENDENT
              key: 'vfs.dev.read.time.rate[{#DEVNAME}]'
              value_type: FLOAT
              description: 'The rate of total read time counter; used in `r_await` calculation.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[3]'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '0.001'
              master_item:
                key: 'vfs.file.contents[/sys/block/{#DEVNAME}/stat]'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 4a3ee3166ee748e1855a2b02d44e9d62
              name: '{#DEVNAME}: Disk utilization'
              type: DEPENDENT
              key: 'vfs.dev.util[{#DEVNAME}]'
              value_type: FLOAT
              units: '%'
              description: 'The percentage of elapsed time during which the selected disk drive was busy while servicing read or write requests.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[9]'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
              master_item:
                key: 'vfs.file.contents[/sys/block/{#DEVNAME}/stat]'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 5907708cf4854d48ae3ebf8f0bc41eef
              name: '{#DEVNAME}: Disk write request avg waiting time (w_await)'
              type: CALCULATED
              key: 'vfs.dev.write.await[{#DEVNAME}]'
              value_type: FLOAT
              units: '!ms'
              params: '(last(//vfs.dev.write.time.rate[{#DEVNAME}])/(last(//vfs.dev.write.rate[{#DEVNAME}])+(last(//vfs.dev.write.rate[{#DEVNAME}])=0)))*1000*(last(//vfs.dev.write.rate[{#DEVNAME}]) > 0)'
              description: 'This formula contains two Boolean expressions that evaluate to 1 or 0 in order to set the calculated metric to zero and to avoid the exception - division by zero.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: c4eb904dfddd4b0f8cdee4b2c477e213
              name: '{#DEVNAME}: Disk write rate'
              type: DEPENDENT
              key: 'vfs.dev.write.rate[{#DEVNAME}]'
              value_type: FLOAT
              units: '!w/s'
              description: 'w/s (write operations per second) - the number (after merges) of write requests completed per second for the device.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[4]'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'vfs.file.contents[/sys/block/{#DEVNAME}/stat]'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: e828495863304b219e24965f7b91e963
              name: '{#DEVNAME}: Disk write time (rate)'
              type: DEPENDENT
              key: 'vfs.dev.write.time.rate[{#DEVNAME}]'
              value_type: FLOAT
              description: 'The rate of total write time counter; used in `w_await` calculation.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[7]'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '0.001'
              master_item:
                key: 'vfs.file.contents[/sys/block/{#DEVNAME}/stat]'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 8309fd01a5864ad68866717d0fe67080
              name: '{#DEVNAME}: Get stats'
              key: 'vfs.file.contents[/sys/block/{#DEVNAME}/stat]'
              history: '0'
              value_type: TEXT
              description: 'The contents of get `/sys/block/{#DEVNAME}/stat` to get the disk statistics.'
              preprocessing:
                - type: JAVASCRIPT
                  parameters:
                    - 'return JSON.stringify(value.trim().split(/ +/));'
              tags:
                - tag: component
                  value: raw
          trigger_prototypes:
            - uuid: eb6230f786d04b658ce62c30a9309a34
              expression: 'min(/Linux by Zabbix agent/vfs.dev.read.await[{#DEVNAME}],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} or min(/Linux by Zabbix agent/vfs.dev.write.await[{#DEVNAME}],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"}'
              name: 'Linux: {#DEVNAME}: Disk read/write request responses are too high'
              event_name: 'Linux: {#DEVNAME}: Disk read/write request responses are too high (read > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} ms for 15m or write > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"} ms for 15m)'
              priority: WARNING
              description: 'This trigger might indicate the disk `{#DEVNAME}` saturation.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: performance
          graph_prototypes:
            - uuid: 5e9b35b27b90489390d397758fbfdf64
              name: '{#DEVNAME}: Disk average waiting time'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'Linux by Zabbix agent'
                    key: 'vfs.dev.read.await[{#DEVNAME}]'
                - sortorder: '1'
                  drawtype: GRADIENT_LINE
                  color: F63100
                  item:
                    host: 'Linux by Zabbix agent'
                    key: 'vfs.dev.write.await[{#DEVNAME}]'
            - uuid: d436d6d5456c44f0a534bf1f681d5039
              name: '{#DEVNAME}: Disk read/write rates'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'Linux by Zabbix agent'
                    key: 'vfs.dev.read.rate[{#DEVNAME}]'
                - sortorder: '1'
                  drawtype: GRADIENT_LINE
                  color: F63100
                  item:
                    host: 'Linux by Zabbix agent'
                    key: 'vfs.dev.write.rate[{#DEVNAME}]'
            - uuid: c42e4045e0974e89a306c57fb188c4fa
              name: '{#DEVNAME}: Disk utilization and queue'
              graph_items:
                - color: 199C0D
                  yaxisside: RIGHT
                  item:
                    host: 'Linux by Zabbix agent'
                    key: 'vfs.dev.queue_size[{#DEVNAME}]'
                - sortorder: '1'
                  drawtype: GRADIENT_LINE
                  color: F63100
                  item:
                    host: 'Linux by Zabbix agent'
                    key: 'vfs.dev.util[{#DEVNAME}]'
        - uuid: 7d090603037e4defb34ef74021d3adcd
          name: 'Mounted filesystem discovery'
          type: DEPENDENT
          key: vfs.fs.dependent.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#FSNAME}'
                value: '{$VFS.FS.FSNAME.MATCHES}'
              - macro: '{#FSNAME}'
                value: '{$VFS.FS.FSNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#FSTYPE}'
                value: '{$VFS.FS.FSTYPE.MATCHES}'
              - macro: '{#FSTYPE}'
                value: '{$VFS.FS.FSTYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'The discovery of mounted filesystems with different types.'
          item_prototypes:
            - uuid: 4da7f08a979a46df8b8aeebb42a46207
              name: 'FS [{#FSNAME}]: Inodes: Free, in %'
              type: DEPENDENT
              key: 'vfs.fs.dependent.inode[{#FSNAME},pfree]'
              value_type: FLOAT
              units: '%'
              description: 'Free metadata space expressed in %.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.inodes.pfree
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
              trigger_prototypes:
                - uuid: 115b2d37807f476faf6d02ef406acabd
                  expression: 'min(/Linux by Zabbix agent/vfs.fs.dependent.inode[{#FSNAME},pfree],5m)<{$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"}'
                  name: 'Linux: FS [{#FSNAME}]: Running out of free inodes'
                  event_name: 'Linux: {#FSNAME}: Running out of free inodes (free < {$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"}%)'
                  opdata: 'Free inodes: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: 'Disk writing may fail if index nodes are exhausted, leading to error messages like "No space left on device" or "Disk is full", despite available free space.'
                  tags:
                    - tag: scope
                      value: capacity
                    - tag: scope
                      value: performance
                - uuid: ea012c7295344ffe8c66f7ea54d81042
                  expression: 'min(/Linux by Zabbix agent/vfs.fs.dependent.inode[{#FSNAME},pfree],5m)<{$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"}'
                  name: 'Linux: FS [{#FSNAME}]: Running out of free inodes'
                  event_name: 'Linux: FS [{#FSNAME}]: Running out of free inodes (free < {$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"}%)'
                  opdata: 'Free inodes: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'Disk writing may fail if index nodes are exhausted, leading to error messages like "No space left on device" or "Disk is full", despite available free space.'
                  dependencies:
                    - name: 'Linux: FS [{#FSNAME}]: Running out of free inodes'
                      expression: 'min(/Linux by Zabbix agent/vfs.fs.dependent.inode[{#FSNAME},pfree],5m)<{$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"}'
                  tags:
                    - tag: scope
                      value: capacity
                    - tag: scope
                      value: performance
            - uuid: d53e00855fb349e29bd74146e55265ae
              name: 'FS [{#FSNAME}]: Space: Available'
              type: DEPENDENT
              key: 'vfs.fs.dependent.size[{#FSNAME},free]'
              units: B
              description: 'Available storage space expressed in bytes.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.bytes.free
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
            - uuid: 61ffe6fcb9d94199aaeb5d568ab74a27
              name: 'FS [{#FSNAME}]: Space: Used, in %'
              type: DEPENDENT
              key: 'vfs.fs.dependent.size[{#FSNAME},pused]'
              value_type: FLOAT
              units: '%'
              description: 'Calculated as the percentage of currently used space compared to the maximum available space.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.bytes.pused
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
              trigger_prototypes:
                - uuid: 9abccdfff8be4e14967ac917ca09afe1
                  expression: 'min(/Linux by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}'
                  name: 'Linux: FS [{#FSNAME}]: Space is critically low'
                  event_name: 'Linux: FS [{#FSNAME}]: Space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%, total {{?last(//vfs.fs.dependent.size[{#FSNAME},total])/1024/1024/1024}.fmtnum(1)}GB)'
                  opdata: 'Space used: {{ITEM.LASTVALUE1}.fmtnum(1)}%'
                  priority: AVERAGE
                  description: |
                    The volume's space usage exceeds the `{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%` limit.
                    The trigger expression is based on the current used and maximum available spaces.
                    Event name represents the total volume space, which can differ from the maximum available space, depending on the filesystem type.
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: capacity
                - uuid: d6d348ea500c428da6ba718816c4b048
                  expression: 'min(/Linux by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}'
                  name: 'Linux: FS [{#FSNAME}]: Space is low'
                  event_name: 'Linux: FS [{#FSNAME}]: Space is low (used > {$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}%, total {{?last(//vfs.fs.dependent.size[{#FSNAME},total])/1024/1024/1024}.fmtnum(1)}GB)'
                  opdata: 'Space used: {{ITEM.LASTVALUE1}.fmtnum(1)}%'
                  priority: WARNING
                  description: |
                    The volume's space usage exceeds the `{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}%` limit.
                    The trigger expression is based on the current used and maximum available spaces.
                    Event name represents the total volume space, which can differ from the maximum available space, depending on the filesystem type.
                  manual_close: 'YES'
                  dependencies:
                    - name: 'Linux: FS [{#FSNAME}]: Space is critically low'
                      expression: 'min(/Linux by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: capacity
            - uuid: a6d90e0bc5ef4fb7acee8682687c485f
              name: 'FS [{#FSNAME}]: Space: Total'
              type: DEPENDENT
              key: 'vfs.fs.dependent.size[{#FSNAME},total]'
              units: B
              description: 'Total space expressed in bytes.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.bytes.total
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
            - uuid: efee06a191aa4e5c8faa2762988b6955
              name: 'FS [{#FSNAME}]: Space: Used'
              type: DEPENDENT
              key: 'vfs.fs.dependent.size[{#FSNAME},used]'
              units: B
              description: 'Used storage expressed in bytes.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.bytes.used
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
            - uuid: 686df59ab1e64b228a1efc20561cf520
              name: 'FS [{#FSNAME}]: Get data'
              type: DEPENDENT
              key: 'vfs.fs.dependent[{#FSNAME},data]'
              history: 1h
              value_type: TEXT
              description: 'Intermediate data of `{#FSNAME}` filesystem.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.[?(@.fsname==''{#FSNAME}'')].first()'
              master_item:
                key: vfs.fs.get
              tags:
                - tag: component
                  value: raw
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
            - uuid: c4bfc3639837451bb1fcf98ea654c939
              name: 'FS [{#FSNAME}]: Option: Read-only'
              type: DEPENDENT
              key: 'vfs.fs.dependent[{#FSNAME},readonly]'
              description: 'The filesystem is mounted as read-only. It is available only for Zabbix agents 6.4 and higher.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.options
                  error_handler: DISCARD_VALUE
                - type: REGEX
                  parameters:
                    - '(?:^|,)ro\b'
                    - '1'
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '0'
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
              trigger_prototypes:
                - uuid: c8e2f67378d84b3ba687467bc6daf63a
                  expression: 'last(/Linux by Zabbix agent/vfs.fs.dependent[{#FSNAME},readonly],#2)=0 and last(/Linux by Zabbix agent/vfs.fs.dependent[{#FSNAME},readonly])=1'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/Linux by Zabbix agent/vfs.fs.dependent[{#FSNAME},readonly])=0'
                  name: 'Linux: FS [{#FSNAME}]: Filesystem has become read-only'
                  priority: AVERAGE
                  description: 'The filesystem has become read-only, possibly due to an I/O error. Available only for Zabbix agents 6.4 and higher.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: c2a31e9370b342b1942cc5308fd63a2c
              name: 'FS [{#FSTYPE}({#FSNAME})]: Space usage graph, in % (relative to max available)'
              width: '600'
              height: '340'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: FILLED_REGION
                  color: F63100
                  calc_fnc: ALL
                  item:
                    host: 'Linux by Zabbix agent'
                    key: 'vfs.fs.dependent.size[{#FSNAME},pused]'
            - uuid: bb209e7862ad4f8f8f7efcd003146e97
              name: 'FS [{#FSTYPE}({#FSNAME})]: Space utilization chart (relative to total)'
              width: '600'
              height: '340'
              type: PIE
              show_3d: 'YES'
              graph_items:
                - color: '787878'
                  calc_fnc: LAST
                  type: GRAPH_SUM
                  item:
                    host: 'Linux by Zabbix agent'
                    key: 'vfs.fs.dependent.size[{#FSNAME},total]'
                - sortorder: '1'
                  color: F63100
                  calc_fnc: LAST
                  item:
                    host: 'Linux by Zabbix agent'
                    key: 'vfs.fs.dependent.size[{#FSNAME},used]'
                - sortorder: '2'
                  color: 199C09
                  calc_fnc: LAST
                  item:
                    host: 'Linux by Zabbix agent'
                    key: 'vfs.fs.dependent.size[{#FSNAME},free]'
          master_item:
            key: vfs.fs.get
          lld_macro_paths:
            - lld_macro: '{#FSNAME}'
              path: $.fsname
            - lld_macro: '{#FSTYPE}'
              path: $.fstype
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var filesystems = JSON.parse(value);
                  
                  result = filesystems.map(function (filesystem) {
                  	return {
                  		'fsname': filesystem.fsname,
                  		'fstype': filesystem.fstype
                  	};
                  });
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          overrides:
            - name: 'Skip metadata collection for dynamic FS'
              step: '1'
              filter:
                conditions:
                  - macro: '{#FSTYPE}'
                    value: ^(btrfs|zfs)$
              operations:
                - operator: LIKE
                  value: Inodes
                  discover: NO_DISCOVER
      tags:
        - tag: class
          value: os
        - tag: target
          value: linux
      macros:
        - macro: '{$AGENT.TIMEOUT}'
          value: 3m
          description: 'Timeout after which agent is considered unavailable. Works only for agents reachable from Zabbix server/proxy (passive mode).'
          config:
            type: TEXT
            priority: '1'
            label: 'Seconds since the last Zabbix agent seen'
            description: 'Timeout after which agent is considered unavailable.'
        - macro: '{$CPU.UTIL.CRIT}'
          value: '90'
          description: 'Critical threshold of CPU utilization expressed in %.'
          config:
            type: TEXT
            priority: '2'
            section_name: Thresholds
            label: 'Threshold of CPU utilization expressed'
            description: 'Critical threshold of CPU utilization expressed in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.ERRORS.WARN}'
          value: '2'
          description: 'Warning threshold of error packet rate. Can be used with interface name as context.'
          config:
            type: TEXT
            priority: '21'
            section_name: Thresholds
            label: 'Threshold of error packet rate'
            description: 'Warning threshold of error packet rate. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the interface utilization trigger.'
          config:
            type: TEXT
            priority: '20'
            section_name: Thresholds
            label: 'The threshold in the interface utilization'
            description: 'Used as a threshold in the interface utilization trigger. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IFCONTROL}'
          value: '1'
          description: 'Link status trigger will be fired only for interfaces where the context macro equals "1".'
          config:
            type: CHECKBOX
            priority: '19'
            label: 'Interfaces control'
            description: 'Fire a trigger when the interface operational status changes to "Link down".'
            options:
              - checked: '1'
                unchecked: '0'
        - macro: '{$KERNEL.MAXFILES.MIN}'
          value: '256'
          config:
            type: TEXT
            priority: '25'
            section_name: Thresholds
            label: 'Number of open filedescriptors'
            description: 'Configured max number of open filedescriptors. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$KERNEL.MAXPROC.MIN}'
          value: '1024'
          config:
            type: TEXT
            priority: '24'
            section_name: Thresholds
            label: 'Number of processes'
            description: 'Configured max number of processes. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LOAD_AVG_PER_CPU.MAX.WARN}'
          value: '1.5'
          description: 'The CPU load per core is considered sustainable. If necessary, it can be tuned.'
          config:
            type: TEXT
            priority: '3'
            section_name: Thresholds
            label: 'The CPU load per core'
            description: 'CPU load per core is considered sustainable. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$MEMORY.AVAILABLE.MIN}'
          value: 20M
          description: 'Used as a threshold in the available memory trigger.'
          config:
            type: TEXT
            priority: '13'
            section_name: Thresholds
            label: 'Threshold in the available memory'
            description: 'Used as a threshold in the available memory trigger.'
        - macro: '{$MEMORY.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the memory utilization trigger.'
          config:
            type: TEXT
            priority: '12'
            section_name: Thresholds
            label: 'Threshold in the memory utilization'
            description: 'Used as a threshold in the memory utilization trigger. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$NET.IF.IFNAME.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '22'
            section_name: Filters
            label: 'Network interface discovery'
            description: 'Network interface discovery.'
        - 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.'
          config:
            type: TEXT
            priority: '23'
            section_name: Filters
            label: 'Filter for network interface by name'
            description: 'Filters out `loopbacks`, `nulls`, docker `veth` links and `docker0` bridge by default.'
        - macro: '{$SWAP.PFREE.MIN.WARN}'
          value: '50'
          description: 'The warning threshold of the minimum free swap.'
          config:
            type: TEXT
            priority: '14'
            section_name: Thresholds
            label: 'Threshold of the minimum free swap'
            description: 'Warning threshold of the minimum free swap. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$SYSTEM.FUZZYTIME.MAX}'
          value: 60s
          description: 'The upper threshold for difference of system time.'
          config:
            type: TEXT
            priority: '27'
            section_name: Thresholds
            label: 'The upper threshold for difference of system time'
            description: 'Upper threshold for difference of system time.'
        - macro: '{$SYSTEM.FUZZYTIME.MIN}'
          value: 10s
          description: 'The lower threshold for difference of system time. Used in recovery expression to avoid trigger flapping.'
          config:
            type: TEXT
            priority: '26'
            section_name: Thresholds
            label: 'The lower threshold for difference of system time'
            description: 'Lower threshold for difference of system time.'
        - macro: '{$VFS.DEV.DEVNAME.MATCHES}'
          value: .+
          description: 'Used for block device discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '17'
            section_name: Filters
            label: 'Filter for block device discovery'
            description: 'Regex string to include discovered block device.'
        - macro: '{$VFS.DEV.DEVNAME.NOT_MATCHES}'
          value: '^(loop[0-9]*|sd[a-z][0-9]+|nbd[0-9]+|sr[0-9]+|fd[0-9]+|dm-[0-9]+|ram[0-9]+|ploop[a-z0-9]+|md[0-9]*|hcp[0-9]*|zram[0-9]*)'
          description: 'Used for block device discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '18'
            section_name: Filters
            label: 'Filter for block device discovery (exclude)'
            description: 'Regex string to exclude discovered block device.'
        - macro: '{$VFS.DEV.READ.AWAIT.WARN}'
          value: '20'
          description: 'The average response time (in ms) of disk read before the trigger fires.'
          config:
            type: TEXT
            priority: '15'
            section_name: Thresholds
            label: 'The average read time (in ms)'
            description: 'Average response time (in ms) of disk read before the trigger fires. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.DEV.WRITE.AWAIT.WARN}'
          value: '20'
          description: 'The average response time (in ms) of disk write before the trigger fires.'
          config:
            type: TEXT
            priority: '16'
            section_name: Thresholds
            label: 'The average write time (in ms)'
            description: 'Average response time (in ms) of disk write before the trigger fires. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.FSNAME.MATCHES}'
          value: .+
          description: 'Used for filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '8'
            section_name: Filters
            label: 'Filter filesystem by name'
            description: 'Regex string to include discovered filesystem by name.'
        - macro: '{$VFS.FS.FSNAME.NOT_MATCHES}'
          value: ^(/dev|/sys|/run|/proc|.+/shm$)
          description: 'Used for filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '9'
            section_name: Filters
            label: 'Filter filesystem by name (exclude)'
            description: 'Regex string to exclude discovered filesystem by name.'
        - macro: '{$VFS.FS.FSTYPE.MATCHES}'
          value: ^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$
          description: 'Used for filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '10'
            section_name: Filters
            label: 'Filter filesystem by type'
            description: 'Regex string to include discovered filesystem by type.'
        - macro: '{$VFS.FS.FSTYPE.NOT_MATCHES}'
          value: ^\s$
          description: 'Used for filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '11'
            section_name: Filters
            label: 'Filter filesystem by name (exclude)'
            description: 'Regex string to exclude discovered filesystem by type.'
        - macro: '{$VFS.FS.INODE.PFREE.MIN.CRIT}'
          value: '10'
          description: 'The critical threshold of the filesystem metadata utilization.'
          config:
            type: TEXT
            priority: '7'
            section_name: Thresholds
            label: 'Threshold of the filesystem metadata utilization (critical)'
            description: 'Critical threshold of the filesystem metadata utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.INODE.PFREE.MIN.WARN}'
          value: '20'
          description: 'The warning threshold of the filesystem metadata utilization.'
          config:
            type: TEXT
            priority: '6'
            section_name: Thresholds
            label: 'Threshold of the filesystem metadata utilization'
            description: 'Warning threshold of the filesystem metadata utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.CRIT}'
          value: '90'
          description: 'The critical threshold of the filesystem utilization.'
          config:
            type: TEXT
            priority: '5'
            section_name: Thresholds
            label: 'Threshold of the filesystem utilization (critical)'
            description: 'Critical threshold of the filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.WARN}'
          value: '80'
          description: 'The warning threshold of the filesystem utilization.'
          config:
            type: TEXT
            priority: '4'
            section_name: Thresholds
            label: 'Threshold of the filesystem utilization'
            description: 'Warning threshold of the filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
      dashboards:
        - uuid: c689ad3115fd46a4b927d1f70ee2e5a4
          name: Filesystems
          pages:
            - name: Overview
              widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '3'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent'
                        name: 'FS [{#FSTYPE}({#FSNAME})]: Space utilization chart (relative to total)'
                    - type: STRING
                      name: reference
                      value: AAAEB
                - type: graphprototype
                  'y': '5'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent'
                        name: 'FS [{#FSTYPE}({#FSNAME})]: Space usage graph, in % (relative to max available)'
                    - type: STRING
                      name: reference
                      value: AAAEC
        - uuid: 14aa11c326a54ec390d4c209d30cc741
          name: 'Network interfaces'
          pages:
            - name: Overview
              widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent'
                        name: 'Interface {#IFNAME}: Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAJ
        - uuid: e9ca2f8e715f428b8edc0129aa0c79de
          name: 'System performance'
          pages:
            - widgets:
                - type: graph
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent'
                        name: 'Linux: System load'
                    - type: STRING
                      name: reference
                      value: AAAAA
                - type: graph
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent'
                        name: 'Linux: Memory usage'
                    - type: STRING
                      name: reference
                      value: AAAAC
                - type: graphprototype
                  'y': '10'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '3'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent'
                        name: 'FS [{#FSTYPE}({#FSNAME})]: Space utilization chart (relative to total)'
                    - type: STRING
                      name: reference
                      value: AAAEA
                - type: graphprototype
                  'y': '15'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent'
                        name: '{#DEVNAME}: Disk read/write rates'
                    - type: STRING
                      name: reference
                      value: AAAAF
                - type: graphprototype
                  'y': '20'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent'
                        name: '{#DEVNAME}: Disk average waiting time'
                    - type: STRING
                      name: reference
                      value: AAAAG
                - type: graphprototype
                  'y': '25'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent'
                        name: '{#DEVNAME}: Disk utilization and queue'
                    - type: STRING
                      name: reference
                      value: AAAAH
                - type: graphprototype
                  'y': '30'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent'
                        name: 'Interface {#IFNAME}: Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAI
                - type: graph
                  x: '36'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent'
                        name: 'Linux: CPU usage'
                    - type: STRING
                      name: reference
                      value: AAAAB
                - type: graph
                  x: '36'
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent'
                        name: 'Linux: Swap usage'
                    - type: STRING
                      name: reference
                      value: AAAAD
      valuemaps:
        - uuid: 8c048c6cca8248f2860c208e8db0f59e
          name: ifOperStatus
          mappings:
            - value: '0'
              newvalue: unknown
            - value: '1'
              newvalue: notpresent
            - value: '2'
              newvalue: down
            - value: '3'
              newvalue: lowerlayerdown
            - value: '4'
              newvalue: testing
            - value: '5'
              newvalue: dormant
            - value: '6'
              newvalue: up
        - uuid: 044df261808442a8af9e5cda0acaa6a5
          name: 'Linux::Interface protocol types'
          mappings:
            - value: '0'
              newvalue: 'from KA9Q: NET/ROM pseudo'
            - value: '1'
              newvalue: Ethernet
            - value: '2'
              newvalue: 'Experimental Ethernet'
            - value: '3'
              newvalue: 'AX.25 Level 2'
            - value: '4'
              newvalue: 'PROnet token ring'
            - value: '5'
              newvalue: Chaosnet
            - value: '6'
              newvalue: 'IEEE 802.2 Ethernet/TR/TB'
            - value: '7'
              newvalue: ARCnet
            - value: '8'
              newvalue: APPLEtalk
            - value: '15'
              newvalue: 'Frame Relay DLCI'
            - value: '19'
              newvalue: ATM
            - value: '23'
              newvalue: 'Metricom STRIP (new IANA id)'
            - value: '24'
              newvalue: 'IEEE 1394 IPv4 - RFC 2734'
            - value: '27'
              newvalue: EUI-64
            - value: '32'
              newvalue: InfiniBand
            - value: '256'
              newvalue: ARPHRD_SLIP
            - value: '257'
              newvalue: ARPHRD_CSLIP
            - value: '258'
              newvalue: ARPHRD_SLIP6
            - value: '259'
              newvalue: ARPHRD_CSLIP6
            - value: '260'
              newvalue: 'Notional KISS type'
            - value: '264'
              newvalue: ARPHRD_ADAPT
            - value: '270'
              newvalue: ARPHRD_ROSE
            - value: '271'
              newvalue: 'CCITT X.25'
            - value: '272'
              newvalue: 'Boards with X.25 in firmware'
            - value: '280'
              newvalue: 'Controller Area Network'
            - value: '512'
              newvalue: ARPHRD_PPP
            - value: '513'
              newvalue: 'Cisco HDLC'
            - value: '516'
              newvalue: LAPB
            - value: '517'
              newvalue: 'Digital''s DDCMP protocol'
            - value: '518'
              newvalue: 'Raw HDLC'
            - value: '519'
              newvalue: 'Raw IP'
            - value: '768'
              newvalue: 'IPIP tunnel'
            - value: '769'
              newvalue: 'IP6IP6 tunnel'
            - value: '770'
              newvalue: 'Frame Relay Access Device'
            - value: '771'
              newvalue: 'SKIP vif'
            - value: '772'
              newvalue: 'Loopback device'
            - value: '773'
              newvalue: 'Localtalk device'
            - value: '774'
              newvalue: 'Fiber Distributed Data Interface'
            - value: '775'
              newvalue: 'AP1000 BIF'
            - value: '776'
              newvalue: 'sit0 device - IPv6-in-IPv4'
            - value: '777'
              newvalue: 'IP over DDP tunneller'
            - value: '778'
              newvalue: 'GRE over IP'
            - value: '779'
              newvalue: 'PIMSM register interface'
            - value: '780'
              newvalue: 'High Performance Parallel Interface'
            - value: '781'
              newvalue: 'Nexus 64Mbps Ash'
            - value: '782'
              newvalue: 'Acorn Econet'
            - value: '783'
              newvalue: Linux-IrDA
            - value: '784'
              newvalue: 'Point to point fibrechannel'
            - value: '785'
              newvalue: 'Fibrechannel arbitrated loop'
            - value: '786'
              newvalue: 'Fibrechannel public loop'
            - value: '787'
              newvalue: 'Fibrechannel fabric'
            - value: '800'
              newvalue: 'Magic type ident for TR'
            - value: '801'
              newvalue: 'IEEE 802.11'
            - value: '802'
              newvalue: 'IEEE 802.11 + Prism2 header'
            - value: '803'
              newvalue: 'IEEE 802.11 + radiotap header'
            - value: '804'
              newvalue: ARPHRD_IEEE802154
            - value: '805'
              newvalue: 'IEEE 802.15.4 network monitor'
            - value: '820'
              newvalue: 'PhoNet media type'
            - value: '821'
              newvalue: 'PhoNet pipe header'
            - value: '822'
              newvalue: 'CAIF media type'
            - value: '823'
              newvalue: 'GRE over IPv6'
            - value: '824'
              newvalue: 'Netlink header'
            - value: '825'
              newvalue: 'IPv6 over LoWPAN'
            - value: '826'
              newvalue: 'Vsock monitor header'
        - uuid: 5488e5d78d704b78aee60c60414ce0c3
          name: zabbix.host.available
          mappings:
            - value: '0'
              newvalue: 'not available'
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: unknown
        - uuid: 64faba3a883241a88da8833970ac3ab0
          name: 'Zabbix agent ping status'
          mappings:
            - value: '1'
              newvalue: Up
    - uuid: e2307c94f1744af7a8f1f458a67af424
      template: 'Linux by Zabbix agent active'
      name: 'Linux by Zabbix agent active'
      description: |
        This is an official Linux template. It requires Zabbix agent 7.4 or newer.
        
        Notes on filesystem (FS) discovery:
          - The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
          - BTRFS allocates a default of 10% of the volume for its own needs.
          - To mitigate potential disasters, FS usage triggers are based on the maximum available space.
            - Utilization formula: 'pused = 100 - 100 * (available / total - free + available)'
          - The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
        
        You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387225-discussion-thread-for-official-zabbix-template-for-linux
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      readme: |
        ## Overview
        
        This is an official Linux template. It requires Zabbix agent 7.4 or newer.
        
        #### Notes on filesystem (FS) discovery:
        - The ext4/3/2 FS reserves space for privileged usage, typically set at 5% by default.
        - BTRFS allocates a default of 10% of the volume for its own needs.
        - To mitigate potential disasters, FS usage triggers are based on the maximum available space.
          - Utilization formula: `pused = 100 - 100 * (available / total - free + available)`
        - The FS utilization chart, derived from graph prototypes, reflects FS reserved space as the difference between used and available space from the total volume.
      vendor:
        name: Zabbix
        version: 7.4-2
      groups:
        - name: 'Templates/Operating systems'
      items:
        - uuid: a31cfdf92de04535adb957e0c72f54bd
          name: 'Host name of Zabbix agent running'
          type: ZABBIX_ACTIVE
          key: agent.hostname
          delay: 1h
          value_type: CHAR
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
        - uuid: 7c266646bfa843dabfe4ba5a3fd9026e
          name: 'Zabbix agent ping'
          type: ZABBIX_ACTIVE
          key: agent.ping
          description: 'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.'
          valuemap:
            name: 'Zabbix agent ping status'
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: c1b9fdbe6a584d2cb25ff7077c667af1
              expression: 'nodata(/Linux by Zabbix agent active/agent.ping,{$AGENT.NODATA_TIMEOUT})=1'
              name: 'Linux: Zabbix agent is not available'
              event_name: 'Linux: Zabbix agent is not available (or nodata for {$AGENT.NODATA_TIMEOUT})'
              priority: AVERAGE
              description: 'For active agents, `nodata()` with `agent.ping` is used with `{$AGENT.NODATA_TIMEOUT}` as a time threshold.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: availability
        - uuid: 91dbe302bd8e4954b91e9ce3a795b4eb
          name: 'Version of Zabbix agent running'
          type: ZABBIX_ACTIVE
          key: agent.version
          delay: 1h
          value_type: CHAR
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: application
        - uuid: 66ed2ffc888c40c6b80dcc259c087d08
          name: 'Maximum number of open file descriptors'
          type: ZABBIX_ACTIVE
          key: kernel.maxfiles
          delay: 1h
          description: 'May be increased by using the `sysctl` utility or modifying the file `/etc/sysctl.conf`.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: a7716b62422243b991a2697752d7cb1f
              expression: 'last(/Linux by Zabbix agent active/kernel.maxfiles)<{$KERNEL.MAXFILES.MIN}'
              name: 'Linux: Configured max number of open filedescriptors is too low'
              event_name: 'Linux: Configured max number of open filedescriptors is too low (< {$KERNEL.MAXFILES.MIN})'
              priority: INFO
              tags:
                - tag: scope
                  value: performance
        - uuid: d60cc4367893424d9671b1f05ba83599
          name: 'Maximum number of processes'
          type: ZABBIX_ACTIVE
          key: kernel.maxproc
          delay: 1h
          description: 'May be increased by using the `sysctl` utility or modifying the file `/etc/sysctl.conf`.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 740ed348fb1d41dca7c410123b668a48
              expression: 'last(/Linux by Zabbix agent active/kernel.maxproc)<{$KERNEL.MAXPROC.MIN}'
              name: 'Linux: Configured max number of processes is too low'
              event_name: 'Linux: Configured max number of processes is too low (< {$KERNEL.MAXPROC.MIN})'
              priority: INFO
              dependencies:
                - name: 'Linux: Getting closer to process limit'
                  expression: 'last(/Linux by Zabbix agent active/proc.num)/last(/Linux by Zabbix agent active/kernel.maxproc)*100>80'
              tags:
                - tag: scope
                  value: performance
        - uuid: ccb6fdbe1267475780e978c0c5de986c
          name: 'Number of processes'
          type: ZABBIX_ACTIVE
          key: proc.num
          tags:
            - tag: component
              value: system
        - uuid: 436bf5615731425a97fdcdbaac5f4000
          name: 'Number of running processes'
          type: ZABBIX_ACTIVE
          key: 'proc.num[,,run]'
          tags:
            - tag: component
              value: system
        - uuid: 42bb6cbed08a4884a99328b38e4c1654
          name: 'System boot time'
          type: ZABBIX_ACTIVE
          key: system.boottime
          delay: 15m
          units: unixtime
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          tags:
            - tag: component
              value: system
        - uuid: 0a2218b9d9124c7284962f84bdefaab8
          name: 'Interrupts per second'
          type: ZABBIX_ACTIVE
          key: system.cpu.intr
          value_type: FLOAT
          description: 'Number of interrupts processed.'
          preprocessing:
            - type: CHANGE_PER_SECOND
          tags:
            - tag: component
              value: cpu
        - uuid: c692df07acc44b4ea1f4f88cd4ee64eb
          name: 'Load average (1m avg)'
          type: ZABBIX_ACTIVE
          key: 'system.cpu.load[all,avg1]'
          value_type: FLOAT
          description: 'Calculated as the system CPU load divided by the number of CPU cores.'
          tags:
            - tag: component
              value: cpu
        - uuid: 18862acd219e4259a9b9665c32550fa5
          name: 'Load average (5m avg)'
          type: ZABBIX_ACTIVE
          key: 'system.cpu.load[all,avg5]'
          value_type: FLOAT
          description: 'Calculated as the system CPU load divided by the number of CPU cores.'
          tags:
            - tag: component
              value: cpu
        - uuid: 61040b6d85df4a2087e562f0216e723d
          name: 'Load average (15m avg)'
          type: ZABBIX_ACTIVE
          key: 'system.cpu.load[all,avg15]'
          value_type: FLOAT
          description: 'Calculated as the system CPU load divided by the number of CPU cores.'
          tags:
            - tag: component
              value: cpu
        - uuid: 6e98a6a53c1a44c09b5e3c19971b834c
          name: 'Number of CPUs'
          type: ZABBIX_ACTIVE
          key: system.cpu.num
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: cpu
        - uuid: 47e3a1d3955d4bccb07a0e32f768273d
          name: 'Context switches per second'
          type: ZABBIX_ACTIVE
          key: system.cpu.switches
          value_type: FLOAT
          description: 'The combined rate at which all processors on the computer are switched from one thread to another.'
          preprocessing:
            - type: CHANGE_PER_SECOND
          tags:
            - tag: component
              value: cpu
        - uuid: 9cb786aec7de4f749f33c6e5adfbaf75
          name: 'CPU utilization'
          type: DEPENDENT
          key: system.cpu.util
          value_type: FLOAT
          units: '%'
          description: 'CPU utilization expressed in %.'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - 'return (100 - value)'
          master_item:
            key: 'system.cpu.util[,idle]'
          tags:
            - tag: component
              value: cpu
          triggers:
            - uuid: e299778a6fcc4805bd5806f3b2ffe1c2
              expression: 'min(/Linux by Zabbix agent active/system.cpu.util,5m)>{$CPU.UTIL.CRIT}'
              name: 'Linux: High CPU utilization'
              event_name: 'Linux: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)'
              opdata: 'Current utilization: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'CPU utilization is too high. The system might be slow to respond.'
              dependencies:
                - name: 'Linux: Load average is too high'
                  expression: |
                    min(/Linux by Zabbix agent active/system.cpu.load[all,avg1],5m)/last(/Linux by Zabbix agent active/system.cpu.num)>{$LOAD_AVG_PER_CPU.MAX.WARN}
                    and last(/Linux by Zabbix agent active/system.cpu.load[all,avg5])>0
                    and last(/Linux by Zabbix agent active/system.cpu.load[all,avg15])>0
              tags:
                - tag: scope
                  value: performance
        - uuid: 4ef463cc12da45e6b5a97cee93fd5ba0
          name: 'CPU guest time'
          type: ZABBIX_ACTIVE
          key: 'system.cpu.util[,guest]'
          value_type: FLOAT
          units: '%'
          description: 'Time spent on running a virtual CPU for a guest operating system.'
          tags:
            - tag: component
              value: cpu
        - uuid: 0cb7f1c9774241968208724ab56f4d86
          name: 'CPU guest nice time'
          type: ZABBIX_ACTIVE
          key: 'system.cpu.util[,guest_nice]'
          value_type: FLOAT
          units: '%'
          description: 'Time spent on running a niced guest (a virtual CPU for guest operating systems under the control of the Linux kernel).'
          tags:
            - tag: component
              value: cpu
        - uuid: 8a20c7edef6d449e8771ff57cebb87d8
          name: 'CPU idle time'
          type: ZABBIX_ACTIVE
          key: 'system.cpu.util[,idle]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has spent doing nothing.'
          tags:
            - tag: component
              value: cpu
        - uuid: 9329b55874bb4de7a52f941f382ba9ce
          name: 'CPU interrupt time'
          type: ZABBIX_ACTIVE
          key: 'system.cpu.util[,interrupt]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has spent servicing hardware interrupts.'
          tags:
            - tag: component
              value: cpu
        - uuid: 4859bb1b6e21469a917aa56fbfbe1698
          name: 'CPU iowait time'
          type: ZABBIX_ACTIVE
          key: 'system.cpu.util[,iowait]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has been waiting for I/O to complete.'
          tags:
            - tag: component
              value: cpu
        - uuid: d965fa68eea3454e83179116c5483322
          name: 'CPU nice time'
          type: ZABBIX_ACTIVE
          key: 'system.cpu.util[,nice]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has spent running users'' processes that have been niced.'
          tags:
            - tag: component
              value: cpu
        - uuid: 2ff77e25f0fe45238c64a6532735cdd5
          name: 'CPU softirq time'
          type: ZABBIX_ACTIVE
          key: 'system.cpu.util[,softirq]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has been servicing software interrupts.'
          tags:
            - tag: component
              value: cpu
        - uuid: 434c154ba392476f9ad8a94968840e19
          name: 'CPU steal time'
          type: ZABBIX_ACTIVE
          key: 'system.cpu.util[,steal]'
          value_type: FLOAT
          units: '%'
          description: 'The amount of "stolen" CPU from this virtual machine by the hypervisor for other tasks, such as running another virtual machine.'
          tags:
            - tag: component
              value: cpu
        - uuid: 75622323ae4447e8a21a04ef191fdc2d
          name: 'CPU system time'
          type: ZABBIX_ACTIVE
          key: 'system.cpu.util[,system]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has spent running the kernel and its processes.'
          tags:
            - tag: component
              value: cpu
        - uuid: c74b64926aae4a8e8c2299d8bfe2e188
          name: 'CPU user time'
          type: ZABBIX_ACTIVE
          key: 'system.cpu.util[,user]'
          value_type: FLOAT
          units: '%'
          description: 'Time the CPU has spent running users'' processes that are not niced.'
          tags:
            - tag: component
              value: cpu
        - uuid: fdf4eb1b98d04b229a1c9a3c0b5837ba
          name: 'System name'
          type: ZABBIX_ACTIVE
          key: system.hostname
          delay: 1h
          value_type: CHAR
          description: 'The host name of the system.'
          inventory_link: NAME
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: c2fc80044fa94f0d97c72bd1d749b731
              expression: 'change(/Linux by Zabbix agent active/system.hostname) and length(last(/Linux by Zabbix agent active/system.hostname))>0'
              name: 'Linux: System name has changed'
              event_name: 'Linux: 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: c8fa467600ab48ce8cec353bab6c3a54
          name: 'System local time'
          type: ZABBIX_ACTIVE
          key: system.localtime
          units: unixtime
          description: 'The local system time of the host.'
          tags:
            - tag: component
              value: system
        - uuid: 627cbcb2432a4aeda6e90363d9b0c1db
          name: 'Operating system architecture'
          type: ZABBIX_ACTIVE
          key: system.sw.arch
          delay: 1h
          value_type: CHAR
          description: 'The architecture of the operating system.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: os
        - uuid: d8c633f2fd1947028079a5939835dcd8
          name: 'Operating system'
          type: ZABBIX_ACTIVE
          key: system.sw.os
          delay: 1h
          value_type: CHAR
          inventory_link: OS
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: os
          triggers:
            - uuid: e27cb7063ca841a2b78aa547ec0d001c
              expression: 'change(/Linux by Zabbix agent active/system.sw.os) and length(last(/Linux by Zabbix agent active/system.sw.os))>0'
              name: 'Linux: 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: 'Linux: System name has changed'
                  expression: 'change(/Linux by Zabbix agent active/system.hostname) and length(last(/Linux by Zabbix agent active/system.hostname))>0'
              tags:
                - tag: scope
                  value: notice
        - uuid: 16b1e5ab950040ef8c29139e0649d622
          name: 'Number of installed packages'
          type: ZABBIX_ACTIVE
          key: system.sw.packages.get
          delay: 1h
          preprocessing:
            - type: JSONPATH
              parameters:
                - $.length()
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: os
          triggers:
            - uuid: bd57d37531ac48f5b96a9f45453f3c35
              expression: 'change(/Linux by Zabbix agent active/system.sw.packages.get)<>0'
              name: 'Linux: Number of installed packages has been changed'
              priority: WARNING
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: f08e1de57cbd4b08b9fd3294d0d95906
          name: 'Free swap space'
          type: ZABBIX_ACTIVE
          key: 'system.swap.size[,free]'
          units: B
          description: 'The free space of the swap volume/file expressed in bytes.'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: 56b8f84d22264b92b70a6ab0c3c70f19
          name: 'Free swap space in %'
          type: ZABBIX_ACTIVE
          key: 'system.swap.size[,pfree]'
          value_type: FLOAT
          units: '%'
          description: 'The free space of the swap volume/file expressed in %.'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: 3a9fb924ab1d47168ffcab9d237d808a
          name: 'Total swap space'
          type: ZABBIX_ACTIVE
          key: 'system.swap.size[,total]'
          units: B
          description: 'The total space of the swap volume/file expressed in bytes.'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: d3d73dcc92b34511971eddf956dc4c0f
          name: 'System description'
          type: ZABBIX_ACTIVE
          key: system.uname
          delay: 15m
          value_type: CHAR
          description: 'The information as normally returned by `uname -a`.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 51bdea745e0547ad92a74fefaea54e39
          name: 'System uptime'
          type: ZABBIX_ACTIVE
          key: system.uptime
          delay: 30s
          trends: '0'
          units: uptime
          description: 'The system uptime expressed in the following format: "N days, hh:mm:ss".'
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 64dbab85caf749f59f3da0c374746bc2
              expression: 'last(/Linux by Zabbix agent active/system.uptime)<10m'
              name: 'Linux: {HOST.NAME} has been restarted'
              event_name: 'Linux: {HOST.NAME} has been restarted (uptime < 10m)'
              priority: WARNING
              description: 'The host uptime is less than 10 minutes.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 4ea1cfb5813a422b98caebcd870959ef
          name: 'Number of logged in users'
          type: ZABBIX_ACTIVE
          key: system.users.num
          description: 'The number of users who are currently logged in.'
          tags:
            - tag: component
              value: environment
        - uuid: 87f35de24ba74a8d8f70430c8da85261
          name: 'Checksum of /etc/passwd'
          type: ZABBIX_ACTIVE
          key: 'vfs.file.cksum[/etc/passwd,sha256]'
          delay: 15m
          value_type: CHAR
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          tags:
            - tag: component
              value: security
          triggers:
            - uuid: c5a76894508c4f0e9dcc9f70e6f39f49
              expression: 'last(/Linux by Zabbix agent active/vfs.file.cksum[/etc/passwd,sha256],#1)<>last(/Linux by Zabbix agent active/vfs.file.cksum[/etc/passwd,sha256],#2)'
              name: 'Linux: /etc/passwd has been changed'
              priority: INFO
              manual_close: 'YES'
              dependencies:
                - name: 'Linux: Operating system description has changed'
                  expression: 'change(/Linux by Zabbix agent active/system.sw.os) and length(last(/Linux by Zabbix agent active/system.sw.os))>0'
                - name: 'Linux: System name has changed'
                  expression: 'change(/Linux by Zabbix agent active/system.hostname) and length(last(/Linux by Zabbix agent active/system.hostname))>0'
              tags:
                - tag: scope
                  value: security
        - uuid: 6c1de983421846c9acef8f465ff2f196
          name: 'Get filesystems'
          type: ZABBIX_ACTIVE
          key: vfs.fs.get
          history: '0'
          value_type: TEXT
          description: 'The `vfs.fs.get` key acquires raw information set about the filesystems. Later to be extracted by preprocessing in dependent items.'
          tags:
            - tag: component
              value: raw
        - uuid: 5bf94ec3debc459fa3e13449199052ee
          name: 'Available memory'
          type: ZABBIX_ACTIVE
          key: 'vm.memory.size[available]'
          units: B
          description: |
            The available memory:
            - in Linux = free + buffers + cache;
            - on other platforms calculation may vary.
            
            See also Appendixes in Zabbix Documentation about parameters of the `vm.memory.size` item.
          tags:
            - tag: component
              value: memory
        - uuid: 99efd95a41b34457a2ec0d8c96324e7c
          name: 'Available memory in %'
          type: ZABBIX_ACTIVE
          key: 'vm.memory.size[pavailable]'
          value_type: FLOAT
          units: '%'
          description: 'The available memory as percentage of the total. See also Appendixes in Zabbix Documentation about parameters of the `vm.memory.size` item.'
          tags:
            - tag: component
              value: memory
        - uuid: 013fe8b15c86442eadc10763706ec594
          name: 'Total memory'
          type: ZABBIX_ACTIVE
          key: 'vm.memory.size[total]'
          units: B
          description: 'Total memory expressed in bytes.'
          tags:
            - tag: component
              value: memory
        - uuid: 07e60e812d32443ba8e8b0eb27166b98
          name: 'Memory utilization'
          type: DEPENDENT
          key: vm.memory.utilization
          value_type: FLOAT
          units: '%'
          description: 'The percentage of used memory is calculated as `100-pavailable`.'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - 'return (100-value);'
          master_item:
            key: 'vm.memory.size[pavailable]'
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: fb368aa704064a44b9a4ed8c129cf3e8
              expression: 'min(/Linux by Zabbix agent active/vm.memory.utilization,5m)>{$MEMORY.UTIL.MAX}'
              name: 'Linux: High memory utilization'
              event_name: 'Linux: High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m)'
              priority: AVERAGE
              description: 'The system is running out of free memory.'
              dependencies:
                - name: 'Linux: Lack of available memory'
                  expression: 'max(/Linux by Zabbix agent active/vm.memory.size[available],5m)<{$MEMORY.AVAILABLE.MIN} and last(/Linux by Zabbix agent active/vm.memory.size[total])>0'
              tags:
                - tag: scope
                  value: capacity
                - tag: scope
                  value: performance
        - uuid: 090fb1a5698e4e7080abf379b377b6f5
          name: 'Active agent availability'
          type: INTERNAL
          key: 'zabbix[host,active_agent,available]'
          description: |
            Availability of active checks on the host. The value of this item corresponds to availability icons in the host list.
            Possible values:
            0 - unknown
            1 - available
            2 - not available
          valuemap:
            name: zabbix.host.active_agent.available
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: a022259fc3cf454f93bc82cca27391f1
              expression: 'min(/Linux by Zabbix agent active/zabbix[host,active_agent,available],{$AGENT.TIMEOUT})=2'
              name: 'Linux: Active checks are not available'
              opdata: 'Current state: {ITEM.LASTVALUE1}'
              priority: HIGH
              description: 'Active checks are considered unavailable. Agent has not sent a heartbeat for a prolonged time.'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: 0b47631fb1334f78a7fe5207194a5476
          name: 'Network interface discovery'
          type: ZABBIX_ACTIVE
          key: net.if.discovery
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.MATCHES}'
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'The discovery of network interfaces.'
          item_prototypes:
            - uuid: f1a4f18b78754e669d1ddc593765f2e4
              name: 'Interface {#IFNAME}: Inbound packets discarded'
              type: ZABBIX_ACTIVE
              key: 'net.if.in["{#IFNAME}",dropped]'
              delay: 3m
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: f0eb218780ce44128117d73d65d412a9
              name: 'Interface {#IFNAME}: Inbound packets with errors'
              type: ZABBIX_ACTIVE
              key: 'net.if.in["{#IFNAME}",errors]'
              delay: 3m
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 37dd13afa2b84b0e906a80016b9b2bf5
              name: 'Interface {#IFNAME}: Bits received'
              type: ZABBIX_ACTIVE
              key: 'net.if.in["{#IFNAME}"]'
              delay: 3m
              units: bps
              preprocessing:
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 12a56bb72eef43648293ce1d6c8f9c42
              name: 'Interface {#IFNAME}: Outbound packets discarded'
              type: ZABBIX_ACTIVE
              key: 'net.if.out["{#IFNAME}",dropped]'
              delay: 3m
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 90362d020e82429d87b0b1688355831d
              name: 'Interface {#IFNAME}: Outbound packets with errors'
              type: ZABBIX_ACTIVE
              key: 'net.if.out["{#IFNAME}",errors]'
              delay: 3m
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 63616a66fb5e4fd7a725c5186b47e516
              name: 'Interface {#IFNAME}: Bits sent'
              type: ZABBIX_ACTIVE
              key: 'net.if.out["{#IFNAME}"]'
              delay: 3m
              units: bps
              preprocessing:
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 83b33479fd774915b100b69c527519c8
              name: 'Interface {#IFNAME}: Operational status'
              type: ZABBIX_ACTIVE
              key: 'vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"]'
              trends: '0'
              description: 'Reference: https://www.kernel.org/doc/Documentation/networking/operstates.txt'
              valuemap:
                name: ifOperStatus
              preprocessing:
                - type: JAVASCRIPT
                  parameters:
                    - |
                      var newvalue;
                      switch(value) {
                        case "unknown":
                      	newvalue = 0;
                      	break;
                        case "notpresent":
                      	newvalue = 1;
                      	break;
                        case "down":
                      	newvalue = 2;
                      	break;
                        case "lowerlayerdown":
                      	newvalue = 3;
                      	break;
                        case "testing":
                      	newvalue = 4;
                      	break;
                        case "dormant":
                      	newvalue = 5;
                      	break;
                        case "up":
                      	newvalue = 6;
                      	break;  default:
                      	newvalue = "Problem parsing interface operstate in JS";
                      }
                      return newvalue;
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 1b8e42925e1b48969f35d91800fe5229
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])=2 and (last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#1)<>last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#2))'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
                  name: 'Linux: Interface {#IFNAME}: Link down'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: |
                    This trigger expression works as follows:
                    1. It can be triggered if the operations status is down.
                    2. `{$IFCONTROL:"{#IFNAME}"}=1` - a user can redefine 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: 86dd61015ecc43428803b309bdfa9691
              name: 'Interface {#IFNAME}: Speed'
              type: ZABBIX_ACTIVE
              key: 'vfs.file.contents["/sys/class/net/{#IFNAME}/speed"]'
              delay: 5m
              trends: '0'
              units: bps
              description: |
                It indicates the latest or current speed value of the interface. The value is an integer representing the link speed expressed in bits/sec.
                This attribute is only valid for the interfaces that implement the ethtool `get_link_ksettings` method (mostly Ethernet).
                
                Reference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '1000000'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: e675114e23414b9dbc2d19d00f32bc70
              name: 'Interface {#IFNAME}: Interface type'
              type: ZABBIX_ACTIVE
              key: 'vfs.file.contents["/sys/class/net/{#IFNAME}/type"]'
              delay: 1h
              trends: '0'
              description: |
                It indicates the interface protocol type as a decimal value.
                See `include/uapi/linux/if_arp.h` for all possible values.
                Reference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net
              valuemap:
                name: 'Linux::Interface protocol types'
              preprocessing:
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1d
              tags:
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
          trigger_prototypes:
            - uuid: c0fd4630351f424aa6c8b7f2e85f0f9e
              expression: |
                change(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])<0 and last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])>0
                and
                (last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/type"])=6 or last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/type"])=1)
                and
                (last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])<>2)
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                (change(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])>0 and last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"],#2)>0) or
                (last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])=2)
              name: 'Linux: Interface {#IFNAME}: 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: 'Linux: Interface {#IFNAME}: Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])=2 and (last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#1)<>last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#2))'
                  recovery_expression: 'last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 5370cb085c454077a2dd6c39890f706a
              expression: |
                (avg(/Linux by Zabbix agent active/net.if.in["{#IFNAME}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"]) or
                avg(/Linux by Zabbix agent active/net.if.out["{#IFNAME}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])) and
                last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])>0
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                avg(/Linux by Zabbix agent active/net.if.in["{#IFNAME}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"]) and
                avg(/Linux by Zabbix agent active/net.if.out["{#IFNAME}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/speed"])
              name: 'Linux: Interface {#IFNAME}: High bandwidth usage'
              event_name: 'Linux: Interface {#IFNAME}: 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: 'Linux: Interface {#IFNAME}: Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])=2 and (last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#1)<>last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#2))'
                  recovery_expression: 'last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 58f4ba4b2795407896752da57462629d
              expression: |
                min(/Linux by Zabbix agent active/net.if.in["{#IFNAME}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
                or min(/Linux by Zabbix agent active/net.if.out["{#IFNAME}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                max(/Linux by Zabbix agent active/net.if.in["{#IFNAME}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
                and max(/Linux by Zabbix agent active/net.if.out["{#IFNAME}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
              name: 'Linux: Interface {#IFNAME}: High error rate'
              event_name: 'Linux: Interface {#IFNAME}: 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: 'Linux: Interface {#IFNAME}: Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])=2 and (last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#1)<>last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"],#2))'
                  recovery_expression: 'last(/Linux by Zabbix agent active/vfs.file.contents["/sys/class/net/{#IFNAME}/operstate"])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
          graph_prototypes:
            - uuid: 6e2814a0ef824df7b418bbd86b260181
              name: 'Interface {#IFNAME}: Network traffic'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'Linux by Zabbix agent active'
                    key: 'net.if.in["{#IFNAME}"]'
                - sortorder: '1'
                  drawtype: BOLD_LINE
                  color: F63100
                  item:
                    host: 'Linux by Zabbix agent active'
                    key: 'net.if.out["{#IFNAME}"]'
                - sortorder: '2'
                  color: 00611C
                  yaxisside: RIGHT
                  item:
                    host: 'Linux by Zabbix agent active'
                    key: 'net.if.out["{#IFNAME}",errors]'
                - sortorder: '3'
                  color: F7941D
                  yaxisside: RIGHT
                  item:
                    host: 'Linux by Zabbix agent active'
                    key: 'net.if.in["{#IFNAME}",errors]'
                - sortorder: '4'
                  color: FC6EA3
                  yaxisside: RIGHT
                  item:
                    host: 'Linux by Zabbix agent active'
                    key: 'net.if.out["{#IFNAME}",dropped]'
                - sortorder: '5'
                  color: 6C59DC
                  yaxisside: RIGHT
                  item:
                    host: 'Linux by Zabbix agent active'
                    key: 'net.if.in["{#IFNAME}",dropped]'
        - uuid: ff825e7028c24138a7ea6625353a1790
          name: 'Block devices discovery'
          type: ZABBIX_ACTIVE
          key: vfs.dev.discovery
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#DEVNAME}'
                value: '{$VFS.DEV.DEVNAME.MATCHES}'
              - macro: '{#DEVNAME}'
                value: '{$VFS.DEV.DEVNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#DEVTYPE}'
                value: disk
          item_prototypes:
            - uuid: 9a0448cf8a184d52a7872df410f25d6b
              name: '{#DEVNAME}: Disk average queue size (avgqu-sz)'
              type: DEPENDENT
              key: 'vfs.dev.queue_size[{#DEVNAME}]'
              value_type: FLOAT
              description: 'The current average disk queue; the number of requests outstanding on the disk while the performance data is being collected.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[10]'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '0.001'
              master_item:
                key: 'vfs.file.contents[/sys/block/{#DEVNAME}/stat]'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 1b3559f0d90948f0a72c2fdfdc80930b
              name: '{#DEVNAME}: Disk read request avg waiting time (r_await)'
              type: CALCULATED
              key: 'vfs.dev.read.await[{#DEVNAME}]'
              value_type: FLOAT
              units: '!ms'
              params: '(last(//vfs.dev.read.time.rate[{#DEVNAME}])/(last(//vfs.dev.read.rate[{#DEVNAME}])+(last(//vfs.dev.read.rate[{#DEVNAME}])=0)))*1000*(last(//vfs.dev.read.rate[{#DEVNAME}]) > 0)'
              description: 'This formula contains two Boolean expressions that evaluate to 1 or 0 in order to set the calculated metric to zero and to avoid the exception - division by zero.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 3bb5f84b2e954c28843fa1fb3898c034
              name: '{#DEVNAME}: Disk read rate'
              type: DEPENDENT
              key: 'vfs.dev.read.rate[{#DEVNAME}]'
              value_type: FLOAT
              units: '!r/s'
              description: 'r/s (read operations per second) - the number (after merges) of read requests completed per second for the device.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[0]'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'vfs.file.contents[/sys/block/{#DEVNAME}/stat]'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: df02934521b54864b2538b764c5d549b
              name: '{#DEVNAME}: Disk read time (rate)'
              type: DEPENDENT
              key: 'vfs.dev.read.time.rate[{#DEVNAME}]'
              value_type: FLOAT
              description: 'The rate of total read time counter; used in `r_await` calculation.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[3]'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '0.001'
              master_item:
                key: 'vfs.file.contents[/sys/block/{#DEVNAME}/stat]'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 72546bd5eefb4ac7a0b2992a25e5f0c5
              name: '{#DEVNAME}: Disk utilization'
              type: DEPENDENT
              key: 'vfs.dev.util[{#DEVNAME}]'
              value_type: FLOAT
              units: '%'
              description: 'The percentage of elapsed time during which the selected disk drive was busy while servicing read or write requests.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[9]'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
              master_item:
                key: 'vfs.file.contents[/sys/block/{#DEVNAME}/stat]'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 8422c37735774134996be62580e7bf0f
              name: '{#DEVNAME}: Disk write request avg waiting time (w_await)'
              type: CALCULATED
              key: 'vfs.dev.write.await[{#DEVNAME}]'
              value_type: FLOAT
              units: '!ms'
              params: '(last(//vfs.dev.write.time.rate[{#DEVNAME}])/(last(//vfs.dev.write.rate[{#DEVNAME}])+(last(//vfs.dev.write.rate[{#DEVNAME}])=0)))*1000*(last(//vfs.dev.write.rate[{#DEVNAME}]) > 0)'
              description: 'This formula contains two Boolean expressions that evaluate to 1 or 0 in order to set the calculated metric to zero and to avoid the exception - division by zero.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 4ba78909402d4bb8ab32f12c679ea3db
              name: '{#DEVNAME}: Disk write rate'
              type: DEPENDENT
              key: 'vfs.dev.write.rate[{#DEVNAME}]'
              value_type: FLOAT
              units: '!w/s'
              description: 'w/s (write operations per second) - the number (after merges) of write requests completed per second for the device.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[4]'
                - type: CHANGE_PER_SECOND
              master_item:
                key: 'vfs.file.contents[/sys/block/{#DEVNAME}/stat]'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 7717dd9841004fa08b35b0e9f42bffaf
              name: '{#DEVNAME}: Disk write time (rate)'
              type: DEPENDENT
              key: 'vfs.dev.write.time.rate[{#DEVNAME}]'
              value_type: FLOAT
              description: 'The rate of total write time counter; used in `w_await` calculation.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[7]'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '0.001'
              master_item:
                key: 'vfs.file.contents[/sys/block/{#DEVNAME}/stat]'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 39877664726f4886aa88f3d1592bbcb1
              name: '{#DEVNAME}: Get stats'
              type: ZABBIX_ACTIVE
              key: 'vfs.file.contents[/sys/block/{#DEVNAME}/stat]'
              history: '0'
              value_type: TEXT
              description: 'The contents of get `/sys/block/{#DEVNAME}/stat` to get the disk statistics.'
              preprocessing:
                - type: JAVASCRIPT
                  parameters:
                    - 'return JSON.stringify(value.trim().split(/ +/));'
              tags:
                - tag: component
                  value: raw
          trigger_prototypes:
            - uuid: fd5732c3cf5249f9a05e3b6cedc2d2fd
              expression: 'min(/Linux by Zabbix agent active/vfs.dev.read.await[{#DEVNAME}],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} or min(/Linux by Zabbix agent active/vfs.dev.write.await[{#DEVNAME}],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"}'
              name: 'Linux: {#DEVNAME}: Disk read/write request responses are too high'
              event_name: 'Linux: {#DEVNAME}: Disk read/write request responses are too high (read > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"} ms for 15m or write > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"} ms for 15m)'
              priority: WARNING
              description: 'This trigger might indicate the disk `{#DEVNAME}` saturation.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: performance
          graph_prototypes:
            - uuid: feca6a365b8d49d2a66ff4bfac089fc8
              name: '{#DEVNAME}: Disk average waiting time'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'Linux by Zabbix agent active'
                    key: 'vfs.dev.read.await[{#DEVNAME}]'
                - sortorder: '1'
                  drawtype: GRADIENT_LINE
                  color: F63100
                  item:
                    host: 'Linux by Zabbix agent active'
                    key: 'vfs.dev.write.await[{#DEVNAME}]'
            - uuid: b136583f822a4d48a52a17f4bb0d07d9
              name: '{#DEVNAME}: Disk read/write rates'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'Linux by Zabbix agent active'
                    key: 'vfs.dev.read.rate[{#DEVNAME}]'
                - sortorder: '1'
                  drawtype: GRADIENT_LINE
                  color: F63100
                  item:
                    host: 'Linux by Zabbix agent active'
                    key: 'vfs.dev.write.rate[{#DEVNAME}]'
            - uuid: 8863772fb82b49a891ea50cbec5cdd05
              name: '{#DEVNAME}: Disk utilization and queue'
              graph_items:
                - color: 199C0D
                  yaxisside: RIGHT
                  item:
                    host: 'Linux by Zabbix agent active'
                    key: 'vfs.dev.queue_size[{#DEVNAME}]'
                - sortorder: '1'
                  drawtype: GRADIENT_LINE
                  color: F63100
                  item:
                    host: 'Linux by Zabbix agent active'
                    key: 'vfs.dev.util[{#DEVNAME}]'
        - uuid: 5c9b5dbed44c4af0957ff9316f8fb761
          name: 'Mounted filesystem discovery'
          type: DEPENDENT
          key: vfs.fs.dependent.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#FSNAME}'
                value: '{$VFS.FS.FSNAME.MATCHES}'
              - macro: '{#FSNAME}'
                value: '{$VFS.FS.FSNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#FSTYPE}'
                value: '{$VFS.FS.FSTYPE.MATCHES}'
              - macro: '{#FSTYPE}'
                value: '{$VFS.FS.FSTYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'The discovery of mounted filesystems with different types.'
          item_prototypes:
            - uuid: 5cc9099851ee4f4498fd74ec2c377eb4
              name: 'FS [{#FSNAME}]: Inodes: Free, in %'
              type: DEPENDENT
              key: 'vfs.fs.dependent.inode[{#FSNAME},pfree]'
              value_type: FLOAT
              units: '%'
              description: 'Free metadata space expressed in %.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.inodes.pfree
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
              trigger_prototypes:
                - uuid: 98e196ffb6f0422baf007fcff5f45b60
                  expression: 'min(/Linux by Zabbix agent active/vfs.fs.dependent.inode[{#FSNAME},pfree],5m)<{$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"}'
                  name: 'Linux: FS [{#FSNAME}]: Running out of free inodes'
                  event_name: 'Linux: {#FSNAME}: Running out of free inodes (free < {$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"}%)'
                  opdata: 'Free inodes: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: 'Disk writing may fail if index nodes are exhausted, leading to error messages like "No space left on device" or "Disk is full", despite available free space.'
                  tags:
                    - tag: scope
                      value: capacity
                    - tag: scope
                      value: performance
                - uuid: a17e14a65c53447a9ce607799a62e7dd
                  expression: 'min(/Linux by Zabbix agent active/vfs.fs.dependent.inode[{#FSNAME},pfree],5m)<{$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"}'
                  name: 'Linux: FS [{#FSNAME}]: Running out of free inodes'
                  event_name: 'Linux: FS [{#FSNAME}]: Running out of free inodes (free < {$VFS.FS.INODE.PFREE.MIN.WARN:"{#FSNAME}"}%)'
                  opdata: 'Free inodes: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'Disk writing may fail if index nodes are exhausted, leading to error messages like "No space left on device" or "Disk is full", despite available free space.'
                  dependencies:
                    - name: 'Linux: FS [{#FSNAME}]: Running out of free inodes'
                      expression: 'min(/Linux by Zabbix agent active/vfs.fs.dependent.inode[{#FSNAME},pfree],5m)<{$VFS.FS.INODE.PFREE.MIN.CRIT:"{#FSNAME}"}'
                  tags:
                    - tag: scope
                      value: capacity
                    - tag: scope
                      value: performance
            - uuid: 4c658024f34c49d7bd5f6ca9b33c13d7
              name: 'FS [{#FSNAME}]: Space: Available'
              type: DEPENDENT
              key: 'vfs.fs.dependent.size[{#FSNAME},free]'
              units: B
              description: 'Available storage space expressed in bytes.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.bytes.free
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
            - uuid: b33989051217493cb9124302297e409f
              name: 'FS [{#FSNAME}]: Space: Used, in %'
              type: DEPENDENT
              key: 'vfs.fs.dependent.size[{#FSNAME},pused]'
              value_type: FLOAT
              units: '%'
              description: 'Calculated as the percentage of currently used space compared to the maximum available space.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.bytes.pused
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
              trigger_prototypes:
                - uuid: cf4079132a9d4124aa5e29d6839ae35b
                  expression: 'min(/Linux by Zabbix agent active/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}'
                  name: 'Linux: FS [{#FSNAME}]: Space is critically low'
                  event_name: 'Linux: FS [{#FSNAME}]: Space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%, total {{?last(//vfs.fs.dependent.size[{#FSNAME},total])/1024/1024/1024}.fmtnum(1)}GB)'
                  opdata: 'Space used: {{ITEM.LASTVALUE1}.fmtnum(1)}%'
                  priority: AVERAGE
                  description: |
                    The volume's space usage exceeds the `{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%` limit.
                    The trigger expression is based on the current used and maximum available spaces.
                    Event name represents the total volume space, which can differ from the maximum available space, depending on the filesystem type.
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: capacity
                - uuid: b56b8cad3bb34fab8132e07a32c432d9
                  expression: 'min(/Linux by Zabbix agent active/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}'
                  name: 'Linux: FS [{#FSNAME}]: Space is low'
                  event_name: 'Linux: FS [{#FSNAME}]: Space is low (used > {$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}%, total {{?last(//vfs.fs.dependent.size[{#FSNAME},total])/1024/1024/1024}.fmtnum(1)}GB)'
                  opdata: 'Space used: {{ITEM.LASTVALUE1}.fmtnum(1)}%'
                  priority: WARNING
                  description: |
                    The volume's space usage exceeds the `{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}%` limit.
                    The trigger expression is based on the current used and maximum available spaces.
                    Event name represents the total volume space, which can differ from the maximum available space, depending on the filesystem type.
                  manual_close: 'YES'
                  dependencies:
                    - name: 'Linux: FS [{#FSNAME}]: Space is critically low'
                      expression: 'min(/Linux by Zabbix agent active/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: capacity
            - uuid: 5cee504041e347719b35ee2c5a6056b8
              name: 'FS [{#FSNAME}]: Space: Total'
              type: DEPENDENT
              key: 'vfs.fs.dependent.size[{#FSNAME},total]'
              units: B
              description: 'Total space expressed in bytes.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.bytes.total
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
            - uuid: f23970d301be4085ab9038d3078b3871
              name: 'FS [{#FSNAME}]: Space: Used'
              type: DEPENDENT
              key: 'vfs.fs.dependent.size[{#FSNAME},used]'
              units: B
              description: 'Used storage expressed in bytes.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.bytes.used
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
            - uuid: 7eb5cb610b1e4c438af380383c75047f
              name: 'FS [{#FSNAME}]: Get data'
              type: DEPENDENT
              key: 'vfs.fs.dependent[{#FSNAME},data]'
              history: 1h
              value_type: TEXT
              description: 'Intermediate data of `{#FSNAME}` filesystem.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.[?(@.fsname==''{#FSNAME}'')].first()'
              master_item:
                key: vfs.fs.get
              tags:
                - tag: component
                  value: raw
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
            - uuid: e335d40e5d0e4e41b29f1b355018dd91
              name: 'FS [{#FSNAME}]: Option: Read-only'
              type: DEPENDENT
              key: 'vfs.fs.dependent[{#FSNAME},readonly]'
              description: 'The filesystem is mounted as read-only. It is available only for Zabbix agents 6.4 and higher.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.options
                  error_handler: DISCARD_VALUE
                - type: REGEX
                  parameters:
                    - '(?:^|,)ro\b'
                    - '1'
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '0'
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
              trigger_prototypes:
                - uuid: 001c20d581824f0380244745ce0fae9e
                  expression: 'last(/Linux by Zabbix agent active/vfs.fs.dependent[{#FSNAME},readonly],#2)=0 and last(/Linux by Zabbix agent active/vfs.fs.dependent[{#FSNAME},readonly])=1'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/Linux by Zabbix agent active/vfs.fs.dependent[{#FSNAME},readonly])=0'
                  name: 'Linux: FS [{#FSNAME}]: Filesystem has become read-only'
                  priority: AVERAGE
                  description: 'The filesystem has become read-only, possibly due to an I/O error. Available only for Zabbix agents 6.4 and higher.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: 7af98afdf5ad43c9b77dddbe4e68b84f
              name: 'FS [{#FSTYPE}({#FSNAME})]: Space usage graph, in % (relative to max available)'
              width: '600'
              height: '340'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: FILLED_REGION
                  color: F63100
                  calc_fnc: ALL
                  item:
                    host: 'Linux by Zabbix agent active'
                    key: 'vfs.fs.dependent.size[{#FSNAME},pused]'
            - uuid: 1c4fcab8d16440529fb3f2347cd04f51
              name: 'FS [{#FSTYPE}({#FSNAME})]: Space utilization chart (relative to total)'
              width: '600'
              height: '340'
              type: PIE
              show_3d: 'YES'
              graph_items:
                - color: '787878'
                  calc_fnc: LAST
                  type: GRAPH_SUM
                  item:
                    host: 'Linux by Zabbix agent active'
                    key: 'vfs.fs.dependent.size[{#FSNAME},total]'
                - sortorder: '1'
                  color: F63100
                  calc_fnc: LAST
                  item:
                    host: 'Linux by Zabbix agent active'
                    key: 'vfs.fs.dependent.size[{#FSNAME},used]'
                - sortorder: '2'
                  color: 199C09
                  calc_fnc: LAST
                  item:
                    host: 'Linux by Zabbix agent active'
                    key: 'vfs.fs.dependent.size[{#FSNAME},free]'
          master_item:
            key: vfs.fs.get
          lld_macro_paths:
            - lld_macro: '{#FSNAME}'
              path: $.fsname
            - lld_macro: '{#FSTYPE}'
              path: $.fstype
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var filesystems = JSON.parse(value);
                  
                  result = filesystems.map(function (filesystem) {
                  	return {
                  		'fsname': filesystem.fsname,
                  		'fstype': filesystem.fstype
                  	};
                  });
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          overrides:
            - name: 'Skip metadata collection for dynamic FS'
              step: '1'
              filter:
                conditions:
                  - macro: '{#FSTYPE}'
                    value: ^(btrfs|zfs)$
              operations:
                - operator: LIKE
                  value: Inodes
                  discover: NO_DISCOVER
      tags:
        - tag: class
          value: os
        - tag: target
          value: linux
      macros:
        - macro: '{$AGENT.NODATA_TIMEOUT}'
          value: 30m
          description: 'No data timeout for active agents. Consider to keep it relatively high.'
          config:
            type: TEXT
            priority: '1'
            section_name: Thresholds
            label: 'Time since the last agent data was received'
            description: 'Threshold value of time since the last data was received from the agent.'
        - macro: '{$AGENT.TIMEOUT}'
          value: 5m
          description: 'Timeout after which agent is considered unavailable.'
          config:
            type: TEXT
            priority: '2'
            label: 'Seconds since the last Zabbix agent seen'
            description: 'Timeout after which agent is considered unavailable.'
        - macro: '{$CPU.UTIL.CRIT}'
          value: '90'
          description: 'Critical threshold of CPU utilization expressed in %.'
          config:
            type: TEXT
            priority: '3'
            section_name: Thresholds
            label: 'Threshold of CPU utilization expressed'
            description: 'Critical threshold of CPU utilization expressed in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.ERRORS.WARN}'
          value: '2'
          description: 'Warning threshold of error packet rate. Can be used with interface name as context.'
          config:
            type: TEXT
            priority: '22'
            section_name: Thresholds
            label: 'Threshold of error packet rate'
            description: 'Warning threshold of error packet rate. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the interface utilization trigger.'
          config:
            type: TEXT
            priority: '21'
            section_name: Thresholds
            label: 'The threshold in the interface utilization'
            description: 'Used as a threshold in the interface utilization trigger. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IFCONTROL}'
          value: '1'
          description: 'Link status trigger will be fired only for interfaces where the context macro equals "1".'
          config:
            type: CHECKBOX
            priority: '20'
            label: 'Interfaces control'
            description: 'Control for operational state "link down" of interfaces.'
            options:
              - checked: '1'
                unchecked: '0'
        - macro: '{$KERNEL.MAXFILES.MIN}'
          value: '256'
          config:
            type: TEXT
            priority: '26'
            section_name: Thresholds
            label: 'Number of open filedescriptors'
            description: 'Configured max number of open filedescriptors. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$KERNEL.MAXPROC.MIN}'
          value: '1024'
          config:
            type: TEXT
            priority: '25'
            section_name: Thresholds
            label: 'Number of processes'
            description: 'Configured max number of processes. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LOAD_AVG_PER_CPU.MAX.WARN}'
          value: '1.5'
          description: 'The CPU load per core is considered sustainable. If necessary, it can be tuned.'
          config:
            type: TEXT
            priority: '4'
            section_name: Thresholds
            label: 'The CPU load per core'
            description: 'CPU load per core is considered sustainable. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$MEMORY.AVAILABLE.MIN}'
          value: 20M
          description: 'Used as a thresholdin the memory available trigger.'
          config:
            type: TEXT
            priority: '14'
            section_name: Thresholds
            label: 'Threshold in the available memory'
            description: 'Used as a threshold in the available memory trigger.'
        - macro: '{$MEMORY.UTIL.MAX}'
          value: '90'
          description: 'Used as a thresholdin the memory utilization trigger.'
          config:
            type: TEXT
            priority: '13'
            section_name: Thresholds
            label: 'Threshold in the memory utilization'
            description: 'Used as a threshold in the memory utilization trigger. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$NET.IF.IFNAME.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '23'
            section_name: Filters
            label: 'Network interface discovery'
            description: 'Network interface discovery.'
        - 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.'
          config:
            type: TEXT
            priority: '24'
            section_name: Filters
            label: 'Filter for network interface by name.'
            description: 'Filters out `loopbacks`, `nulls`, docker `veth` links and `docker0` bridge by default.'
        - macro: '{$SWAP.PFREE.MIN.WARN}'
          value: '50'
          description: 'The warning threshold of the minimum free swap.'
          config:
            type: TEXT
            priority: '15'
            section_name: Thresholds
            label: 'Threshold of the minimum free swap'
            description: 'Warning threshold of the minimum free swap. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.DEV.DEVNAME.MATCHES}'
          value: .+
          description: 'Used for block device discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '18'
            section_name: Filters
            label: 'Filter for block device discovery'
            description: 'Block device discovery.'
        - macro: '{$VFS.DEV.DEVNAME.NOT_MATCHES}'
          value: '^(loop[0-9]*|sd[a-z][0-9]+|nbd[0-9]+|sr[0-9]+|fd[0-9]+|dm-[0-9]+|ram[0-9]+|ploop[a-z0-9]+|md[0-9]*|hcp[0-9]*|zram[0-9]*)'
          description: 'Used for block device discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '19'
            section_name: Filters
            label: 'Filter for block device discovery (exclude)'
            description: 'Block device discovery.'
        - macro: '{$VFS.DEV.READ.AWAIT.WARN}'
          value: '20'
          description: 'The average response time (in ms) of disk read before the trigger fires.'
          config:
            type: TEXT
            priority: '16'
            section_name: Thresholds
            label: 'The average read time (in ms)'
            description: 'Average response time (in ms) of disk read before the trigger fires. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.DEV.WRITE.AWAIT.WARN}'
          value: '20'
          description: 'The average response time (in ms) of disk write before the trigger fires.'
          config:
            type: TEXT
            priority: '17'
            section_name: Thresholds
            label: 'The average write time (in ms)'
            description: 'Average response time (in ms) of disk write before the trigger fires. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.FSNAME.MATCHES}'
          value: .+
          description: 'Used for filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '9'
            section_name: Filters
            label: 'Filter filesystem by name'
            description: 'Filesystem discovery.'
        - macro: '{$VFS.FS.FSNAME.NOT_MATCHES}'
          value: ^(/dev|/sys|/run|/proc|.+/shm$)
          description: 'Used for filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '10'
            section_name: Filters
            label: 'Filter filesystem by name (exclude)'
            description: 'Filesystem discovery.'
        - macro: '{$VFS.FS.FSTYPE.MATCHES}'
          value: ^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$
          description: 'Used for filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '11'
            section_name: Filters
            label: 'Filter filesystem by type'
            description: 'Filesystem discovery.'
        - macro: '{$VFS.FS.FSTYPE.NOT_MATCHES}'
          value: ^\s$
          description: 'Used for filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '12'
            section_name: Filters
            label: 'Filter filesystem by name (exclude)'
            description: 'Filesystem discovery.'
        - macro: '{$VFS.FS.INODE.PFREE.MIN.CRIT}'
          value: '10'
          description: 'The critical threshold of the filesystem metadata utilization.'
          config:
            type: TEXT
            priority: '8'
            section_name: Thresholds
            label: 'Threshold of the filesystem metadata utilization (critical)'
            description: 'Critical threshold of the filesystem metadata utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.INODE.PFREE.MIN.WARN}'
          value: '20'
          description: 'The warning threshold of the filesystem metadata utilization.'
          config:
            type: TEXT
            priority: '7'
            section_name: Thresholds
            label: 'Threshold of the filesystem metadata utilization'
            description: 'Warning threshold of the filesystem metadata utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.CRIT}'
          value: '90'
          description: 'The critical threshold of the filesystem utilization.'
          config:
            type: TEXT
            priority: '6'
            section_name: Thresholds
            label: 'Threshold of the filesystem utilization (critical)'
            description: 'Critical threshold of the filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.WARN}'
          value: '80'
          description: 'The warning threshold of the filesystem utilization.'
          config:
            type: TEXT
            priority: '5'
            section_name: Thresholds
            label: 'Threshold of the filesystem utilization'
            description: 'Warning threshold of the filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
      dashboards:
        - uuid: 9dca5f83cd664db1ba41b8751ce3d055
          name: Filesystems
          pages:
            - name: Overview
              widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '3'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent active'
                        name: 'FS [{#FSTYPE}({#FSNAME})]: Space utilization chart (relative to total)'
                    - type: STRING
                      name: reference
                      value: AAAEB
                - type: graphprototype
                  'y': '5'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent active'
                        name: 'FS [{#FSTYPE}({#FSNAME})]: Space usage graph, in % (relative to max available)'
                    - type: STRING
                      name: reference
                      value: AAAEC
        - uuid: 6d179c1f45c2438e9e6a3aa567d46b0c
          name: 'Network interfaces'
          pages:
            - name: Overview
              widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent active'
                        name: 'Interface {#IFNAME}: Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAJ
        - uuid: 3e6ceed431734cc29836019e93b5f89e
          name: 'System performance'
          pages:
            - widgets:
                - type: graph
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent active'
                        name: 'Linux: System load'
                    - type: STRING
                      name: reference
                      value: AAAAA
                - type: graph
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent active'
                        name: 'Linux: Memory usage'
                    - type: STRING
                      name: reference
                      value: AAAAC
                - type: graphprototype
                  'y': '10'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '3'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent active'
                        name: 'FS [{#FSTYPE}({#FSNAME})]: Space utilization chart (relative to total)'
                    - type: STRING
                      name: reference
                      value: AAAEA
                - type: graphprototype
                  'y': '15'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent active'
                        name: '{#DEVNAME}: Disk read/write rates'
                    - type: STRING
                      name: reference
                      value: AAAAF
                - type: graphprototype
                  'y': '20'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent active'
                        name: '{#DEVNAME}: Disk average waiting time'
                    - type: STRING
                      name: reference
                      value: AAAAG
                - type: graphprototype
                  'y': '25'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent active'
                        name: '{#DEVNAME}: Disk utilization and queue'
                    - type: STRING
                      name: reference
                      value: AAAAH
                - type: graphprototype
                  'y': '30'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent active'
                        name: 'Interface {#IFNAME}: Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAI
                - type: graph
                  x: '36'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent active'
                        name: 'Linux: CPU usage'
                    - type: STRING
                      name: reference
                      value: AAAAB
                - type: graph
                  x: '36'
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Linux by Zabbix agent active'
                        name: 'Linux: Swap usage'
                    - type: STRING
                      name: reference
                      value: AAAAD
      valuemaps:
        - uuid: 276914b5aee2435da609d3112ecd359d
          name: ifOperStatus
          mappings:
            - value: '0'
              newvalue: unknown
            - value: '1'
              newvalue: notpresent
            - value: '2'
              newvalue: down
            - value: '3'
              newvalue: lowerlayerdown
            - value: '4'
              newvalue: testing
            - value: '5'
              newvalue: dormant
            - value: '6'
              newvalue: up
        - uuid: 79afe98a54a648bb981c29e70ba6652c
          name: 'Linux::Interface protocol types'
          mappings:
            - value: '0'
              newvalue: 'from KA9Q: NET/ROM pseudo'
            - value: '1'
              newvalue: Ethernet
            - value: '2'
              newvalue: 'Experimental Ethernet'
            - value: '3'
              newvalue: 'AX.25 Level 2'
            - value: '4'
              newvalue: 'PROnet token ring'
            - value: '5'
              newvalue: Chaosnet
            - value: '6'
              newvalue: 'IEEE 802.2 Ethernet/TR/TB'
            - value: '7'
              newvalue: ARCnet
            - value: '8'
              newvalue: APPLEtalk
            - value: '15'
              newvalue: 'Frame Relay DLCI'
            - value: '19'
              newvalue: ATM
            - value: '23'
              newvalue: 'Metricom STRIP (new IANA id)'
            - value: '24'
              newvalue: 'IEEE 1394 IPv4 - RFC 2734'
            - value: '27'
              newvalue: EUI-64
            - value: '32'
              newvalue: InfiniBand
            - value: '256'
              newvalue: ARPHRD_SLIP
            - value: '257'
              newvalue: ARPHRD_CSLIP
            - value: '258'
              newvalue: ARPHRD_SLIP6
            - value: '259'
              newvalue: ARPHRD_CSLIP6
            - value: '260'
              newvalue: 'Notional KISS type'
            - value: '264'
              newvalue: ARPHRD_ADAPT
            - value: '270'
              newvalue: ARPHRD_ROSE
            - value: '271'
              newvalue: 'CCITT X.25'
            - value: '272'
              newvalue: 'Boards with X.25 in firmware'
            - value: '280'
              newvalue: 'Controller Area Network'
            - value: '512'
              newvalue: ARPHRD_PPP
            - value: '513'
              newvalue: 'Cisco HDLC'
            - value: '516'
              newvalue: LAPB
            - value: '517'
              newvalue: 'Digital''s DDCMP protocol'
            - value: '518'
              newvalue: 'Raw HDLC'
            - value: '519'
              newvalue: 'Raw IP'
            - value: '768'
              newvalue: 'IPIP tunnel'
            - value: '769'
              newvalue: 'IP6IP6 tunnel'
            - value: '770'
              newvalue: 'Frame Relay Access Device'
            - value: '771'
              newvalue: 'SKIP vif'
            - value: '772'
              newvalue: 'Loopback device'
            - value: '773'
              newvalue: 'Localtalk device'
            - value: '774'
              newvalue: 'Fiber Distributed Data Interface'
            - value: '775'
              newvalue: 'AP1000 BIF'
            - value: '776'
              newvalue: 'sit0 device - IPv6-in-IPv4'
            - value: '777'
              newvalue: 'IP over DDP tunneller'
            - value: '778'
              newvalue: 'GRE over IP'
            - value: '779'
              newvalue: 'PIMSM register interface'
            - value: '780'
              newvalue: 'High Performance Parallel Interface'
            - value: '781'
              newvalue: 'Nexus 64Mbps Ash'
            - value: '782'
              newvalue: 'Acorn Econet'
            - value: '783'
              newvalue: Linux-IrDA
            - value: '784'
              newvalue: 'Point to point fibrechannel'
            - value: '785'
              newvalue: 'Fibrechannel arbitrated loop'
            - value: '786'
              newvalue: 'Fibrechannel public loop'
            - value: '787'
              newvalue: 'Fibrechannel fabric'
            - value: '800'
              newvalue: 'Magic type ident for TR'
            - value: '801'
              newvalue: 'IEEE 802.11'
            - value: '802'
              newvalue: 'IEEE 802.11 + Prism2 header'
            - value: '803'
              newvalue: 'IEEE 802.11 + radiotap header'
            - value: '804'
              newvalue: ARPHRD_IEEE802154
            - value: '805'
              newvalue: 'IEEE 802.15.4 network monitor'
            - value: '820'
              newvalue: 'PhoNet media type'
            - value: '821'
              newvalue: 'PhoNet pipe header'
            - value: '822'
              newvalue: 'CAIF media type'
            - value: '823'
              newvalue: 'GRE over IPv6'
            - value: '824'
              newvalue: 'Netlink header'
            - value: '825'
              newvalue: 'IPv6 over LoWPAN'
            - value: '826'
              newvalue: 'Vsock monitor header'
        - uuid: d4a5821461a243c9bf320ea58be1af23
          name: zabbix.host.active_agent.available
          mappings:
            - value: '0'
              newvalue: unknown
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: 'not available'
        - uuid: e815d397c5e44f1791622fd598bc1131
          name: 'Zabbix agent ping status'
          mappings:
            - value: '1'
              newvalue: Up
    - uuid: 815b5a81b29a477695fddbd533ad9c84
      template: 'Mikrotik by SNMP'
      name: 'Mikrotik by SNMP'
      description: |
        Template Net Mikrotik
        
        MIBs used:
        HOST-RESOURCES-MIB
        SNMPv2-MIB
        MIKROTIK-MIB
        IF-MIB
        
        Known Issues:
        
          Description: Doesn't have ifHighSpeed filled. fixed in more recent versions
          Version: RouterOS 6.28 or lower
        
          Description: Doesn't have any temperature sensors
          Version: RouterOS 6.38.5
          Device: Mikrotik 941-2nD, Mikrotik 951G-2HnD
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      readme: |
        ## Overview
        
        At the core of all MikroTik hardware is RouterOS, a powerful and versatile operating system. It offers a vast array of networking features.
        
        ### Known Issues
        
          Description: Doesn't have ifHighSpeed filled. fixed in more recent versions
          Version: RouterOS 6.28 or lower
        
          Description: Doesn't have any temperature sensors
          Version: RouterOS 6.38.5
          Device: Mikrotik 941-2nD, Mikrotik 951G-2HnD
      vendor:
        name: Zabbix
        version: 7.4-2
      groups:
        - name: 'Templates/Network devices'
      items:
        - uuid: cba2e98b8ea14ff0a03dee515337ac7d
          name: 'ICMP ping'
          type: SIMPLE
          key: icmpping
          valuemap:
            name: 'Service state'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: dc51a869c302440ba48d352545782e6e
              expression: 'max(/Mikrotik by SNMP/icmpping,#3)=0'
              name: 'MikroTik: Unavailable by ICMP ping'
              priority: HIGH
              description: 'Last three attempts returned timeout.  Please check device connectivity.'
              tags:
                - tag: scope
                  value: availability
        - uuid: 81b47dcd39864dd6812344bd0dc34963
          name: 'ICMP loss'
          type: SIMPLE
          key: icmppingloss
          value_type: FLOAT
          units: '%'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 83fa0a00b298491a967e052ec0c3bafe
              expression: 'min(/Mikrotik by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Mikrotik by SNMP/icmppingloss,5m)<100'
              name: 'MikroTik: High ICMP ping loss'
              opdata: 'Loss: {ITEM.LASTVALUE1}'
              priority: WARNING
              dependencies:
                - name: 'MikroTik: Unavailable by ICMP ping'
                  expression: 'max(/Mikrotik by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: 3bb0c6c8aad64f21a11dc58c6be2eeaf
          name: 'ICMP response time'
          type: SIMPLE
          key: icmppingsec
          value_type: FLOAT
          units: s
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 7c027442ed3c44a0a26b4f35458a37f9
              expression: 'avg(/Mikrotik by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN}'
              name: 'MikroTik: High ICMP ping response time'
              opdata: 'Value: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'Average ICMP response time is too high.'
              dependencies:
                - name: 'MikroTik: High ICMP ping loss'
                  expression: 'min(/Mikrotik by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Mikrotik by SNMP/icmppingloss,5m)<100'
                - name: 'MikroTik: Unavailable by ICMP ping'
                  expression: 'max(/Mikrotik by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: 3eaa90d933914ba18663ebf21c4675bb
          name: 'Mikrotik: 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
          history: '0'
          value_type: TEXT
          description: 'Discovering interfaces from IF-MIB.'
          tags:
            - tag: component
              value: raw
        - uuid: a23fdffc346b4adb833924d9975542c2
          name: 'SNMP walk wireless interfaces'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.14988.1.1.14.1.1.2,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.2.2.1.7,1.3.6.1.4.1.14988.1.1.16.1.1.2,1.3.6.1.4.1.14988.1.1.16.1.1.4,1.3.6.1.4.1.14988.1.1.16.1.1.3,1.3.6.1.4.1.14988.1.1.16.1.1.7,1.3.6.1.4.1.14988.1.1.1.3.1.4,1.3.6.1.4.1.14988.1.1.1.3.1.8,1.3.6.1.4.1.14988.1.1.1.3.1.9,1.3.6.1.4.1.14988.1.1.1.3.1.6,1.3.6.1.4.1.14988.1.1.1.3.1.11,1.3.6.1.4.1.14988.1.1.1.7.1.5,1.3.6.1.4.1.14988.1.1.1.7.1.4,1.3.6.1.4.1.14988.1.1.1.7.1.2,1.3.6.1.4.1.14988.1.1.1.7.1.3]'
          key: net.if.wireless.walk
          history: '0'
          value_type: TEXT
          tags:
            - tag: component
              value: raw
        - uuid: 540698a8c58d4a659e2c2ecdd5cb76e0
          name: 'SNMP traps (fallback)'
          type: SNMP_TRAP
          key: snmptrap.fallback
          value_type: LOG
          description: 'The item is used to collect all SNMP traps unmatched by other snmptrap items'
          logtimefmt: 'hh:mm:sszyyyy/MM/dd'
          tags:
            - tag: component
              value: network
        - uuid: 9d2b98385edb49979abcde5481560253
          name: 'System contact details'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.4.0
          key: 'system.contact[sysContact.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.
          inventory_link: CONTACT
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 2f9bb0334ae74e22b3ff917dec5fa924
          name: 'SNMP walk system CPUs'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.25.3.3.1.1,1.3.6.1.2.1.25.3.3.1.2]'
          key: system.cpu.walk
          history: '0'
          value_type: TEXT
          description: |
            MIB: HOST-RESOURCES-MIB
            Discovering system CPUs.
          tags:
            - tag: component
              value: raw
        - uuid: 763d10f3cf344cd488db9c156c893d18
          name: 'System description'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.1.0
          key: 'system.descr[sysDescr.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            A textual description of the entity. This value should
            include the full name and version identification of the system's hardware type, software operating-system, and
            networking software.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 260eff3ec4034e33aea9c25962a782be
          name: 'Firmware version'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.4.1.14988.1.1.7.4.0
          key: system.hw.firmware
          delay: 1h
          value_type: CHAR
          description: |
            MIB: MIKROTIK-MIB
            Current firmware version.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 62a9cd04a4dc4f5a9b59a01e54fb983f
              expression: 'last(/Mikrotik by SNMP/system.hw.firmware,#1)<>last(/Mikrotik by SNMP/system.hw.firmware,#2) and length(last(/Mikrotik by SNMP/system.hw.firmware))>0'
              name: 'MikroTik: Firmware has changed'
              opdata: 'Current value: {ITEM.LASTVALUE1}'
              priority: INFO
              description: 'Firmware version has changed. Acknowledge to close the problem manually.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 8d2c5a405ffa42fc81a2c9b914e20874
          name: 'Hardware model name'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.1.0
          key: system.hw.model
          delay: 1h
          value_type: CHAR
          inventory_link: MODEL
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
        - uuid: 2c5a89f75a8d4e38ad021b3539ce8273
          name: 'Hardware serial number'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.4.1.14988.1.1.7.3.0
          key: system.hw.serialnumber
          delay: 1h
          value_type: CHAR
          description: |
            MIB: MIKROTIK-MIB
            RouterBOARD serial number.
          inventory_link: SERIALNO_A
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 6c1dcb2e8e76405887af69a6a08e53df
              expression: 'last(/Mikrotik by SNMP/system.hw.serialnumber,#1)<>last(/Mikrotik by SNMP/system.hw.serialnumber,#2) and length(last(/Mikrotik by SNMP/system.hw.serialnumber))>0'
              name: 'MikroTik: Device has been replaced'
              event_name: 'MikroTik: 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: 94f4af679dba4d3e9047ebcf8c1bc419
          name: 'Uptime (hardware)'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.25.1.1.0
          key: 'system.hw.uptime[hrSystemUptime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: HOST-RESOURCES-MIB
            The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.
          preprocessing:
            - type: CHECK_NOT_SUPPORTED
              parameters:
                - '-1'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: 9766fcd2e7b64865a6ef60f3ab27002f
          name: 'System location'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.6.0
          key: 'system.location[sysLocation.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.
          inventory_link: LOCATION
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 2d99a01f7c0d4ca38f3bc9a5f8db3ab7
          name: 'System name'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.5.0
          key: system.name
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name.  If the name is unknown, the value is the zero-length string.
          inventory_link: NAME
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 0172b76bc48d4dcead140c4880499777
              expression: 'last(/Mikrotik by SNMP/system.name,#1)<>last(/Mikrotik by SNMP/system.name,#2) and length(last(/Mikrotik by SNMP/system.name))>0'
              name: 'MikroTik: System name has changed'
              event_name: 'MikroTik: 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: ff6fea946fb143e3b8b151eafb403952
          name: 'Uptime (network)'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.3.0
          key: 'system.net.uptime[sysUpTime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: SNMPv2-MIB
            Time (in hundredths of a second) since the network management portion of the system was last re-initialized.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: 9d8a27d216f146ae88479e8e6bcbd301
          name: 'System object ID'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.2.0
          key: 'system.objectid[sysObjectID.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The vendor's authoritative identification of the network management subsystem contained in the entity.  This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box' is being managed.  For example, if vendor`Flintstones, Inc.' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 7e3b3e78086742a7b9cda953367a2d83
          name: 'Operating system'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.4.1.14988.1.1.4.4.0
          key: 'system.sw.os[mtxrLicVersion.0]'
          delay: 1h
          value_type: CHAR
          description: |
            MIB: MIKROTIK-MIB
            Software version.
          inventory_link: OS
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: os
          triggers:
            - uuid: 739f60e0862d4fe88cc2a5fe626211a8
              expression: 'last(/Mikrotik by SNMP/system.sw.os[mtxrLicVersion.0],#1)<>last(/Mikrotik by SNMP/system.sw.os[mtxrLicVersion.0],#2) and length(last(/Mikrotik by SNMP/system.sw.os[mtxrLicVersion.0]))>0'
              name: 'MikroTik: 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: 'MikroTik: System name has changed'
                  expression: 'last(/Mikrotik by SNMP/system.name,#1)<>last(/Mikrotik by SNMP/system.name,#2) and length(last(/Mikrotik by SNMP/system.name))>0'
              tags:
                - tag: scope
                  value: notice
        - uuid: 2af6a2f85926468ab8242e4f5c6fb096
          name: 'SNMP walk mounted filesystems'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]'
          key: vfs.fs.walk
          history: '0'
          value_type: TEXT
          description: |
            MIB: HOST-RESOURCES-MIB
            Discovering mounted filesystems.
          tags:
            - tag: component
              value: raw
        - uuid: 0636e173288d42e68faf62c381a65087
          name: 'Total memory'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.25.2.3.1.5.65536
          key: 'vm.memory.total[hrStorageSize.Memory]'
          units: B
          description: |
            MIB: HOST-RESOURCES-MIB
            The size of the storage represented by this entry, in
            units of hrStorageAllocationUnits. This object is
            writable to allow remote configuration of the size of
            the storage area in those cases where such an
            operation makes sense and is possible on the
            underlying system. For example, the amount of main
            memory allocated to a buffer pool might be modified or
            the amount of disk space allocated to virtual memory
            might be modified.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '1024'
          tags:
            - tag: component
              value: memory
        - uuid: 7d4a1591887848028ea8bae81b7d01a7
          name: 'Used memory'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.25.2.3.1.6.65536
          key: 'vm.memory.used[hrStorageUsed.Memory]'
          units: B
          description: |
            MIB: HOST-RESOURCES-MIB
            The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '1024'
          tags:
            - tag: component
              value: memory
        - uuid: 56017f610bf74f0aaaa92e9183e68ea5
          name: 'Memory utilization'
          type: CALCULATED
          key: 'vm.memory.util[memoryUsedPercentage.Memory]'
          value_type: FLOAT
          units: '%'
          params: 'last(//vm.memory.used[hrStorageUsed.Memory])/last(//vm.memory.total[hrStorageSize.Memory])*100'
          description: 'Memory utilization in %.'
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: e4b4ba5ec80c4d83adbb10739edf4574
              expression: 'min(/Mikrotik by SNMP/vm.memory.util[memoryUsedPercentage.Memory],5m)>{$MEMORY.UTIL.MAX}'
              name: 'MikroTik: High memory utilization'
              event_name: 'MikroTik: 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
        - uuid: 754f890d63c042f6976a1ad25c317574
          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: 2cc6310f1a824d40903f497f155a7834
              expression: 'max(/Mikrotik by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
              name: 'MikroTik: 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: 'MikroTik: Unavailable by ICMP ping'
                  expression: 'max(/Mikrotik by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: fb2a399dbdb54484a9f58ae2437c32fb
          name: 'CPU discovery'
          type: DEPENDENT
          key: hrProcessorLoad.discovery
          description: 'HOST-RESOURCES-MIB::hrProcessorTable discovery.'
          item_prototypes:
            - uuid: 560173245c8245128bc7071b8201fe12
              name: '#{#SNMPINDEX}: CPU utilization'
              type: DEPENDENT
              key: 'system.cpu.util[hrProcessorLoad.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: |
                MIB: HOST-RESOURCES-MIB
                The average, over the last minute, of the percentage of time that this processor was not idle. Implementations may approximate this one minute smoothing period if necessary.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.25.3.3.1.2.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: system.cpu.walk
              tags:
                - tag: component
                  value: cpu
              trigger_prototypes:
                - uuid: 7843aa49df2b4f218bf633bee4f01df6
                  expression: 'min(/Mikrotik by SNMP/system.cpu.util[hrProcessorLoad.{#SNMPINDEX}],5m)>{$CPU.UTIL.CRIT}'
                  name: 'MikroTik: #{#SNMPINDEX}: High CPU utilization'
                  event_name: 'MikroTik: #{#SNMPINDEX}: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)'
                  opdata: 'Current utilization: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'CPU utilization is too high. The system might be slow to respond.'
                  tags:
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: 1e6e64b461dc4010a582d2f39fcfa4f8
              name: '#{#SNMPINDEX}: CPU utilization'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'Mikrotik by SNMP'
                    key: 'system.cpu.util[hrProcessorLoad.{#SNMPINDEX}]'
          master_item:
            key: system.cpu.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.2.1.25.3.3.1.1
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 9a4ae5c2a50d4414ab0eed2c70bcd9c3
          name: 'Temperature CPU discovery'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.14988.1.1.3.10]'
          key: mtxrHlProcessorTemperature.discovery
          delay: 1h
          description: |
            MIKROTIK-MIB::mtxrHlProcessorTemperature
            Since temperature of CPU is not available on all Mikrotik hardware, this is done to avoid unsupported items.
          item_prototypes:
            - uuid: ad101c676b5243eca67eb68d879f5212
              name: 'CPU: Temperature'
              type: SNMP_AGENT
              snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.3.11.{#SNMPINDEX}]'
              key: 'sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}]'
              value_type: FLOAT
              units: °C
              description: |
                MIB: MIKROTIK-MIB
                mtxrHlProcessorTemperature Processor temperature in Celsius (degrees C).
                Might be missing in entry models (RB750, RB450G..).
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              tags:
                - tag: component
                  value: temperature
              trigger_prototypes:
                - uuid: edcc83694dc847f8a8dcb7e192f96404
                  expression: 'avg(/Mikrotik by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"CPU"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/Mikrotik by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"CPU"}-3'
                  name: 'MikroTik: CPU: Temperature is above critical threshold'
                  event_name: 'MikroTik: CPU: Temperature is above critical threshold: >{$TEMP_CRIT:"CPU"}'
                  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: 1c380934165343a68345c761de9cbdb5
                  expression: 'avg(/Mikrotik by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_WARN:"CPU"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/Mikrotik by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_WARN:"CPU"}-3'
                  name: 'MikroTik: CPU: Temperature is above warning threshold'
                  event_name: 'MikroTik: CPU: Temperature is above warning threshold: >{$TEMP_WARN:"CPU"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  dependencies:
                    - name: 'MikroTik: CPU: Temperature is above critical threshold'
                      expression: 'avg(/Mikrotik by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"CPU"}'
                      recovery_expression: 'max(/Mikrotik by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"CPU"}-3'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: 47a89879a7db47e9bf598e27f7c084e7
                  expression: 'avg(/Mikrotik by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"CPU"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'min(/Mikrotik by SNMP/sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:"CPU"}+3'
                  name: 'MikroTik: CPU: Temperature is too low'
                  event_name: 'MikroTik: CPU: Temperature is too low: <{$TEMP_CRIT_LOW:"CPU"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.4.1.14988.1.1.3.11
                - '0'
              error_handler: DISCARD_VALUE
        - uuid: 9c6a401a70ec4dba92bd9e270fe7dc79
          name: 'Temperature sensor discovery'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.4.1.14988.1.1.3.10]'
          key: mtxrHlTemperature.discovery
          delay: 1h
          description: |
            MIKROTIK-MIB::mtxrHlTemperature
            Since temperature sensor is not available on all Mikrotik hardware, this is done to avoid unsupported items.
          item_prototypes:
            - uuid: 2bfb758ca6264401902524b32e04f472
              name: 'Device: Temperature'
              type: SNMP_AGENT
              snmp_oid: 'get[1.3.6.1.4.1.14988.1.1.3.10.{#SNMPINDEX}]'
              key: 'sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}]'
              value_type: FLOAT
              units: °C
              description: |
                MIB: MIKROTIK-MIB
                mtxrHlTemperature Device temperature in Celsius (degrees C).
                Might be missing in entry models (RB750, RB450G..).
                
                Reference: http://wiki.mikrotik.com/wiki/Manual:SNMP
              preprocessing:
                - type: MULTIPLIER
                  parameters:
                    - '0.1'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 3m
              tags:
                - tag: component
                  value: temperature
              trigger_prototypes:
                - uuid: 21afb343688c4c0e8189a7dbc4f441e1
                  expression: 'avg(/Mikrotik by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"Device"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/Mikrotik by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"Device"}-3'
                  name: 'MikroTik: Device: Temperature is above critical threshold'
                  event_name: 'MikroTik: Device: Temperature is above critical threshold: >{$TEMP_CRIT:"Device"}'
                  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: 0ba64ff53885473ca8dcd333a770a7ed
                  expression: 'avg(/Mikrotik by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_WARN:"Device"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'max(/Mikrotik by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_WARN:"Device"}-3'
                  name: 'MikroTik: Device: Temperature is above warning threshold'
                  event_name: 'MikroTik: Device: Temperature is above warning threshold: >{$TEMP_WARN:"Device"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: WARNING
                  description: 'This trigger uses temperature sensor values as well as temperature sensor status if available.'
                  dependencies:
                    - name: 'MikroTik: Device: Temperature is above critical threshold'
                      expression: 'avg(/Mikrotik by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT:"Device"}'
                      recovery_expression: 'max(/Mikrotik by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT:"Device"}-3'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
                - uuid: cdbfc8fabf9f45fc95dedba327e30a1d
                  expression: 'avg(/Mikrotik by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)<{$TEMP_CRIT_LOW:"Device"}'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'min(/Mikrotik by SNMP/sensor.temp.value[mtxrHlTemperature.{#SNMPINDEX}],5m)>{$TEMP_CRIT_LOW:"Device"}+3'
                  name: 'MikroTik: Device: Temperature is too low'
                  event_name: 'MikroTik: Device: Temperature is too low: <{$TEMP_CRIT_LOW:"Device"}'
                  opdata: 'Current value: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#SNMPVALUE}'
                - 1.3.6.1.4.1.14988.1.1.3.10
                - '0'
              error_handler: DISCARD_VALUE
        - uuid: 017797e68eae49afaa864dd57757bbd8
          name: 'LTE modem discovery'
          type: DEPENDENT
          key: mtxrLTEModem.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFNAME}'
                value: '{$IFNAME.LTEMODEM.MATCHES}'
              - macro: '{#IFTYPE}'
                value: ^1$
          description: 'MIKROTIK-MIB::mtxrLTEModemInterfaceIndex.'
          item_prototypes:
            - uuid: 25cf4b11ade848fb9947ef85c59da65a
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem RSRP'
              type: DEPENDENT
              key: 'lte.modem.rsrp[mtxrLTEModemSignalRSRP.{#SNMPINDEX}]'
              value_type: FLOAT
              units: dbm
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalRSRP Reference Signal Received Power.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.4.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: f23c654001384f6e981fd33aeab0af6f
                  expression: 'max(/Mikrotik by SNMP/lte.modem.rsrp[mtxrLTEModemSignalRSRP.{#SNMPINDEX}],5m) < {$LTEMODEM.RSRP.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRP is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRP is low (below {$LTEMODEM.RSRP.MIN.WARN}dbm for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: 467f6179fa7d43c2a23333330c1ceac1
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem RSRQ'
              type: DEPENDENT
              key: 'lte.modem.rsrq[mtxrLTEModemSignalRSRQ.{#SNMPINDEX}]'
              value_type: FLOAT
              units: db
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalRSRQ Reference Signal Received Quality.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.3.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: 57f8757b80914c248a35d0899791a48e
                  expression: 'max(/Mikrotik by SNMP/lte.modem.rsrq[mtxrLTEModemSignalRSRQ.{#SNMPINDEX}],5m) < {$LTEMODEM.RSRQ.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRQ is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSRQ is low (below {$LTEMODEM.RSRQ.MIN.WARN}db for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: 0994d40dab10493c96c4f79d0cc5e619
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem RSSI'
              type: DEPENDENT
              key: 'lte.modem.rssi[mtxrLTEModemSignalRSSI.{#SNMPINDEX}]'
              value_type: FLOAT
              units: dbm
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalRSSI Received Signal Strength Indicator.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.2.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: e2c692d5d4ca49b688656a1abe6228e5
                  expression: 'max(/Mikrotik by SNMP/lte.modem.rssi[mtxrLTEModemSignalRSSI.{#SNMPINDEX}],5m) < {$LTEMODEM.RSSI.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSSI is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem RSSI is low (below {$LTEMODEM.RSSI.MIN.WARN}dbm for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
            - uuid: 1c5a284353964175b4541c78fea7d07d
              name: 'Interface {#IFNAME}({#IFALIAS}): LTE modem SINR'
              type: DEPENDENT
              key: 'lte.modem.sinr[mtxrLTEModemSignalSINR.{#SNMPINDEX}]'
              value_type: FLOAT
              units: db
              description: |
                MIB: MIKROTIK-MIB
                mtxrLTEModemSignalSINR Signal to Interference & Noise Ratio.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.16.1.1.7.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: e163c4af8ff1451a8728e569c5d3c04c
                  expression: 'max(/Mikrotik by SNMP/lte.modem.sinr[mtxrLTEModemSignalSINR.{#SNMPINDEX}],5m) < {$LTEMODEM.SINR.MIN.WARN}'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem SINR is low'
                  event_name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): LTE modem SINR is low (below {$LTEMODEM.SINR.MIN.WARN}db for 5m)'
                  priority: WARNING
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          graph_prototypes:
            - uuid: 4f6bc67c40eb441189ec233f926f19ec
              name: 'Interface {#IFNAME}({#IFALIAS}): Modem Signal. {#SNMPINDEX}'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'Mikrotik by SNMP'
                    key: 'lte.modem.sinr[mtxrLTEModemSignalSINR.{#SNMPINDEX}]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'Mikrotik by SNMP'
                    key: 'lte.modem.rsrq[mtxrLTEModemSignalRSRQ.{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  item:
                    host: 'Mikrotik by SNMP'
                    key: 'lte.modem.rsrp[mtxrLTEModemSignalRSRP.{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  item:
                    host: 'Mikrotik by SNMP'
                    key: 'lte.modem.rssi[mtxrLTEModemSignalRSSI.{#SNMPINDEX}]'
          master_item:
            key: net.if.wireless.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFNAME}'
                - 1.3.6.1.4.1.14988.1.1.14.1.1.2
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 5eada6e6837648859ccb440525281698
          name: 'AP channel discovery'
          type: DEPENDENT
          key: mtxrWlAp.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFADMINSTATUS}'
                value: ^1$
              - macro: '{#IFTYPE}'
                value: ^71$
          description: 'MIKROTIK-MIB::mtxrWlAp.'
          item_prototypes:
            - uuid: db129187106741d88fc14774a1a5652d
              name: 'Interface {#IFNAME}({#IFALIAS}): AP authenticated clients'
              type: DEPENDENT
              key: 'ssid.authclient[mtxrWlApAuthClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApAuthClientCount Number of authentication clients.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.11.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: a9ca50960dd043038808f3572d1fb281
              name: 'Interface {#IFNAME}({#IFALIAS}): AP band'
              type: DEPENDENT
              key: 'ssid.band[mtxrWlApBand.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApBand
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.8.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 9f5c294b30d24e5084e8953173bf886e
              name: 'Interface {#IFNAME}({#IFALIAS}): SSID'
              type: DEPENDENT
              key: 'ssid.name[mtxrWlApSsid.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApSsid Service Set Identifier.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.4.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 6140d7fe8011400cb827339f8f6f9cdf
              name: 'Interface {#IFNAME}({#IFALIAS}): AP noise floor'
              type: DEPENDENT
              key: 'ssid.noise[mtxrWlApNoiseFloor.{#SNMPINDEX}]'
              value_type: FLOAT
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApNoiseFloor
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.9.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 15m
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 45fc6875a91d47debb4e39d93e5b8186
              name: 'Interface {#IFNAME}({#IFALIAS}): AP registered clients'
              type: DEPENDENT
              key: 'ssid.regclient[mtxrWlApClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlApClientCount Client established connection to AP, but didn't finish all authentication procedures for full connection.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.3.1.6.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
          master_item:
            key: net.if.wireless.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFNAME}'
                - 1.3.6.1.4.1.14988.1.1.14.1.1.2
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
                - '{#IFADMINSTATUS}'
                - 1.3.6.1.2.1.2.2.1.7
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 644433b2a1fa4b38916e2ae4bf74c28d
          name: 'CAPsMAN AP channel discovery'
          type: DEPENDENT
          key: mtxrWlCMChannel.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFNAME}'
                value: '{$IFNAME.WIFI.MATCHES}'
              - macro: '{#IFTYPE}'
                value: ^1$
          description: 'MIKROTIK-MIB::mtxrWlCMChannel.'
          item_prototypes:
            - uuid: 5dc0caa311304e6a96c620b10f52f267
              name: 'Interface {#IFNAME}({#IFALIAS}): AP authenticated clients'
              type: DEPENDENT
              key: 'ssid.authclient[mtxrWlCMAuthClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMAuthClientCount Number of authentication clients.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.3.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 7df773f57c234d219f5a75e11844f5e0
              name: 'Interface {#IFNAME}({#IFALIAS}): AP channel'
              type: DEPENDENT
              key: 'ssid.channel[mtxrWlCMChannel.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMChannel
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.5.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 0db356f16542489586aacdecb029f691
              name: 'Interface {#IFNAME}({#IFALIAS}): AP registered clients'
              type: DEPENDENT
              key: 'ssid.regclient[mtxrWlCMRegClientCount.{#SNMPINDEX}]'
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMRegClientCount Client established connection to AP, but didn't finish all authentication procedures for full connection.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.2.{#SNMPINDEX}'
                    - '0'
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: e2212bb46d804d6687a2fe992f867b9d
              name: 'Interface {#IFNAME}({#IFALIAS}): AP state'
              type: DEPENDENT
              key: 'ssid.state[mtxrWlCMState.{#SNMPINDEX}]'
              value_type: CHAR
              description: |
                MIB: MIKROTIK-MIB
                mtxrWlCMState Wireless interface state.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.4.1.14988.1.1.1.7.1.4.{#SNMPINDEX}'
                    - '0'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: net.if.wireless.walk
              tags:
                - tag: component
                  value: interface
                - tag: component
                  value: network
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: e4aedbd5e0c64cf48831bf08192e19bf
                  expression: 'last(/Mikrotik by SNMP/ssid.state[mtxrWlCMState.{#SNMPINDEX}])<>"running-ap"'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): AP interface {#IFNAME}({#IFALIAS}) is not running'
                  priority: WARNING
                  description: 'Access point interface can be not running by different reasons - disabled interface, power off, network link down.'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: performance
          master_item:
            key: net.if.wireless.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#IFNAME}'
                - 1.3.6.1.4.1.14988.1.1.14.1.1.2
                - '0'
                - '{#IFALIAS}'
                - 1.3.6.1.2.1.31.1.1.1.18
                - '0'
                - '{#IFTYPE}'
                - 1.3.6.1.2.1.2.2.1.3
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 39f9ac305fe2497498916dc709b9a097
          name: 'Network interfaces discovery'
          type: DEPENDENT
          key: net.if.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.MATCHES}'
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.MATCHES}'
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.MATCHES}'
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.MATCHES}'
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.MATCHES}'
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.MATCHES}'
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovering interfaces from IF-MIB.'
          item_prototypes:
            - uuid: 2048a885fd67433786f6c3f650962a71
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded'
              type: DEPENDENT
              key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
              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
                - 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: 32e41ced890a4b349a5167269450efa6
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors'
              type: DEPENDENT
              key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
              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
                - 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: 10806818bfa34f2c94ab9a42720e7e41
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits received'
              type: DEPENDENT
              key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]'
              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
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: e899752523044d2c830e9cd48ba2cb72
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded'
              type: DEPENDENT
              key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
              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
                - 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: d3fd9bb2202e441282a6008dbf27cc5b
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors'
              type: DEPENDENT
              key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
              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
                - 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: af78d9ecefd445c5840bf09e1b3ef438
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits sent'
              type: DEPENDENT
              key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets transmitted out of the interface, including framing characters. This object is a 64-bit version of ifOutOctets.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
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 16c880544cb741fb90c5ba2823225bb0
              name: 'Interface {#IFNAME}({#IFALIAS}): Speed'
              type: DEPENDENT
              key: 'net.if.speed[ifHighSpeed.{#SNMPINDEX}]'
              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: 3fd63f1049924a5491b9080702bc5fdb
              name: 'Interface {#IFNAME}({#IFALIAS}): Operational status'
              type: DEPENDENT
              key: 'net.if.status[ifOperStatus.{#SNMPINDEX}]'
              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: db74692dd86a428fba64e57751fce1ba
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Mikrotik by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Mikrotik by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Mikrotik by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/Mikrotik by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
                  name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: |
                    This trigger expression works as follows:
                    1. It can be triggered if the operations status is down.
                    2. `{$IFCONTROL:"{#IFNAME}"}=1` - a user can redefine 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: 5fb27bdadc9848118bc64a720ff6dea0
              name: 'Interface {#IFNAME}({#IFALIAS}): Interface type'
              type: DEPENDENT
              key: 'net.if.type[ifType.{#SNMPINDEX}]'
              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: 564e8f3f288a40e9926b75b2711f45d1
              expression: |
                change(/Mikrotik by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])<0 and last(/Mikrotik by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
                and (
                last(/Mikrotik by SNMP/net.if.type[ifType.{#SNMPINDEX}])=6 or
                last(/Mikrotik by SNMP/net.if.type[ifType.{#SNMPINDEX}])=7 or
                last(/Mikrotik by SNMP/net.if.type[ifType.{#SNMPINDEX}])=11 or
                last(/Mikrotik by SNMP/net.if.type[ifType.{#SNMPINDEX}])=62 or
                last(/Mikrotik by SNMP/net.if.type[ifType.{#SNMPINDEX}])=69 or
                last(/Mikrotik by SNMP/net.if.type[ifType.{#SNMPINDEX}])=117
                )
                and
                (last(/Mikrotik by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2)
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                (change(/Mikrotik by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and last(/Mikrotik by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}],#2)>0) or
                (last(/Mikrotik by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2)
              name: 'MikroTik: 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: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Mikrotik by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Mikrotik by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Mikrotik by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/Mikrotik by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 25cc75fecfd1499ebc65ea434b98cb18
              expression: |
                (avg(/Mikrotik by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Mikrotik by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) or
                avg(/Mikrotik by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Mikrotik by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])) and
                last(/Mikrotik by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                avg(/Mikrotik by SNMP/net.if.in[ifHCInOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Mikrotik by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) and
                avg(/Mikrotik by SNMP/net.if.out[ifHCOutOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Mikrotik by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])
              name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage'
              event_name: 'MikroTik: 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: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Mikrotik by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Mikrotik by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Mikrotik by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/Mikrotik by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 4c3aef072fcb47b98f0cdc3b651fae71
              expression: |
                min(/Mikrotik by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
                or min(/Mikrotik by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                max(/Mikrotik by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
                and max(/Mikrotik by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
              name: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): High error rate'
              event_name: 'MikroTik: 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: 'MikroTik: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Mikrotik by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Mikrotik by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Mikrotik by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/Mikrotik by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
          graph_prototypes:
            - uuid: 6c0e720cb0f24bf4a8cfbebb2759dde9
              name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'Mikrotik by SNMP'
                    key: 'net.if.in[ifHCInOctets.{#SNMPINDEX}]'
                - sortorder: '1'
                  drawtype: BOLD_LINE
                  color: F63100
                  item:
                    host: 'Mikrotik by SNMP'
                    key: 'net.if.out[ifHCOutOctets.{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  yaxisside: RIGHT
                  item:
                    host: 'Mikrotik by SNMP'
                    key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  yaxisside: RIGHT
                  item:
                    host: 'Mikrotik by SNMP'
                    key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
                - sortorder: '4'
                  color: FC6EA3
                  yaxisside: RIGHT
                  item:
                    host: 'Mikrotik by SNMP'
                    key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
                - sortorder: '5'
                  color: 6C59DC
                  yaxisside: RIGHT
                  item:
                    host: 'Mikrotik by SNMP'
                    key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
          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: 6bb65981928d40378a95ee74aff82cc5
          name: 'Storage discovery'
          type: DEPENDENT
          key: storage.discovery
          filter:
            evaltype: OR
            conditions:
              - macro: '{#STORAGE_TYPE}'
                value: .+4$
              - macro: '{#STORAGE_TYPE}'
                value: .+hrStorageFixedDisk
          description: 'HOST-RESOURCES-MIB::hrStorage discovery with storage filter.'
          item_prototypes:
            - uuid: b602ff4381e04e50a9282fe6f9f5c834
              name: 'Disk-{#SNMPINDEX}: Space utilization'
              type: CALCULATED
              key: 'vfs.fs.pused[hrStorageSize.{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              params: '(last(//vfs.fs.used[hrStorageSize.{#SNMPINDEX}])/last(//vfs.fs.total[hrStorageSize.{#SNMPINDEX}]))*100'
              description: 'The space utilization expressed in % for Disk-{#SNMPINDEX}.'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
            - uuid: 64747345083e4b38b0e963ccd0b8271b
              name: 'Disk-{#SNMPINDEX}: Total space'
              type: DEPENDENT
              key: 'vfs.fs.total[hrStorageSize.{#SNMPINDEX}]'
              units: B
              description: |
                MIB: HOST-RESOURCES-MIB
                The size of the storage represented by this entry, in
                units of hrStorageAllocationUnits. This object is
                writable to allow remote configuration of the size of
                the storage area in those cases where such an
                operation makes sense and is possible on the
                underlying system. For example, the amount of main
                memory allocated to a buffer pool might be modified or
                the amount of disk space allocated to virtual memory
                might be modified.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.25.2.3.1.5.{#SNMPINDEX}'
                    - '0'
                - type: MULTIPLIER
                  parameters:
                    - '1024'
              master_item:
                key: vfs.fs.walk
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
            - uuid: 35034472b281453bbfbcf65b5d60dd7e
              name: 'Disk-{#SNMPINDEX}: Used space'
              type: DEPENDENT
              key: 'vfs.fs.used[hrStorageSize.{#SNMPINDEX}]'
              units: B
              description: |
                MIB: HOST-RESOURCES-MIB
                The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.25.2.3.1.6.{#SNMPINDEX}'
                    - '0'
                - type: MULTIPLIER
                  parameters:
                    - '1024'
              master_item:
                key: vfs.fs.walk
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
          trigger_prototypes:
            - uuid: c866ac0197ee401ab0c5cc6ec0757985
              expression: |
                last(/Mikrotik by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"} and
                ((last(/Mikrotik by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/Mikrotik by SNMP/vfs.fs.used[hrStorageSize.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.CRIT:"Disk-{#SNMPINDEX}"} or timeleft(/Mikrotik by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}],1h,100)<1d)
              name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is critically low'
              event_name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"}%)'
              opdata: 'Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})'
              priority: AVERAGE
              description: |
                Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"}.
                 Second condition should be one of the following:
                 - The disk free space is less than {$VFS.FS.FREE.MIN.CRIT:"Disk-{#SNMPINDEX}"}.
                 - The disk will be full in less than 24 hours.
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: capacity
            - uuid: 9adb977fde7345d8950265a9127cde57
              expression: |
                last(/Mikrotik by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.WARN:"Disk-{#SNMPINDEX}"} and
                ((last(/Mikrotik by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/Mikrotik by SNMP/vfs.fs.used[hrStorageSize.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.WARN:"Disk-{#SNMPINDEX}"} or timeleft(/Mikrotik by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}],1h,100)<1d)
              name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is low'
              event_name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is low (used > {$VFS.FS.PUSED.MAX.WARN:"Disk-{#SNMPINDEX}"}%)'
              opdata: 'Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})'
              priority: WARNING
              description: |
                Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.WARN:"Disk-{#SNMPINDEX}"}.
                 Second condition should be one of the following:
                 - The disk free space is less than {$VFS.FS.FREE.MIN.WARN:"Disk-{#SNMPINDEX}"}.
                 - The disk will be full in less than 24 hours.
              manual_close: 'YES'
              dependencies:
                - name: 'MikroTik: Disk-{#SNMPINDEX}: Disk space is critically low'
                  expression: |
                    last(/Mikrotik by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}])>{$VFS.FS.PUSED.MAX.CRIT:"Disk-{#SNMPINDEX}"} and
                    ((last(/Mikrotik by SNMP/vfs.fs.total[hrStorageSize.{#SNMPINDEX}])-last(/Mikrotik by SNMP/vfs.fs.used[hrStorageSize.{#SNMPINDEX}]))<{$VFS.FS.FREE.MIN.CRIT:"Disk-{#SNMPINDEX}"} or timeleft(/Mikrotik by SNMP/vfs.fs.pused[hrStorageSize.{#SNMPINDEX}],1h,100)<1d)
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: capacity
          graph_prototypes:
            - uuid: 82acee070ff1461ba0cdff337184da97
              name: 'Disk-{#SNMPINDEX}: Disk space usage'
              width: '600'
              height: '340'
              type: PIE
              show_3d: 'YES'
              graph_items:
                - color: '969696'
                  calc_fnc: LAST
                  type: GRAPH_SUM
                  item:
                    host: 'Mikrotik by SNMP'
                    key: 'vfs.fs.total[hrStorageSize.{#SNMPINDEX}]'
                - sortorder: '1'
                  color: C80000
                  calc_fnc: LAST
                  item:
                    host: 'Mikrotik by SNMP'
                    key: 'vfs.fs.used[hrStorageSize.{#SNMPINDEX}]'
          master_item:
            key: vfs.fs.walk
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - '{#FSNAME}'
                - 1.3.6.1.2.1.25.2.3.1.3
                - '0'
                - '{#ALLOC_UNITS}'
                - 1.3.6.1.2.1.25.2.3.1.4
                - '0'
                - '{#STORAGE_TYPE}'
                - 1.3.6.1.2.1.25.2.3.1.2
                - '0'
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
      tags:
        - tag: class
          value: network
        - tag: target
          value: mikrotik
      macros:
        - macro: '{$CPU.UTIL.CRIT}'
          value: '90'
          config:
            type: TEXT
            priority: '1'
            section_name: Thresholds
            label: 'Threshold for CPU utilization (critical)'
            description: 'In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_LOSS_WARN}'
          value: '20'
          description: 'Warning threshold of ICMP packet loss in %.'
          config:
            type: TEXT
            priority: '17'
            section_name: Thresholds
            label: 'Threshold of ICMP packet loss'
            description: 'Warning threshold of ICMP packet loss in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_RESPONSE_TIME_WARN}'
          value: '0.15'
          description: 'Warning threshold of the average ICMP response time in seconds.'
          config:
            type: TEXT
            priority: '18'
            section_name: Thresholds
            label: 'Threshold of the average ICMP response'
            description: 'Warning threshold of the average ICMP response time in seconds. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.ERRORS.WARN}'
          value: '2'
          description: 'Warning threshold of error packet rate. Can be used with interface name as context.'
          config:
            type: TEXT
            priority: '21'
            section_name: Thresholds
            label: 'Threshold of error packet rate'
            description: 'Warning threshold of error packet rate. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the interface utilization trigger.'
          config:
            type: TEXT
            priority: '20'
            section_name: Thresholds
            label: 'The threshold in the interface utilization'
            description: 'Used as a threshold in the interface utilization trigger. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IFCONTROL}'
          value: '1'
          description: 'Link status trigger will be fired only for interfaces where the context macro equals "1".'
          config:
            type: CHECKBOX
            priority: '19'
            label: 'Interfaces control'
            description: 'Fire a trigger when the interface operational status changes to "Link down".'
            options:
              - checked: '1'
                unchecked: '0'
        - macro: '{$IFNAME.LTEMODEM.MATCHES}'
          value: ^lte
          description: 'This macro is used in LTE modem discovery. It can be overridden on the host.'
          config:
            type: TEXT
            priority: '14'
            section_name: Filters
            label: 'Filter for LTE interfaces'
            description: 'This is Used in LTE modem discovery.'
        - macro: '{$IFNAME.WIFI.MATCHES}'
          value: WIFI
          description: 'This macro is used in CAPsMAN AP channel discovery. It can be overridden on the host level.'
          config:
            type: TEXT
            priority: '15'
            section_name: Filters
            label: 'Filter for CAPsMAN interfaces'
            description: 'This is Used in CAPsMAN AP channel discovery.'
        - macro: '{$LTEMODEM.RSRP.MIN.WARN}'
          value: '-100'
          description: 'The LTE modem RSRP minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '11'
            section_name: Thresholds
            label: 'The LTE modem RSRP minimum value'
            description: 'LTE modem RSRP minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LTEMODEM.RSRQ.MIN.WARN}'
          value: '-20'
          description: 'The LTE modem RSRQ minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '12'
            section_name: Thresholds
            label: 'The LTE modem RSRQ minimum value'
            description: 'LTE modem RSRQ minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LTEMODEM.RSSI.MIN.WARN}'
          value: '-100'
          description: 'The LTE modem RSSI minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '10'
            section_name: Thresholds
            label: 'The LTE modem RSSI minimum value'
            description: 'LTE modem RSSI minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$LTEMODEM.SINR.MIN.WARN}'
          value: '0'
          description: 'The LTE modem SINR minimum value for warning trigger expression.'
          config:
            type: TEXT
            priority: '13'
            section_name: Thresholds
            label: 'The LTE modem SINR minimum value'
            description: 'LTE modem SINR minimum value for warning trigger expression.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$MEMORY.UTIL.MAX}'
          value: '90'
          config:
            type: TEXT
            priority: '2'
            section_name: Thresholds
            label: 'Threshold for memory utilization'
            description: 'In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$NET.IF.IFADMINSTATUS.MATCHES}'
          value: '^.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '26'
            section_name: Filters
            label: 'Filter network interface by adminstatus'
            description: 'Regex string to include discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
          value: ^2$
          description: 'Ignore `down(2)` administrative status'
          config:
            type: TEXT
            priority: '27'
            section_name: Filters
            label: 'Filter network interface by adminstatus (exclude)'
            description: 'Regex string to exclude discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFALIAS.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '30'
            section_name: Filters
            label: 'Filter network interface by alias'
            description: 'Regex string to include discovered interface by alias.'
        - macro: '{$NET.IF.IFALIAS.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '31'
            section_name: Filters
            label: 'Filter network interface by alias (exclude)'
            description: 'Regex string to exclude discovered interface by alias.'
        - macro: '{$NET.IF.IFDESCR.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '28'
            section_name: Filters
            label: 'Filter network interface by description'
            description: 'Regex string to include discovered interface by description.'
        - macro: '{$NET.IF.IFDESCR.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '29'
            section_name: Filters
            label: 'Filter network interface by description (exclude)'
            description: 'Regex string to exclude discovered interface by description.'
        - macro: '{$NET.IF.IFNAME.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '22'
            section_name: Filters
            label: 'Filter for network interface by name'
            description: 'Regex string to include discovered interface by name.'
        - 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.'
          config:
            type: TEXT
            priority: '23'
            section_name: Filters
            label: 'Filter for network interface by name (exclude)'
            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.'
          config:
            type: TEXT
            priority: '24'
            section_name: Filters
            label: 'Filter network interface by status'
            description: 'Regex string to include discovered interface by status.'
        - macro: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
          value: ^6$
          description: 'Ignore `notPresent(6)`'
          config:
            type: TEXT
            priority: '25'
            section_name: Filters
            label: 'Filter network interface by status (exclude)'
            description: 'Regex string to exclude discovered interface by status.'
        - macro: '{$NET.IF.IFTYPE.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '32'
            section_name: Filters
            label: 'Filter network interface by type'
            description: 'Regex string to include discovered interface by type.'
        - macro: '{$NET.IF.IFTYPE.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '33'
            section_name: Filters
            label: 'Filter network interface by type (exclude)'
            description: 'Regex string to exclude discovered interface by type.'
        - macro: '{$SNMP.TIMEOUT}'
          value: 5m
          description: 'Time interval for the SNMP availability trigger.'
          config:
            type: TEXT
            priority: '16'
            section_name: Other
            label: 'Time interval'
            description: 'Time interval for the SNMP availability trigger.'
        - macro: '{$TEMP_CRIT}'
          value: '60'
          config:
            type: TEXT
            priority: '5'
            section_name: Thresholds
            label: 'Threshold for temperature (critical)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT:"CPU"}'
          value: '75'
          config:
            type: TEXT
            priority: '7'
            section_name: Thresholds
            label: 'Threshold for CPU temperature (critical)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_CRIT_LOW}'
          value: '5'
          config:
            type: TEXT
            priority: '3'
            section_name: Thresholds
            label: 'Threshold for low temperature (critical)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_WARN}'
          value: '50'
          config:
            type: TEXT
            priority: '4'
            section_name: Thresholds
            label: 'Threshold for temperature (warning)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$TEMP_WARN:"CPU"}'
          value: '70'
          config:
            type: TEXT
            priority: '6'
            section_name: Thresholds
            label: 'Threshold for CPU temperature (warning)'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.CRIT}'
          value: '90'
          config:
            type: TEXT
            priority: '9'
            section_name: Thresholds
            label: 'Threshold for filesystem utilization (critical)'
            description: 'In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.WARN}'
          value: '80'
          config:
            type: TEXT
            priority: '8'
            section_name: Thresholds
            label: 'Threshold for filesystem utilization (warning)'
            description: 'In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
      dashboards:
        - uuid: 923cc21534e0400d8a8e325ebc199549
          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: 'Mikrotik by SNMP'
                        name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAA
      valuemaps:
        - uuid: b020eb645cff47c0b91891a36652c087
          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: 0ab024c489794d1299d2992ad5b3e1e8
          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: 4197110252654153a2eee46de014a4c0
          name: 'Service state'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
        - uuid: f63bc9f2c0d0427b9d1eccae7a1d612d
          name: zabbix.host.available
          mappings:
            - value: '0'
              newvalue: 'not available'
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: unknown
    - uuid: f9a59315c8944853bb91c0a9ec3056d7
      template: 'Windows by SNMP'
      name: 'Windows by SNMP'
      description: |
        This is an official Windows template. It requires an SNMP client.
        
        MIBs used:
        HOST-RESOURCES-MIB
        SNMPv2-MIB
        IF-MIB
        
        Known Issues:
        
          Description:
            64-bit I/O is not supported even though `IfxTable` is present.
            Currently, Windows gets its interface status from MIB-2. Since these 64-bit SNMP counters (`ifHCInOctets`, `ifHCOutOctets`, etc.) are defined as an extension to IF-MIB, Microsoft has not implemented it.
            https://social.technet.microsoft.com/Forums/windowsserver/en-US/07b62ff0-94f6-40ca-a99d-d129c1b33d70/windows-2008-r2-snmp-64bit-counters-support?forum=winservergen
          Version: Win2008, Win2012R2.
        
          Description: MIB is not supported
          Version: WindowsXP
        
          Description: EtherLike MIB is not supported
          Version: any
        
          Description:
            HOST-RESOURCES-MIB::hrStorageSize is limited to number 2147483647.
            Storage size is calculated using: `hrStorageSize` and `hrStorageAllocationUnits`.
            Allocation size of 512 bytes, sets the limit of monitored device to 1TB.
          Version: any
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      readme: |
        ## Overview
        
        This is an official Windows template. It requires an SNMP client.
        
        MIBs used:
        - HOST-RESOURCES-MIB
        - SNMPv2-MIB
        - IF-MIB
        
        ### Known Issues
        
        - 64-bit I/O is not supported even though `IfxTable` is present.
          Currently, Windows gets its interface status from MIB-2. Since these 64-bit SNMP counters (`ifHCInOctets`, `ifHCOutOctets`, etc.) are defined as an extension to IF-MIB, Microsoft has not implemented it.
          https://social.technet.microsoft.com/Forums/windowsserver/en-US/07b62ff0-94f6-40ca-a99d-d129c1b33d70/windows-2008-r2-snmp-64bit-counters-support?forum=winservergen
          - version: Win2008, Win2012R2.
        - `ifXTable` is not supported.
          - version: WindowsXP
        - EtherLike MIB is not supported
          - version: any
        - HOST-RESOURCES-MIB::hrStorageSize is limited to number 2147483647.
          Storage size is calculated using: `hrStorageSize` and `hrStorageAllocationUnits`.
          An allocation size of 512 bytes, sets the limit of monitored device to 1TB.
          |hrStorageAllocationUnits|Max size (TB)|
          |---|---|
          |512 bytes|1|
          |1024 bytes|2|
          |2048 bytes|4|
          |64 KB|128|
          - version: any
      vendor:
        name: Zabbix
        version: 7.4-2
      groups:
        - name: 'Templates/Operating systems'
      items:
        - uuid: d751b3ead8cd4509a3f87c9bb4c89f00
          name: 'ICMP ping'
          type: SIMPLE
          key: icmpping
          valuemap:
            name: 'Service state'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: 08e22bd77606469d9e03183ec70dc89d
              expression: 'max(/Windows by SNMP/icmpping,#3)=0'
              name: 'Windows: Unavailable by ICMP ping'
              priority: HIGH
              description: 'Last three attempts returned timeout.  Please check device connectivity.'
              tags:
                - tag: scope
                  value: availability
        - uuid: 9e311b1e5e8841da85c5ec6145d9c75f
          name: 'ICMP loss'
          type: SIMPLE
          key: icmppingloss
          value_type: FLOAT
          units: '%'
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: fa81e50132464ec486ea72929d18d778
              expression: 'min(/Windows by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Windows by SNMP/icmppingloss,5m)<100'
              name: 'Windows: High ICMP ping loss'
              opdata: 'Loss: {ITEM.LASTVALUE1}'
              priority: WARNING
              dependencies:
                - name: 'Windows: Unavailable by ICMP ping'
                  expression: 'max(/Windows by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: fba6328e6e6240f28c1b901a9c2fc376
          name: 'ICMP response time'
          type: SIMPLE
          key: icmppingsec
          value_type: FLOAT
          units: s
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: fba819f734de4b469fb7851501e55b21
              expression: 'avg(/Windows by SNMP/icmppingsec,5m)>{$ICMP_RESPONSE_TIME_WARN}'
              name: 'Windows: High ICMP ping response time'
              opdata: 'Value: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'Average ICMP response time is too high.'
              dependencies:
                - name: 'Windows: High ICMP ping loss'
                  expression: 'min(/Windows by SNMP/icmppingloss,5m)>{$ICMP_LOSS_WARN} and min(/Windows by SNMP/icmppingloss,5m)<100'
                - name: 'Windows: Unavailable by ICMP ping'
                  expression: 'max(/Windows by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
                - tag: scope
                  value: performance
        - uuid: 649fb89829c04fe9bec44e942aeb2b42
          name: 'Windows: 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.2.2.1.10,1.3.6.1.2.1.2.2.1.16,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.31.1.1.1.15,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20]'
          key: net.if.walk
          history: '0'
          value_type: TEXT
          description: 'Discovering interfaces from IF-MIB.'
          tags:
            - tag: component
              value: raw
        - uuid: b75c480b7ec648a5b2762b20fc5c2ed8
          name: 'SNMP traps (fallback)'
          type: SNMP_TRAP
          key: snmptrap.fallback
          value_type: LOG
          description: 'The item is used to collect all SNMP traps unmatched by other snmptrap items'
          logtimefmt: 'hh:mm:sszyyyy/MM/dd'
          tags:
            - tag: component
              value: network
        - uuid: dd26c7a0a46240279bb907b8a1253029
          name: 'System contact details'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.4.0
          key: 'system.contact[sysContact.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.
          inventory_link: CONTACT
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 16a592f6b9f64403999f92d677f1cd2e
          name: 'CPU utilization'
          type: SNMP_AGENT
          snmp_oid: 'discovery[{#CPU.UTIL},1.3.6.1.2.1.25.3.3.1.2]'
          key: system.cpu.util
          value_type: FLOAT
          units: '%'
          description: |
            MIB: HOST-RESOURCES-MIB
            The average, over the last minute, of the percentage of time that processors was not idle.
            Implementations may approximate this one minute smoothing period if necessary.
          preprocessing:
            - type: JSONPATH
              parameters:
                - '$..[''{#CPU.UTIL}''].avg()'
          tags:
            - tag: component
              value: cpu
          triggers:
            - uuid: ad2261f1ab77449cb1279725e8cf02f9
              expression: 'min(/Windows by SNMP/system.cpu.util,5m)>{$CPU.UTIL.CRIT}'
              name: 'Windows: High CPU utilization'
              event_name: 'Windows: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)'
              opdata: 'Current utilization: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'CPU utilization is too high. The system might be slow to respond.'
              tags:
                - tag: scope
                  value: performance
        - uuid: e95e030765e84abfa5a51194e81ac719
          name: 'System description'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.1.0
          key: 'system.descr[sysDescr.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            A textual description of the entity. This value should
            include the full name and version identification of the system's hardware type, software operating-system, and
            networking software.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 422d9e4a985347959d5ef07278a6a12c
          name: 'Uptime (hardware)'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.25.1.1.0
          key: 'system.hw.uptime[hrSystemUptime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: HOST-RESOURCES-MIB
            The amount of time since this host was last initialized. Note that this is different from sysUpTime in the SNMPv2-MIB [RFC1907] because sysUpTime is the uptime of the network management portion of the system.
          preprocessing:
            - type: CHECK_NOT_SUPPORTED
              parameters:
                - '-1'
              error_handler: CUSTOM_VALUE
              error_handler_params: '0'
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: d19b9bfdfe7344a28eaf69a1b7961adb
          name: 'System location'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.6.0
          key: 'system.location[sysLocation.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            Physical location of the node (e.g., `equipment room`, `3rd floor`). If not provided, the value is a zero-length string.
          inventory_link: LOCATION
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: 9feb2f561b3d4356bc6ef2cac955a495
          name: 'System name'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.5.0
          key: system.name
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name.  If the name is unknown, the value is the zero-length string.
          inventory_link: NAME
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: e257b5cf5d9949028c690722e4153612
              expression: 'last(/Windows by SNMP/system.name,#1)<>last(/Windows by SNMP/system.name,#2) and length(last(/Windows by SNMP/system.name))>0'
              name: 'Windows: System name has changed'
              event_name: 'Windows: 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: af7f47f4cf884282bbd9d296ba61b1c2
          name: 'Uptime (network)'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.3.0
          key: 'system.net.uptime[sysUpTime.0]'
          delay: 30s
          trends: '0'
          units: uptime
          description: |
            MIB: SNMPv2-MIB
            Time (in hundredths of a second) since the network management portion of the system was last re-initialized.
          preprocessing:
            - type: MULTIPLIER
              parameters:
                - '0.01'
          tags:
            - tag: component
              value: system
        - uuid: c9e67b57c15747e8ab4f67e24837ce49
          name: 'System object ID'
          type: SNMP_AGENT
          snmp_oid: 1.3.6.1.2.1.1.2.0
          key: 'system.objectid[sysObjectID.0]'
          delay: 15m
          value_type: CHAR
          description: |
            MIB: SNMPv2-MIB
            The vendor's authoritative identification of the network management subsystem contained in the entity.  This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box' is being managed.  For example, if vendor`Flintstones, Inc.' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'.
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 12h
          tags:
            - tag: component
              value: system
        - uuid: bab2a178a60c4dddae8f11f8be344339
          name: 'Windows: SNMP walk mounted filesystems'
          type: SNMP_AGENT
          snmp_oid: 'walk[1.3.6.1.2.1.25.2.3.1.3,1.3.6.1.2.1.25.2.3.1.2,1.3.6.1.2.1.25.2.3.1.4,1.3.6.1.2.1.25.2.3.1.6,1.3.6.1.2.1.25.2.3.1.5]'
          key: vfs.fs.walk
          history: '0'
          value_type: TEXT
          description: 'HOST-RESOURCES-MIB::hrStorage discovery.'
          preprocessing:
            - type: SNMP_WALK_TO_JSON
              parameters:
                - hrStorageType
                - 1.3.6.1.2.1.25.2.3.1.2
                - '0'
                - hrStorageDescr
                - 1.3.6.1.2.1.25.2.3.1.3
                - '0'
                - hrStorageAllocationUnits
                - 1.3.6.1.2.1.25.2.3.1.4
                - '0'
                - hrStorageSize
                - 1.3.6.1.2.1.25.2.3.1.5
                - '0'
                - hrStorageUsed
                - 1.3.6.1.2.1.25.2.3.1.6
                - '0'
          tags:
            - tag: component
              value: raw
        - uuid: 4863042ade2143a0b34e1fc9403742b0
          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: a20254c09f7a4d4d9793da7b075121f3
              expression: 'max(/Windows by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
              name: 'Windows: 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: 'Windows: Unavailable by ICMP ping'
                  expression: 'max(/Windows by SNMP/icmpping,#3)=0'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: 3c6bc0ce8a4c4452a3bd0c0c67a6995c
          name: 'Network interfaces discovery'
          type: DEPENDENT
          key: net.if.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.MATCHES}'
              - macro: '{#IFADMINSTATUS}'
                value: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.MATCHES}'
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.MATCHES}'
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.MATCHES}'
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.MATCHES}'
              - macro: '{#IFOPERSTATUS}'
                value: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.MATCHES}'
              - macro: '{#IFTYPE}'
                value: '{$NET.IF.IFTYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovering interfaces from IF-MIB.'
          item_prototypes:
            - uuid: 9208bd833e4044f395ac14c8213885de
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded'
              type: DEPENDENT
              key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
              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
                - 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: 758aca2642c146ddad89ed9934077533
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors'
              type: DEPENDENT
              key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
              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
                - 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: 713b5c5067174b90b686737606616664
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits received'
              type: DEPENDENT
              key: 'net.if.in[ifInOctets.{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets received on the interface,including framing characters. Discontinuities in the value of this counter can occur at re-initialization of the management system, and another times as indicated by the value of ifCounterDiscontinuityTime.
              preprocessing:
                - type: SNMP_WALK_VALUE
                  parameters:
                    - '1.3.6.1.2.1.2.2.1.10.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 2d76edd04b2c4d35a15fc04749edfedc
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded'
              type: DEPENDENT
              key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
              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
                - 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: 40fe302325ff452997f34cb05d517c59
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors'
              type: DEPENDENT
              key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
              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
                - 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: 48652cf9a87142d39df11617f354df36
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits sent'
              type: DEPENDENT
              key: 'net.if.out[ifOutOctets.{#SNMPINDEX}]'
              units: bps
              description: |
                MIB: IF-MIB
                The total number of octets transmitted out of the interface, including framing characters. 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.16.{#SNMPINDEX}'
                    - '0'
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              master_item:
                key: net.if.walk
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 389b55d85fcc49219a055d0db005c715
              name: 'Interface {#IFNAME}({#IFALIAS}): Speed'
              type: DEPENDENT
              key: 'net.if.speed[ifHighSpeed.{#SNMPINDEX}]'
              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: 71e55a8fd22c443e8a39a44c4c22433b
              name: 'Interface {#IFNAME}({#IFALIAS}): Operational status'
              type: DEPENDENT
              key: 'net.if.status[ifOperStatus.{#SNMPINDEX}]'
              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: 101b888ea92348689bbc499bbe15b212
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
                  name: 'Windows: Interface {#IFNAME}({#IFALIAS}): Link down'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: |
                    This trigger expression works as follows:
                    1. It can be triggered if the operations status is down.
                    2. `{$IFCONTROL:"{#IFNAME}"}=1` - a user can redefine 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: ad62c98e35b24d0082c07ea4543963ad
              name: 'Interface {#IFNAME}({#IFALIAS}): Interface type'
              type: DEPENDENT
              key: 'net.if.type[ifType.{#SNMPINDEX}]'
              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: fe3e2d20c6eb475ba9f0e8f0c5766720
              expression: |
                change(/Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])<0 and last(/Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
                and (
                last(/Windows by SNMP/net.if.type[ifType.{#SNMPINDEX}])=6 or
                last(/Windows by SNMP/net.if.type[ifType.{#SNMPINDEX}])=7 or
                last(/Windows by SNMP/net.if.type[ifType.{#SNMPINDEX}])=11 or
                last(/Windows by SNMP/net.if.type[ifType.{#SNMPINDEX}])=62 or
                last(/Windows by SNMP/net.if.type[ifType.{#SNMPINDEX}])=69 or
                last(/Windows by SNMP/net.if.type[ifType.{#SNMPINDEX}])=117
                )
                and
                (last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2)
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                (change(/Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0 and last(/Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}],#2)>0) or
                (last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2)
              name: 'Windows: 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: 'Windows: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 5ab179badc3747438cf988c437b7b735
              expression: |
                (avg(/Windows by SNMP/net.if.in[ifInOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) or
                avg(/Windows by SNMP/net.if.out[ifOutOctets.{#SNMPINDEX}],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])) and
                last(/Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])>0
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                avg(/Windows by SNMP/net.if.in[ifInOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}]) and
                avg(/Windows by SNMP/net.if.out[ifOutOctets.{#SNMPINDEX}],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Windows by SNMP/net.if.speed[ifHighSpeed.{#SNMPINDEX}])
              name: 'Windows: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage'
              event_name: 'Windows: 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: 'Windows: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 8acdf247d86b4b2785c92266291682ac
              expression: |
                min(/Windows by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
                or min(/Windows by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                max(/Windows by SNMP/net.if.in.errors[ifInErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
                and max(/Windows by SNMP/net.if.out.errors[ifOutErrors.{#SNMPINDEX}],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
              name: 'Windows: Interface {#IFNAME}({#IFALIAS}): High error rate'
              event_name: 'Windows: 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: 'Windows: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])=2 and (last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#1)<>last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}],#2))'
                  recovery_expression: 'last(/Windows by SNMP/net.if.status[ifOperStatus.{#SNMPINDEX}])<>2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
          graph_prototypes:
            - uuid: 616105fbea704079b1257feb370367a5
              name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'Windows by SNMP'
                    key: 'net.if.in[ifInOctets.{#SNMPINDEX}]'
                - sortorder: '1'
                  drawtype: BOLD_LINE
                  color: F63100
                  item:
                    host: 'Windows by SNMP'
                    key: 'net.if.out[ifOutOctets.{#SNMPINDEX}]'
                - sortorder: '2'
                  color: 00611C
                  yaxisside: RIGHT
                  item:
                    host: 'Windows by SNMP'
                    key: 'net.if.out.errors[ifOutErrors.{#SNMPINDEX}]'
                - sortorder: '3'
                  color: F7941D
                  yaxisside: RIGHT
                  item:
                    host: 'Windows by SNMP'
                    key: 'net.if.in.errors[ifInErrors.{#SNMPINDEX}]'
                - sortorder: '4'
                  color: FC6EA3
                  yaxisside: RIGHT
                  item:
                    host: 'Windows by SNMP'
                    key: 'net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]'
                - sortorder: '5'
                  color: 6C59DC
                  yaxisside: RIGHT
                  item:
                    host: 'Windows by SNMP'
                    key: 'net.if.in.discards[ifInDiscards.{#SNMPINDEX}]'
          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: b2c0a897e22d438f8b1bbff44e493b13
          name: 'Mounted filesystem discovery'
          type: DEPENDENT
          key: 'vfs.fs.discovery[snmp]'
          filter:
            evaltype: AND
            conditions:
              - macro: '{#FSNAME}'
                value: '{$VFS.FS.FSNAME.MATCHES}'
              - macro: '{#FSNAME}'
                value: '{$VFS.FS.FSNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#FSTYPE}'
                value: '{$VFS.FS.FSTYPE.MATCHES}'
              - macro: '{#FSTYPE}'
                value: '{$VFS.FS.FSTYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'HOST-RESOURCES-MIB::hrStorage discovery with storage filter.'
          item_prototypes:
            - uuid: 1524fab7760340b1a6eb8f5368d11edd
              name: 'FS [{#FSNAME}]: Space: Used, in %'
              type: DEPENDENT
              key: 'vfs.fs.pused[{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: 'The space utilization expressed in % for {#FSNAME}.'
              preprocessing:
                - type: JAVASCRIPT
                  parameters:
                    - |
                      var obj = JSON.parse(value);
                      
                      var total = obj["hrStorageSize"];
                      var used  = obj["hrStorageUsed"];
                      
                      if (total <= 0) {
                      	return 0;
                      } else {
                      	return (100 * used / total);
                      }
              master_item:
                key: 'vfs.fs.walk.data[hrStorage.{#SNMPINDEX}]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
              trigger_prototypes:
                - uuid: 597ea2f6059746c0b2e5b7312f764224
                  expression: 'min(/Windows by SNMP/vfs.fs.pused[{#SNMPINDEX}],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}'
                  name: 'Windows: FS [{#FSNAME}]: Space is critically low'
                  event_name: 'Windows: FS [{#FSNAME}]: Space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%, total {{?last(//vfs.fs.total[hrStorageSize.{#SNMPINDEX}])/1024/1024/1024}.fmtnum(1)}GB)'
                  opdata: 'Space used: {{ITEM.LASTVALUE1}.fmtnum(1)}%'
                  priority: AVERAGE
                  description: 'The storage space usage exceeds the ''{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%'' limit.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: capacity
                - uuid: 028b24edaf9c4640a2316845f50a4a7e
                  expression: 'min(/Windows by SNMP/vfs.fs.pused[{#SNMPINDEX}],5m)>{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}'
                  name: 'Windows: FS [{#FSNAME}]: Space is low'
                  event_name: 'Windows: FS [{#FSNAME}]: Space is low (used > {$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}%, total {{?last(//vfs.fs.total[hrStorageSize.{#SNMPINDEX}])/1024/1024/1024}.fmtnum(1)}GB)'
                  opdata: 'Space used: {{ITEM.LASTVALUE1}.fmtnum(1)}%'
                  priority: WARNING
                  description: 'The storage space usage exceeds the ''{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}%'' limit.'
                  manual_close: 'YES'
                  dependencies:
                    - name: 'Windows: FS [{#FSNAME}]: Space is critically low'
                      expression: 'min(/Windows by SNMP/vfs.fs.pused[{#SNMPINDEX}],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: capacity
            - uuid: 19d244950a414faa86cbcaf0d2859cbd
              name: 'FS [{#FSNAME}]: Space: Total'
              type: DEPENDENT
              key: 'vfs.fs.total[hrStorageSize.{#SNMPINDEX}]'
              value_type: FLOAT
              units: B
              description: |
                MIB: HOST-RESOURCES-MIB
                The size of the storage represented by this entry, in units of hrStorageAllocationUnits.
                This object is writable to allow remote configuration of the size of the storage area in those cases where such an operation makes sense and is possible on the underlying system.
                For example, the amount of main storage allocated to a buffer pool might be modified or the amount of disk space allocated to virtual storage might be modified.
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.hrStorageSize
                - type: MULTIPLIER
                  parameters:
                    - '{#ALLOC_UNITS}'
              master_item:
                key: 'vfs.fs.walk.data[hrStorage.{#SNMPINDEX}]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
            - uuid: 2d00ecfcea564fef8b94d293d023b709
              name: 'FS [{#FSNAME}]: Space: Used'
              type: DEPENDENT
              key: 'vfs.fs.used[hrStorageUsed.{#SNMPINDEX}]'
              value_type: FLOAT
              units: B
              description: |
                MIB: HOST-RESOURCES-MIB
                The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.hrStorageUsed
                - type: MULTIPLIER
                  parameters:
                    - '{#ALLOC_UNITS}'
              master_item:
                key: 'vfs.fs.walk.data[hrStorage.{#SNMPINDEX}]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
            - uuid: 0dbd5de181fe44e1970e2f9622ad76b1
              name: 'FS [{#FSNAME}]: Get data'
              type: DEPENDENT
              key: 'vfs.fs.walk.data[hrStorage.{#SNMPINDEX}]'
              history: 1h
              value_type: TEXT
              description: |
                HOST-RESOURCES-MIB::hrStorage.
                Intermediate data for subsequent processing.
              preprocessing:
                - type: JAVASCRIPT
                  parameters:
                    - |
                      var data = JSON.parse(value);
                      
                      result = data.filter(function(obj) {
                      	return obj["{\#SNMPINDEX}"] === "{#SNMPINDEX}";
                      })[0];
                      
                      return JSON.stringify(result);
              master_item:
                key: vfs.fs.walk
              tags:
                - tag: component
                  value: raw
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
          graph_prototypes:
            - uuid: 323304e5268b4430984706d38ac77a96
              name: 'FS [{#FSNAME}]: Space usage graph, in %'
              width: '600'
              height: '340'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: FILLED_REGION
                  color: F63100
                  calc_fnc: ALL
                  item:
                    host: 'Windows by SNMP'
                    key: 'vfs.fs.pused[{#SNMPINDEX}]'
            - uuid: 2c1a1d995f8646dd82739a56e411ccf4
              name: 'FS [{#FSNAME}]: Space utilization chart'
              width: '600'
              height: '340'
              type: PIE
              show_3d: 'YES'
              graph_items:
                - color: '969696'
                  calc_fnc: LAST
                  type: GRAPH_SUM
                  item:
                    host: 'Windows by SNMP'
                    key: 'vfs.fs.total[hrStorageSize.{#SNMPINDEX}]'
                - sortorder: '1'
                  color: C80000
                  calc_fnc: LAST
                  item:
                    host: 'Windows by SNMP'
                    key: 'vfs.fs.used[hrStorageUsed.{#SNMPINDEX}]'
          master_item:
            key: vfs.fs.walk
          lld_macro_paths:
            - lld_macro: '{#ALLOC_UNITS}'
              path: $.hrStorageAllocationUnits
            - lld_macro: '{#FSNAME}'
              path: $.hrStorageDescr
            - lld_macro: '{#FSTYPE}'
              path: $.hrStorageType
            - lld_macro: '{#SNMPINDEX}'
              path: $.index
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var filesystems = JSON.parse(value);
                  
                  result = filesystems.map(function (filesystem) {
                  	return {
                  		'hrStorageDescr': filesystem.hrStorageDescr,
                  		'hrStorageType': filesystem.hrStorageType,
                  		'hrStorageAllocationUnits': filesystem.hrStorageAllocationUnits,
                  		'index': filesystem['{#SNMPINDEX}']
                  	};
                  });
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 23bb0567e4194546a09da96ded5182dd
          name: 'Memory discovery'
          type: DEPENDENT
          key: vm.memory.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#MEMNAME}'
                value: '{$MEMORY.NAME.MATCHES}'
              - macro: '{#MEMNAME}'
                value: '{$MEMORY.NAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#MEMTYPE}'
                value: '{$MEMORY.TYPE.MATCHES}'
              - macro: '{#MEMTYPE}'
                value: '{$MEMORY.TYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'HOST-RESOURCES-MIB::hrStorage discovery with memory filter'
          item_prototypes:
            - uuid: ef95155004f64f9f95a794c1e5fe9131
              name: '{#MEMNAME}: Get data'
              type: DEPENDENT
              key: 'vm.memory.data[{#SNMPINDEX}]'
              history: 1h
              value_type: TEXT
              description: |
                MIB: HOST-RESOURCES-MIB
                The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.
              preprocessing:
                - type: JAVASCRIPT
                  parameters:
                    - |
                      var data = JSON.parse(value);
                      
                      result = data.filter(function(obj) {
                      	return obj["{\#SNMPINDEX}"] === "{#SNMPINDEX}";
                      })[0];
                      
                      return JSON.stringify(result);
              master_item:
                key: vfs.fs.walk
              tags:
                - tag: component
                  value: memory
                - tag: component
                  value: raw
            - uuid: 71453175f6f54027a8e428b7438af99a
              name: '{#MEMNAME}: Used'
              type: DEPENDENT
              key: 'vm.memory.used[hrStorageUsed.{#SNMPINDEX}]'
              units: B
              description: |
                MIB: HOST-RESOURCES-MIB
                The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.hrStorageUsed
                - type: MULTIPLIER
                  parameters:
                    - '{#ALLOC_UNITS}'
              master_item:
                key: 'vm.memory.data[{#SNMPINDEX}]'
              tags:
                - tag: component
                  value: memory
            - uuid: 5ccc66d7a78f4501b794bd46759c738b
              name: '{#MEMNAME}: Utilization'
              type: DEPENDENT
              key: 'vm.memory.util[{#SNMPINDEX}]'
              value_type: FLOAT
              units: '%'
              description: 'Memory utilization in %.'
              preprocessing:
                - type: JAVASCRIPT
                  parameters:
                    - |
                      var obj = JSON.parse(value);
                      
                      var total = obj["hrStorageSize"];
                      var used  = obj["hrStorageUsed"];
                      
                      if (total <= 0) {
                      	return 0;
                      } else {
                      	return (100 * used / total);
                      }
              master_item:
                key: 'vm.memory.data[{#SNMPINDEX}]'
              tags:
                - tag: component
                  value: memory
              trigger_prototypes:
                - uuid: ab4b4ad08664454096f5e2cf3b7da1e9
                  expression: 'min(/Windows by SNMP/vm.memory.util[{#SNMPINDEX}],5m)>{$MEMORY.UTIL.MAX}'
                  name: 'Windows: {#MEMNAME}: High memory utilization'
                  event_name: 'Windows: {#MEMNAME}: 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
            - uuid: ea1c8d22d38042f7ac824d59b9d6a720
              name: '{#MEMNAME}: Total'
              type: DEPENDENT
              key: 'vm.memory.walk.data.total[hrStorageSize.{#SNMPINDEX}]'
              units: B
              description: |
                MIB: HOST-RESOURCES-MIB
                The size of the storage represented by this entry, in units of hrStorageAllocationUnits.
                This object is writable to allow remote configuration of the size of the storage area in those cases where such an operation makes sense and is possible on the underlying system.
                For example, the amount of main memory allocated to a buffer pool might be modified or the amount of disk space allocated to virtual memory might be modified.
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.hrStorageSize
                - type: MULTIPLIER
                  parameters:
                    - '{#ALLOC_UNITS}'
              master_item:
                key: 'vm.memory.data[{#SNMPINDEX}]'
              tags:
                - tag: component
                  value: memory
          graph_prototypes:
            - uuid: 864bc9c487984f68b4da443b8af6c448
              name: '{#MEMNAME}: Memory utilization'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: F63100
                  item:
                    host: 'Windows by SNMP'
                    key: 'vm.memory.util[{#SNMPINDEX}]'
          master_item:
            key: vfs.fs.walk
          lld_macro_paths:
            - lld_macro: '{#ALLOC_UNITS}'
              path: $.hrStorageAllocationUnits
            - lld_macro: '{#MEMNAME}'
              path: $.hrStorageDescr
            - lld_macro: '{#MEMTYPE}'
              path: $.hrStorageType
            - lld_macro: '{#SNMPINDEX}'
              path: $.index
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var filesystems = JSON.parse(value);
                  
                  result = filesystems.map(function (filesystem) {
                  	return {
                  		'hrStorageDescr': filesystem.hrStorageDescr,
                  		'hrStorageType': filesystem.hrStorageType,
                  		'hrStorageAllocationUnits': filesystem.hrStorageAllocationUnits,
                  		'index': filesystem['{#SNMPINDEX}']
                  	};
                  });
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
      tags:
        - tag: class
          value: os
        - tag: target
          value: windows
      macros:
        - macro: '{$CPU.UTIL.CRIT}'
          value: '90'
          description: 'Critical threshold of CPU utilization expressed in %.'
          config:
            type: TEXT
            priority: '15'
            section_name: Thresholds
            label: 'Threshold for CPU utilization (critical)'
            description: 'Critical threshold of CPU utilization expressed in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_LOSS_WARN}'
          value: '20'
          description: 'Warning threshold of ICMP packet loss in %.'
          config:
            type: TEXT
            priority: '2'
            section_name: Thresholds
            label: 'Threshold of ICMP packet loss'
            description: 'Warning threshold of ICMP packet loss in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$ICMP_RESPONSE_TIME_WARN}'
          value: '0.15'
          description: 'Warning threshold of the average ICMP response time in seconds.'
          config:
            type: TEXT
            priority: '3'
            section_name: Thresholds
            label: 'Threshold of the average ICMP response'
            description: 'Warning threshold of the average ICMP response time in seconds. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.ERRORS.WARN}'
          value: '2'
          description: 'Warning threshold of error packet rate. Can be used with interface name as context.'
          config:
            type: TEXT
            priority: '18'
            section_name: Thresholds
            label: 'Threshold of error packet rate'
            description: 'Warning threshold of error packet rate. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the interface utilization trigger.'
          config:
            type: TEXT
            priority: '17'
            section_name: Thresholds
            label: 'The threshold in the interface utilization'
            description: 'Used as a threshold in the interface utilization trigger. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IFCONTROL}'
          value: '1'
          description: 'Link status trigger will be fired only for interfaces where the context macro equals "1".'
          config:
            type: CHECKBOX
            priority: '16'
            label: 'Interfaces control'
            description: 'Fire a trigger when the interface operational status changes to "Link down".'
            options:
              - checked: '1'
                unchecked: '0'
        - macro: '{$MEMORY.NAME.MATCHES}'
          value: '.*'
          description: 'Used in memory discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '13'
            section_name: Filters
            label: 'Filter memory by name'
            description: 'Memory discovery.'
        - macro: '{$MEMORY.NAME.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in memory discovery. Can be overridden on the host or linked template level if you need to filter out results.'
          config:
            type: TEXT
            priority: '14'
            section_name: Filters
            label: 'Filter memory by name (exclude)'
            description: 'Memory discovery.'
        - macro: '{$MEMORY.TYPE.MATCHES}'
          value: '.*(\.2|hrStorageRam)$'
          description: 'Used in memory discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '11'
            section_name: Filters
            label: 'Filter memory by type'
            description: 'Memory discovery.'
        - macro: '{$MEMORY.TYPE.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in memory discovery. Can be overridden on the host or linked template level if you need to filter out results.'
          config:
            type: TEXT
            priority: '12'
            section_name: Filters
            label: 'Filter memory by type (exclude)'
            description: 'Memory discovery.'
        - macro: '{$MEMORY.UTIL.MAX}'
          value: '90'
          description: 'The warning threshold of the "Physical memory: Memory utilization" item.'
          config:
            type: TEXT
            priority: '10'
            section_name: Thresholds
            label: 'Threshold for memory utilization'
            description: 'Warning threshold of the "Physical memory: Memory utilization" item. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$NET.IF.IFADMINSTATUS.MATCHES}'
          value: '^.*$'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '23'
            section_name: Filters
            label: 'Filter network interface by adminstatus'
            description: 'Regex string to include discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFADMINSTATUS.NOT_MATCHES}'
          value: ^2$
          description: 'Ignore `down(2)` administrative status'
          config:
            type: TEXT
            priority: '24'
            section_name: Filters
            label: 'Filter network interface by adminstatus (exclude)'
            description: 'Regex string to exclude discovered interface by adminstatus.'
        - macro: '{$NET.IF.IFALIAS.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '27'
            section_name: Filters
            label: 'Filter for network interfaces by alias'
            description: 'Regex string to include discovered interface by alias.'
        - macro: '{$NET.IF.IFALIAS.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '28'
            section_name: Filters
            label: 'Filter for network interfaces by alias (exclude)'
            description: 'Regex string to exclude discovered interface by alias.'
        - macro: '{$NET.IF.IFDESCR.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '25'
            section_name: Filters
            label: 'Filter for network interfaces by description'
            description: 'Regex string to include discovered interface by description.'
        - macro: '{$NET.IF.IFDESCR.NOT_MATCHES}'
          value: Miniport|Virtual|Teredo|Kernel|Loopback|Bluetooth|HTTPS|6to4|QoS|Layer|isatap|ISATAP
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '26'
            section_name: Filters
            label: 'Filter for network interfaces by description (exclude)'
            description: 'Regex string to exclude discovered interface by description.'
        - macro: '{$NET.IF.IFNAME.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '19'
            section_name: Filters
            label: 'Filter for network interface by name'
            description: 'Regex string to include discovered interface by name.'
        - 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.'
          config:
            type: TEXT
            priority: '20'
            section_name: Filters
            label: 'Filter for network interface by name (exclude)'
            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.'
          config:
            type: TEXT
            priority: '21'
            section_name: Filters
            label: 'Filter network interface by status'
            description: 'Regex string to include discovered interface by status.'
        - macro: '{$NET.IF.IFOPERSTATUS.NOT_MATCHES}'
          value: ^6$
          description: 'Ignore `notPresent(6)`'
          config:
            type: TEXT
            priority: '22'
            section_name: Filters
            label: 'Filter network interface by status (exclude)'
            description: 'Regex string to exclude discovered interface by status.'
        - macro: '{$NET.IF.IFTYPE.MATCHES}'
          value: '.*'
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '29'
            section_name: Filters
            label: 'Filter for network interfaces by type'
            description: 'Regex string to include discovered interface by type.'
        - macro: '{$NET.IF.IFTYPE.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in network interface discovery rule filters.'
          config:
            type: TEXT
            priority: '30'
            section_name: Filters
            label: 'Filter for network interfaces by type (exclude)'
            description: 'Regex string to exclude discovered interface by type.'
        - macro: '{$SNMP.TIMEOUT}'
          value: 5m
          description: 'Time interval for the SNMP availability trigger.'
          config:
            type: TEXT
            priority: '1'
            section_name: Other
            label: 'Time interval'
            description: 'Time interval for the SNMP availability trigger.'
        - macro: '{$VFS.FS.FSNAME.MATCHES}'
          value: .+
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '6'
            section_name: Filters
            label: 'Filter for filesystems by name'
            description: 'Filesystem discovery.'
        - macro: '{$VFS.FS.FSNAME.NOT_MATCHES}'
          value: ^(/dev|/sys|/run|/proc|.+/shm$)
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '7'
            section_name: Filters
            label: 'Filter for filesystems by name (exclude)'
            description: 'Filesystem discovery.'
        - macro: '{$VFS.FS.FSTYPE.MATCHES}'
          value: '.*(\.4|\.9|hrStorageFixedDisk|hrStorageFlashMemory)$'
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '8'
            section_name: Filters
            label: 'Filter for filesystems by type'
            description: 'Filesystem discovery.'
        - macro: '{$VFS.FS.FSTYPE.NOT_MATCHES}'
          value: CHANGE_IF_NEEDED
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '9'
            section_name: Filters
            label: 'Filter for filesystems by type (exclude)'
            description: 'Filesystem discovery.'
        - macro: '{$VFS.FS.PUSED.MAX.CRIT}'
          value: '90'
          description: 'The critical threshold of the filesystem utilization.'
          config:
            type: TEXT
            priority: '5'
            section_name: Thresholds
            label: 'Threshold for filesystem utilization (critical)'
            description: 'Critical threshold of the filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.WARN}'
          value: '80'
          description: 'The warning threshold of the filesystem utilization.'
          config:
            type: TEXT
            priority: '4'
            section_name: Thresholds
            label: 'Threshold for filesystem utilization (warning)'
            description: 'Warning threshold of the filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
      dashboards:
        - uuid: e032b55da5994e3abebba924fede59ec
          name: Filesystems
          pages:
            - name: Overview
              widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '3'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Windows by SNMP'
                        name: 'FS [{#FSNAME}]: Space utilization chart'
                    - type: STRING
                      name: reference
                      value: AAAEB
                - type: graphprototype
                  'y': '5'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Windows by SNMP'
                        name: 'FS [{#FSNAME}]: Space usage graph, in %'
                    - type: STRING
                      name: reference
                      value: AAAEC
        - uuid: 8aeb65d3f8b645d28994cdc680c0f0fd
          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: 'Windows by SNMP'
                        name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAA
        - uuid: 3b28bdbfdb6d4cf1a69c7466a4f059f3
          name: 'System performance'
          pages:
            - widgets:
                - type: graphprototype
                  width: '36'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Windows by SNMP'
                        name: '{#MEMNAME}: Memory utilization'
                    - type: STRING
                      name: reference
                      value: AAAAC
                - type: graphprototype
                  'y': '5'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '3'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Windows by SNMP'
                        name: 'FS [{#FSNAME}]: Space utilization chart'
                    - type: STRING
                      name: reference
                      value: AAAEA
                - type: graph
                  x: '36'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Windows by SNMP'
                        name: 'Windows: CPU utilization'
                    - type: STRING
                      name: reference
                      value: AAAAB
      valuemaps:
        - uuid: 2357d81186e34d5b91db98c2350e0bdf
          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: b3f64ce647bc4647a692f2e3bafa3760
          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: 43b61695bdf347cb8ec9bd23e7cdbc88
          name: 'Service state'
          mappings:
            - value: '0'
              newvalue: Down
            - value: '1'
              newvalue: Up
        - uuid: a979f49c325344e0b6c064b829a21f62
          name: zabbix.host.available
          mappings:
            - value: '0'
              newvalue: 'not available'
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: unknown
    - uuid: 13b06904a6bf41cbb795e3193d896340
      template: 'Windows by Zabbix agent'
      name: 'Windows by Zabbix agent'
      description: |
        This is an official Windows template. It requires Zabbix agent 7.4 or newer.
        
        You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387224-discussion-thread-for-official-zabbix-template-for-windows
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      readme: |
        ## Overview
        
        This is an official Windows template. It requires Zabbix agent 7.4 or newer.
      vendor:
        name: Zabbix
        version: 7.4-2
      groups:
        - name: 'Templates/Operating systems'
      items:
        - uuid: af550a1bfe74428eb24492d8af3b405e
          name: 'Host name of Zabbix agent running'
          key: agent.hostname
          delay: 1h
          value_type: CHAR
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
        - uuid: f81e2ce0d1104f9aaf1fc49284ed0ed4
          name: 'Zabbix agent ping'
          key: agent.ping
          description: 'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.'
          valuemap:
            name: 'Zabbix agent ping status'
          tags:
            - tag: component
              value: system
        - uuid: 5707443d739d4689bde192e75ff4bd0f
          name: 'Version of Zabbix agent running'
          key: agent.version
          delay: 1h
          value_type: CHAR
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: application
        - uuid: 5219a246de0641a89685a961cdd08c0b
          name: 'Cache bytes'
          key: 'perf_counter_en["\Memory\Cache Bytes"]'
          units: B
          description: 'Cache Bytes is the sum of the Memory\\System Cache Resident Bytes, Memory\\System Driver Resident Bytes, Memory\\System Code Resident Bytes, and Memory\\Pool Paged Resident Bytes counters. This counter displays the last observed value only; it is not an average.'
          tags:
            - tag: component
              value: memory
        - uuid: 2ea74fafb9334de095adcb47cced578d
          name: 'Free system page table entries'
          key: 'perf_counter_en["\Memory\Free System Page Table Entries"]'
          description: 'This indicates the number of page table entries not currently in use by the system. If the number is less than 5,000, there may be a memory leak or you running out of memory.'
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: e3118e2e6109460f80cc2d56795ed42f
              expression: 'max(/Windows by Zabbix agent/perf_counter_en["\Memory\Free System Page Table Entries"],5m)<{$MEM.PAGE_TABLE_CRIT.MIN}'
              name: 'Windows: Number of free system page table entries is too low'
              event_name: 'Windows: Number of free system page table entries is too low (less {$MEM.PAGE_TABLE_CRIT.MIN} for 5m)'
              priority: WARNING
              description: '`Memory\Free System Page Table Entries` has been less than `{$MEM.PAGE_TABLE_CRIT.MIN}` for 5 minutes. If the number is less than 5,000, there may be a memory leak.'
              dependencies:
                - name: 'Windows: High memory utilization'
                  expression: 'min(/Windows by Zabbix agent/vm.memory.util,5m)>{$MEMORY.UTIL.MAX}'
              tags:
                - tag: scope
                  value: capacity
        - uuid: 6c41d254585a4d7b81a0c5766a8913c1
          name: 'Memory page faults per second'
          key: 'perf_counter_en["\Memory\Page Faults/sec"]'
          value_type: FLOAT
          description: 'Page Faults/sec is the average number of pages faulted per second. It is measured in number of pages faulted per second because only one page is faulted in each fault operation, hence this is also equal to the number of page fault operations. This counter includes both hard faults (those that require disk access) and soft faults (where the faulted page is found elsewhere in physical memory.) Most processors can handle large numbers of soft faults without significant consequence. However, hard faults, which require disk access, can cause significant delays.'
          tags:
            - tag: component
              value: memory
        - uuid: 287163bc5b0441c4bf51489432a278eb
          name: 'Memory pages per second'
          key: 'perf_counter_en["\Memory\Pages/sec"]'
          value_type: FLOAT
          description: |
            This measures the rate at which pages are read from or written to disk to resolve hard page faults.
            If the value is greater than 1,000, as a result of excessive paging, there may be a memory leak.
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: ab4c9a66d16f42e6a32f6144f4d2a3ca
              expression: 'min(/Windows by Zabbix agent/perf_counter_en["\Memory\Pages/sec"],5m)>{$MEM.PAGE_SEC.CRIT.MAX}'
              name: 'Windows: The Memory Pages/sec is too high'
              event_name: 'Windows: The Memory Pages/sec is too high (over {$MEM.PAGE_SEC.CRIT.MAX} for 5m)'
              priority: WARNING
              description: 'The Memory Pages/sec in the last 5 minutes exceeds `{$MEM.PAGE_SEC.CRIT.MAX}`. If the value is greater than 1,000, as a result of excessive paging, there may be a memory leak.'
              dependencies:
                - name: 'Windows: High memory utilization'
                  expression: 'min(/Windows by Zabbix agent/vm.memory.util,5m)>{$MEMORY.UTIL.MAX}'
              tags:
                - tag: scope
                  value: capacity
        - uuid: fb822cb2a17948208a61bd6661c496df
          name: 'Memory pool non-paged'
          key: 'perf_counter_en["\Memory\Pool Nonpaged Bytes"]'
          units: B
          description: |
            This measures the size, in bytes, of the non-paged pool. This is an area of system memory for objects that cannot be written to disk but instead must remain in physical memory as long as they are allocated.
            There is a possible memory leak if the value is greater than 175MB (or 100MB with the /3GB switch). Consequently, Event ID 2019 is recorded in the system event log.
          tags:
            - tag: component
              value: memory
        - uuid: b99a722d267d455fad3c07c53302b20f
          name: 'Used swap space in %'
          key: 'perf_counter_en["\Paging file(_Total)\% Usage"]'
          value_type: FLOAT
          units: '%'
          description: 'The used space of swap volume/file in percent.'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: ee1f116fdab34969a6e6f5e1c25fc3d2
          name: 'CPU DPC time'
          key: 'perf_counter_en["\Processor Information(_total)\% DPC Time"]'
          value_type: FLOAT
          units: '%'
          description: 'Processor DPC time is the time that a single processor spent receiving and servicing deferred procedure calls (DPCs). DPCs are interrupts that run at a lower priority than standard interrupts. `% DPC Time` is a component of `% Privileged Time` because DPCs are executed in privileged mode. If a high `% DPC Time` is sustained, there may be a processor bottleneck or an application or hardware related issue that can significantly diminish overall system performance.'
          tags:
            - tag: component
              value: cpu
        - uuid: e403552481b04ebdba2e8a019f114f20
          name: 'CPU interrupt time'
          key: 'perf_counter_en["\Processor Information(_total)\% Interrupt Time"]'
          value_type: FLOAT
          units: '%'
          description: 'The processor information `% Interrupt Time` counter indicates how much time the processor spends handling hardware interrupts during sample intervals. It reflects the activity of devices like the system clock, mouse, disk drivers, and network cards. A value above 20% suggests possible hardware issues.'
          tags:
            - tag: component
              value: cpu
          triggers:
            - uuid: f67bedcb282349b2aac052baf4963480
              expression: 'min(/Windows by Zabbix agent/perf_counter_en["\Processor Information(_total)\% Interrupt Time"],5m)>{$CPU.INTERRUPT.CRIT.MAX}'
              name: 'Windows: CPU interrupt time is too high'
              event_name: 'Windows: CPU interrupt time is too high (over {$CPU.INTERRUPT.CRIT.MAX}% for 5m)'
              priority: WARNING
              description: 'The CPU Interrupt Time in the last 5 minutes exceeds `{$CPU.INTERRUPT.CRIT.MAX}`%.'
              dependencies:
                - name: 'Windows: High CPU utilization'
                  expression: 'min(/Windows by Zabbix agent/system.cpu.util,5m)>{$CPU.UTIL.CRIT}'
              tags:
                - tag: scope
                  value: performance
        - uuid: 37448f05afe340a3891d05528c9d1adc
          name: 'CPU privileged time'
          key: 'perf_counter_en["\Processor Information(_total)\% Privileged Time"]'
          value_type: FLOAT
          units: '%'
          description: 'The processor information `% Privileged Time` counter shows the percent of time that the processor is spent executing in Kernel (or Privileged) mode. Privileged mode includes services interrupts inside Interrupt Service Routines (ISRs), executing Deferred Procedure Calls (DPCs), Device Driver calls and other kernel-mode functions of the Windows Operating System.'
          tags:
            - tag: component
              value: cpu
          triggers:
            - uuid: 4d099256b3ba42f1b90143e2014900dd
              expression: 'min(/Windows by Zabbix agent/perf_counter_en["\Processor Information(_total)\% Privileged Time"],5m)>{$CPU.PRIV.CRIT.MAX}'
              name: 'Windows: CPU privileged time is too high'
              event_name: 'Windows: CPU privileged time is too high (over {$CPU.PRIV.CRIT.MAX}% for 5m)'
              priority: WARNING
              description: 'The CPU privileged time in the last 5 minutes exceeds {$CPU.PRIV.CRIT.MAX}%.'
              dependencies:
                - name: 'Windows: CPU interrupt time is too high'
                  expression: 'min(/Windows by Zabbix agent/perf_counter_en["\Processor Information(_total)\% Interrupt Time"],5m)>{$CPU.INTERRUPT.CRIT.MAX}'
                - name: 'Windows: High CPU utilization'
                  expression: 'min(/Windows by Zabbix agent/system.cpu.util,5m)>{$CPU.UTIL.CRIT}'
              tags:
                - tag: scope
                  value: performance
        - uuid: 575912d512624143b564ca0fbfd0bb8f
          name: 'CPU user time'
          key: 'perf_counter_en["\Processor Information(_total)\% User Time"]'
          value_type: FLOAT
          units: '%'
          description: 'The processor information `% User Time` counter shows the percent of time that the processor(s) is spent executing in User mode.'
          tags:
            - tag: component
              value: cpu
        - uuid: 2322a85bfc1049a3b5c892d83b5d5054
          name: 'Context switches per second'
          key: 'perf_counter_en["\System\Context Switches/sec"]'
          value_type: FLOAT
          description: |
            Context Switches/sec is the combined rate at which all processors on the computer are switched from one thread to another.
            Context switches occur when a running thread voluntarily relinquishes the processor, is preempted by a higher priority ready thread, or switches between user-mode and privileged (kernel) mode to use an Executive or subsystem service.
            It is the sum of Thread\\Context Switches/sec for all threads running on all processors in the computer and is measured in numbers of switches.
            There are context switch counters on the System and Thread objects. This counter displays the difference between the values observed in the last two samples, divided by the duration of the sample interval.
          tags:
            - tag: component
              value: cpu
        - uuid: 002af28df72f4a788c88bc022d88c6dd
          name: 'CPU queue length'
          key: 'perf_counter_en["\System\Processor Queue Length"]'
          value_type: FLOAT
          description: 'The Processor Queue Length shows the number of threads that are observed as delayed in the processor Ready Queue and are waiting to be executed.'
          tags:
            - tag: component
              value: cpu
        - uuid: 630b7b2af6274936ab80b1dd774113e5
          name: 'Number of threads'
          key: 'perf_counter_en["\System\Threads"]'
          description: 'The number of threads used by all running processes.'
          tags:
            - tag: component
              value: os
        - uuid: b305029532f84daf93c8da2d181ac3a1
          name: 'Number of processes'
          key: 'proc.num[]'
          description: 'The number of processes.'
          tags:
            - tag: component
              value: os
        - uuid: c2ed8e2efab04564b6c70ee8ad14730f
          name: 'CPU utilization'
          key: system.cpu.util
          value_type: FLOAT
          units: '%'
          description: 'CPU utilization expressed in %.'
          tags:
            - tag: component
              value: cpu
          triggers:
            - uuid: 806aa232f56640ab98aacc79491fc4d7
              expression: 'min(/Windows by Zabbix agent/system.cpu.util,5m)>{$CPU.UTIL.CRIT}'
              name: 'Windows: High CPU utilization'
              event_name: 'Windows: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)'
              opdata: 'Current utilization: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'CPU utilization is too high. The system might be slow to respond.'
              tags:
                - tag: scope
                  value: performance
        - uuid: cb056886ce72426e833a0445f9263906
          name: 'System name'
          key: system.hostname
          delay: 1h
          value_type: CHAR
          description: 'The host name of the system.'
          inventory_link: NAME
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 6b50d36a4e29468a9546e880f3004399
              expression: 'change(/Windows by Zabbix agent/system.hostname) and length(last(/Windows by Zabbix agent/system.hostname))>0'
              name: 'Windows: System name has changed'
              event_name: 'Windows: 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
        - uuid: 94c4dfe23e2e4c6e995a3a715941a8eb
          name: 'System local time'
          key: system.localtime
          units: unixtime
          description: 'The local system time of the host.'
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 37ca2366c8474cc8a49a605e93377601
              expression: 'fuzzytime(/Windows by Zabbix agent/system.localtime,{$SYSTEM.FUZZYTIME.MAX})=0'
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: 'fuzzytime(/Windows by Zabbix agent/system.localtime,{$SYSTEM.FUZZYTIME.MIN})=1'
              name: 'Windows: System time is out of sync'
              event_name: 'Windows: System time is out of sync (diff with Zabbix server > {$SYSTEM.FUZZYTIME.MAX})'
              priority: WARNING
              description: 'The host''s system time is different from Zabbix server time.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 7e8b3476db6d4322a10cd1a28cbdb7ea
          name: 'Operating system architecture'
          key: system.sw.arch
          delay: 1h
          value_type: CHAR
          description: 'The architecture of the operating system.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: os
        - uuid: c86dd0a8dbba468696cc09a9f9575769
          name: 'Operating system'
          key: system.sw.os
          delay: 1h
          value_type: CHAR
          inventory_link: OS
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: os
          triggers:
            - uuid: 9d5648eb580b41fca95d750113287567
              expression: 'change(/Windows by Zabbix agent/system.sw.os) and length(last(/Windows by Zabbix agent/system.sw.os))>0'
              name: 'Windows: 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: 'Windows: System name has changed'
                  expression: 'change(/Windows by Zabbix agent/system.hostname) and length(last(/Windows by Zabbix agent/system.hostname))>0'
              tags:
                - tag: scope
                  value: notice
        - uuid: 11cac38334544e5cbb028cfd473cb39e
          name: 'Free swap space'
          type: CALCULATED
          key: system.swap.free
          units: B
          params: 'last(//system.swap.size[,total]) - last(//system.swap.size[,total]) / 100 * last(//perf_counter_en["\Paging file(_Total)\% Usage"])'
          description: 'The free space of the swap volume/file expressed in bytes.'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: 9c7e3c843a3045df81dddc5d18de267c
          name: 'Free swap space in %'
          type: DEPENDENT
          key: system.swap.pfree
          value_type: FLOAT
          units: '%'
          description: 'The free space of the swap volume/file expressed in %.'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - 'return (100 - value)'
          master_item:
            key: 'perf_counter_en["\Paging file(_Total)\% Usage"]'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: f981835baf04494eaff2f33f159e0ab5
          name: 'Total swap space'
          key: 'system.swap.size[,total]'
          units: B
          description: 'The total space of the swap volume/file expressed in bytes.'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: b103a2c22fe344f886e9dc9f4e4a65ec
          name: 'System description'
          key: system.uname
          delay: 15m
          value_type: CHAR
          description: 'System description of the host.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
        - uuid: 12503fbf4400488e9b5ff0488f164cb6
          name: Uptime
          key: system.uptime
          delay: 30s
          trends: '0'
          units: uptime
          description: 'The system uptime expressed in the following format: "N days, hh:mm:ss".'
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: d27b9eab4034439f91dff41fe6f043ab
              expression: 'last(/Windows by Zabbix agent/system.uptime)<10m'
              name: 'Windows: Host has been restarted'
              event_name: 'Windows: Host has been restarted (uptime < 10m)'
              priority: WARNING
              description: 'The device uptime is less than 10 minutes.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: f59d6794a6b94e93aced78a688507677
          name: 'Get filesystems'
          key: vfs.fs.get
          history: '0'
          value_type: TEXT
          description: 'The `vfs.fs.get` key acquires raw information set about the filesystems. Later to be extracted by preprocessing in dependent items.'
          tags:
            - tag: component
              value: raw
        - uuid: 09e9a345a0f445b1a65685911f5eb9b0
          name: 'Total memory'
          key: 'vm.memory.size[total]'
          units: B
          description: 'Total memory expressed in bytes.'
          tags:
            - tag: component
              value: memory
        - uuid: 1cbf45e11dab453797fe291639aa0c01
          name: 'Used memory'
          key: 'vm.memory.size[used]'
          units: B
          description: 'Used memory in bytes.'
          tags:
            - tag: component
              value: memory
        - uuid: 3b1e4ecaa04a46e9b0aee956918f0713
          name: 'Memory utilization'
          type: CALCULATED
          key: vm.memory.util
          value_type: FLOAT
          units: '%'
          params: 'last(//vm.memory.size[used]) / last(//vm.memory.size[total]) * 100'
          description: 'Memory utilization in %.'
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: b442993bb2a6404a8ebcb7be39d16ce6
              expression: 'min(/Windows by Zabbix agent/vm.memory.util,5m)>{$MEMORY.UTIL.MAX}'
              name: 'Windows: High memory utilization'
              event_name: 'Windows: 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
        - uuid: 08b70a5b80fd435ba393e3deb3ca5adb
          name: 'Windows: Network interfaces WMI get'
          key: 'wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"]'
          history: '0'
          value_type: TEXT
          description: 'Raw data of `win32_networkadapter.`'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          tags:
            - tag: component
              value: raw
        - uuid: 83c8c6f15b524a2fb04fc90d04d3e8a2
          name: 'Number of cores'
          key: 'wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]'
          description: 'The number of logical processors available on the computer.'
          tags:
            - tag: component
              value: cpu
        - uuid: 3dcb0f79342b4ded97cdec0794472266
          name: 'Zabbix agent availability'
          type: INTERNAL
          key: 'zabbix[host,agent,available]'
          description: 'Used for monitoring the availability status of the agent.'
          valuemap:
            name: zabbix.host.available
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 05beb4500cae480892fad0739f99807d
              expression: 'max(/Windows by Zabbix agent/zabbix[host,agent,available],{$AGENT.TIMEOUT})=0'
              name: 'Windows: Zabbix agent is not available'
              event_name: 'Windows: Zabbix agent is not available (for {$AGENT.TIMEOUT})'
              priority: AVERAGE
              description: 'For passive agents only, host availability is used with `{$AGENT.TIMEOUT}` as a time threshold.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: ba19d6566fdb4a668d4363769d1fee01
          name: 'Network interfaces discovery'
          type: DEPENDENT
          key: net.if.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.MATCHES}'
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.MATCHES}'
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.MATCHES}'
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovery of installed network interfaces.'
          item_prototypes:
            - uuid: 8a7bb1e8afd24d32a65fa2116ba439ce
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded'
              key: 'net.if.in["{#IFGUID}",dropped]'
              delay: 3m
              description: 'The number of incoming packets dropped on the network interface.'
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 6e1f3dfb91024095a20870ee94d01822
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors'
              key: 'net.if.in["{#IFGUID}",errors]'
              delay: 3m
              description: 'The number of incoming packets with errors on the network interface.'
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 82accc942f5747a2b399484466625051
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits received'
              key: 'net.if.in["{#IFGUID}"]'
              delay: 3m
              units: bps
              description: 'Incoming traffic on the network interface.'
              preprocessing:
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 9ddb9aaf863a45c0affbd90e4a6fa393
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded'
              key: 'net.if.out["{#IFGUID}",dropped]'
              delay: 3m
              description: 'The number of outgoing packets dropped on the network interface.'
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 38c8a1aa95b343e39e23e7b508521dad
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors'
              key: 'net.if.out["{#IFGUID}",errors]'
              delay: 3m
              description: 'The number of outgoing packets with errors on the network interface.'
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 3b090da19af842189bb6fa56d49ceec3
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits sent'
              key: 'net.if.out["{#IFGUID}"]'
              delay: 3m
              units: bps
              description: 'Outgoing traffic on the network interface.'
              preprocessing:
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 0445b842d1ce4c7f9fd5716c78a079c4
              name: 'Interface {#IFNAME}({#IFALIAS}): Speed'
              type: DEPENDENT
              key: 'net.if.speed["{#IFGUID}"]'
              trends: '0'
              units: bps
              description: 'Estimated bandwidth of the network interface if any.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.GUID == "{#IFGUID}")].Speed.first()'
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '0'
                - type: JAVASCRIPT
                  parameters:
                    - 'return (value==''9223372036854775807'' ? 0 : value)'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"]'
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: c495bffb7e244e5caf5dc013d839b758
              name: 'Interface {#IFNAME}({#IFALIAS}): Operational status'
              type: DEPENDENT
              key: 'net.if.status["{#IFGUID}"]'
              trends: '0'
              description: 'The operational status of the network interface.'
              valuemap:
                name: 'Win32_NetworkAdapter::NetConnectionStatus'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.GUID == "{#IFGUID}")].NetConnectionStatus.first()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1d
              master_item:
                key: 'wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"]'
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: a9b1c61ac4a6481aab93d40c6fb93462
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"])<>2 and (last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"],#1)<>last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"],#2))'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"])=2 or {$IFCONTROL:"{#IFNAME}"}=0'
                  name: 'Windows: Interface {#IFNAME}({#IFALIAS}): Link down'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: |
                    This trigger expression works as follows:
                    1. It can be triggered if the operations status is down.
                    2. `{$IFCONTROL:"{#IFNAME}"}=1` - a user can redefine 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 the 'eternal off' interfaces.)
                    
                    WARNING: if closed manually - it will not fire again on the next poll, because of .diff.
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: availability
            - uuid: 11ce3d38745a49f58f713fcef1a913c5
              name: 'Interface {#IFNAME}({#IFALIAS}): Interface type'
              type: DEPENDENT
              key: 'net.if.type["{#IFGUID}"]'
              trends: '0'
              description: 'The type of the network interface.'
              valuemap:
                name: 'Win32_NetworkAdapter::AdapterTypeId'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.GUID == "{#IFGUID}")].AdapterTypeId.first()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1d
              master_item:
                key: 'wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"]'
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
          trigger_prototypes:
            - uuid: b2191521a7a54985a19740e3ee2674f2
              expression: |
                change(/Windows by Zabbix agent/net.if.speed["{#IFGUID}"])<0 and
                last(/Windows by Zabbix agent/net.if.speed["{#IFGUID}"])>0 and
                last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"])=2
              name: 'Windows: 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: 'Windows: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"])<>2 and (last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"],#1)<>last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"],#2))'
                  recovery_expression: 'last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"])=2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: capacity
            - uuid: c93048183c3942808c60d6dd61963bc0
              expression: |
                (avg(/Windows by Zabbix agent/net.if.in["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Zabbix agent/net.if.speed["{#IFGUID}"]) or
                avg(/Windows by Zabbix agent/net.if.out["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Zabbix agent/net.if.speed["{#IFGUID}"])) and
                last(/Windows by Zabbix agent/net.if.speed["{#IFGUID}"])>0
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                avg(/Windows by Zabbix agent/net.if.in["{#IFGUID}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Windows by Zabbix agent/net.if.speed["{#IFGUID}"]) and
                avg(/Windows by Zabbix agent/net.if.out["{#IFGUID}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Windows by Zabbix agent/net.if.speed["{#IFGUID}"])
              name: 'Windows: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage'
              event_name: 'Windows: 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: 'Windows: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"])<>2 and (last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"],#1)<>last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"],#2))'
                  recovery_expression: 'last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"])=2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: a4fa6e161bb64b98b25b1a2a501a83f4
              expression: |
                min(/Windows by Zabbix agent/net.if.in["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
                or min(/Windows by Zabbix agent/net.if.out["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                max(/Windows by Zabbix agent/net.if.in["{#IFGUID}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
                and max(/Windows by Zabbix agent/net.if.out["{#IFGUID}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
              name: 'Windows: Interface {#IFNAME}({#IFALIAS}): High error rate'
              event_name: 'Windows: 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: 'Windows: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"])<>2 and (last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"],#1)<>last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"],#2))'
                  recovery_expression: 'last(/Windows by Zabbix agent/net.if.status["{#IFGUID}"])=2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: availability
          graph_prototypes:
            - uuid: 5cbfad75590746718cf4eabbeeea43f3
              name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'Windows by Zabbix agent'
                    key: 'net.if.in["{#IFGUID}"]'
                - sortorder: '1'
                  drawtype: BOLD_LINE
                  color: F63100
                  item:
                    host: 'Windows by Zabbix agent'
                    key: 'net.if.out["{#IFGUID}"]'
                - sortorder: '2'
                  color: 00611C
                  yaxisside: RIGHT
                  item:
                    host: 'Windows by Zabbix agent'
                    key: 'net.if.out["{#IFGUID}",errors]'
                - sortorder: '3'
                  color: F7941D
                  yaxisside: RIGHT
                  item:
                    host: 'Windows by Zabbix agent'
                    key: 'net.if.in["{#IFGUID}",errors]'
                - sortorder: '4'
                  color: FC6EA3
                  yaxisside: RIGHT
                  item:
                    host: 'Windows by Zabbix agent'
                    key: 'net.if.out["{#IFGUID}",dropped]'
                - sortorder: '5'
                  color: 6C59DC
                  yaxisside: RIGHT
                  item:
                    host: 'Windows by Zabbix agent'
                    key: 'net.if.in["{#IFGUID}",dropped]'
          master_item:
            key: 'wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"]'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  output = JSON.parse(value).map(function(net){
                  	return {
                  		"{#IFNAME}": net.Name,
                  		"{#IFDESCR}": net.Description,
                  		"{#IFALIAS}": net.NetConnectionID,
                  		"{#IFGUID}": net.GUID
                  	}})
                  return JSON.stringify({"data": output})
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: 8f155ebc6fd045b3b7548010af1a73c7
          name: 'Physical disks discovery'
          key: 'perf_instance_en.discovery[PhysicalDisk]'
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#DEVNAME}'
                value: '{$VFS.DEV.DEVNAME.MATCHES}'
              - macro: '{#DEVNAME}'
                value: '{$VFS.DEV.DEVNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovery of installed physical disks.'
          item_prototypes:
            - uuid: 821f46bbf9d7432e9ea0d5f93a868269
              name: '{#DEVNAME}: Disk utilization by idle time'
              key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\% Idle Time",60]'
              value_type: FLOAT
              units: '%'
              description: 'This item is the percentage of elapsed time that the selected disk drive was busy servicing read or writes requests based on idle time.'
              preprocessing:
                - type: JAVASCRIPT
                  parameters:
                    - 'return (100 - value)'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
              trigger_prototypes:
                - uuid: 4777fa000fa9460baab1fd7bc7e40604
                  expression: 'min(/Windows by Zabbix agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\% Idle Time",60],15m)>{$VFS.DEV.UTIL.MAX.WARN}'
                  name: 'Windows: {#DEVNAME}: Disk is overloaded'
                  event_name: 'Windows: {#DEVNAME}: Disk is overloaded (util > {$VFS.DEV.UTIL.MAX.WARN}% for 15m)'
                  priority: WARNING
                  description: 'The disk appears to be under heavy load.'
                  manual_close: 'YES'
                  dependencies:
                    - name: 'Windows: {#DEVNAME}: Disk read request responses are too high'
                      expression: 'min(/Windows by Zabbix agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"}'
                    - name: 'Windows: {#DEVNAME}: Disk write request responses are too high'
                      expression: 'min(/Windows by Zabbix agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"}'
                  tags:
                    - tag: scope
                      value: performance
            - uuid: 77e33448596a498ba211d23a1977e9ca
              name: '{#DEVNAME}: Average disk read queue length'
              key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Read Queue Length",60]'
              value_type: FLOAT
              description: 'Average disk read queue, the number of requests outstanding on the disk at the time the performance data is collected.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 7d91ed70bc3b4ef2a7991b3a5ba3bde4
              name: '{#DEVNAME}: Disk read request avg waiting time'
              key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60]'
              value_type: FLOAT
              units: s
              description: 'The average time for read requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
              trigger_prototypes:
                - uuid: 85a8c002b3d84121ad2e73c8aced0987
                  expression: 'min(/Windows by Zabbix agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"}'
                  name: 'Windows: {#DEVNAME}: Disk read request responses are too high'
                  event_name: 'Windows: {#DEVNAME}: Disk read request responses are too high (read > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"}s for 15m)'
                  priority: WARNING
                  description: 'This trigger might indicate the disk {#DEVNAME} saturation.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: performance
            - uuid: 898784d050664f8eaf197ebebc16077e
              name: '{#DEVNAME}: Disk write request avg waiting time'
              key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60]'
              value_type: FLOAT
              units: s
              description: 'The average time for write requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
              trigger_prototypes:
                - uuid: db6809fd85e241948fb5ef76cb7cc17b
                  expression: 'min(/Windows by Zabbix agent/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"}'
                  name: 'Windows: {#DEVNAME}: Disk write request responses are too high'
                  event_name: 'Windows: {#DEVNAME}: Disk write request responses are too high (write > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"}s for 15m)'
                  priority: WARNING
                  description: 'This trigger might indicate the disk {#DEVNAME} saturation.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: performance
            - uuid: 71a2c065efaa437fb7296972f516bd82
              name: '{#DEVNAME}: Average disk write queue length'
              key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Write Queue Length",60]'
              value_type: FLOAT
              description: 'Average disk write queue, the number of requests outstanding on the disk at the time the performance data is collected.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: b49884669dbf43cc95ea3d27fb23698c
              name: '{#DEVNAME}: Disk average queue size (avgqu-sz)'
              key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Current Disk Queue Length",60]'
              value_type: FLOAT
              description: 'The current average disk queue; the number of requests outstanding on the disk while the performance data is being collected.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 390c6e4f2c134ae2939810892eefd6f7
              name: '{#DEVNAME}: Disk read rate'
              key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Reads/sec",60]'
              value_type: FLOAT
              units: '!r/s'
              description: 'Rate of read operations on the disk.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 6353d621a9c4415c94247208fc996075
              name: '{#DEVNAME}: Disk write rate'
              key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Writes/sec",60]'
              value_type: FLOAT
              units: '!w/s'
              description: 'Rate of write operations on the disk.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
          graph_prototypes:
            - uuid: 6d37f811023b4f65a071b1deb9b1b8ec
              name: '{#DEVNAME}: Disk average queue length'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'Windows by Zabbix agent'
                    key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Read Queue Length",60]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'Windows by Zabbix agent'
                    key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Write Queue Length",60]'
            - uuid: f54bdfb7e0c7471f80b8ca599bc4f904
              name: '{#DEVNAME}: Disk average waiting time'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'Windows by Zabbix agent'
                    key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60]'
                - sortorder: '1'
                  drawtype: GRADIENT_LINE
                  color: F63100
                  item:
                    host: 'Windows by Zabbix agent'
                    key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60]'
            - uuid: 339a20ba0d3f4ba4a05aee0611124819
              name: '{#DEVNAME}: Disk read/write rates'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'Windows by Zabbix agent'
                    key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Reads/sec",60]'
                - sortorder: '1'
                  drawtype: GRADIENT_LINE
                  color: F63100
                  item:
                    host: 'Windows by Zabbix agent'
                    key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Writes/sec",60]'
            - uuid: bc71dc24634742028a5c8384dcaa0f32
              name: '{#DEVNAME}: Disk utilization and queue'
              graph_items:
                - color: 199C0D
                  yaxisside: RIGHT
                  item:
                    host: 'Windows by Zabbix agent'
                    key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Current Disk Queue Length",60]'
                - sortorder: '1'
                  drawtype: GRADIENT_LINE
                  color: F63100
                  item:
                    host: 'Windows by Zabbix agent'
                    key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\% Idle Time",60]'
          preprocessing:
            - type: STR_REPLACE
              parameters:
                - '{#INSTANCE}'
                - '{#DEVNAME}'
        - uuid: cabcad5c3520448f8e1bf222be348b81
          name: 'Windows services discovery'
          key: service.discovery
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#SERVICE.NAME}'
                value: '{$SERVICE.NAME.MATCHES}'
              - macro: '{#SERVICE.NAME}'
                value: '{$SERVICE.NAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#SERVICE.STARTUPNAME}'
                value: '{$SERVICE.STARTUPNAME.MATCHES}'
              - macro: '{#SERVICE.STARTUPNAME}'
                value: '{$SERVICE.STARTUPNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Used for the discovery of Windows services of different types as defined in the template''s macros.'
          item_prototypes:
            - uuid: dd5a027d75fc4ff1a3bb6e69c0d8d592
              name: 'State of service "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME})'
              key: 'service.info["{#SERVICE.NAME}",state]'
              valuemap:
                name: 'Windows service state'
              tags:
                - tag: component
                  value: system
                - tag: name
                  value: '{#SERVICE.DISPLAYNAME}'
                - tag: service
                  value: '{#SERVICE.NAME}'
              trigger_prototypes:
                - uuid: 4708592603db4577b26cb6daade41754
                  expression: 'min(/Windows by Zabbix agent/service.info["{#SERVICE.NAME}",state],#3)<>0'
                  name: 'Windows: "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) is not running'
                  event_name: 'Windows: "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) is not running (startup type {#SERVICE.STARTUPNAME})'
                  priority: AVERAGE
                  description: 'The service has a state other than "Running" for the last three times.'
                  tags:
                    - tag: scope
                      value: notice
        - uuid: c22b79b52f9148728095bda2796a753e
          name: 'Mounted filesystem discovery'
          type: DEPENDENT
          key: vfs.fs.dependent.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#FSDRIVETYPE}'
                value: '{$VFS.FS.FSDRIVETYPE.MATCHES}'
              - macro: '{#FSDRIVETYPE}'
                value: '{$VFS.FS.FSDRIVETYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#FSNAME}'
                value: '{$VFS.FS.FSNAME.MATCHES}'
              - macro: '{#FSNAME}'
                value: '{$VFS.FS.FSNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#FSTYPE}'
                value: '{$VFS.FS.FSTYPE.MATCHES}'
              - macro: '{#FSTYPE}'
                value: '{$VFS.FS.FSTYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovery of filesystems of different types.'
          item_prototypes:
            - uuid: e2c12d52e2f14720b9458b89a8b4e41a
              name: 'FS [{#FSLABEL}({#FSNAME})]: Space: Available'
              type: DEPENDENT
              key: 'vfs.fs.dependent.size[{#FSNAME},free]'
              units: B
              description: 'Available storage space expressed in bytes.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.bytes.free
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
            - uuid: 7bf3bd42cdf444389e6953090900c620
              name: 'FS [{#FSLABEL}({#FSNAME})]: Space: Used, in %'
              type: DEPENDENT
              key: 'vfs.fs.dependent.size[{#FSNAME},pused]'
              value_type: FLOAT
              units: '%'
              description: 'Calculated as the percentage of currently used space compared to the maximum available space.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.bytes.pused
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
              trigger_prototypes:
                - uuid: d3e99134a1d04894918f2c92ff38cb92
                  expression: 'min(/Windows by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSLABEL}({#FSNAME})"}'
                  name: 'Windows: FS [{#FSLABEL}({#FSNAME})]: Space is critically low'
                  event_name: 'Windows: FS [{#FSLABEL}({#FSNAME})]: Space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"{#FSLABEL}({#FSNAME})"}%, total {{?last(//vfs.fs.dependent.size[{#FSNAME},total])/1024/1024/1024}.fmtnum(1)}GB)'
                  opdata: 'Space used: {{ITEM.LASTVALUE1}.fmtnum(1)}%'
                  priority: AVERAGE
                  description: |
                    The volume's space usage exceeds the `{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%` limit.
                    The trigger expression is based on the current used and maximum available spaces.
                    Event name represents the total volume space, which can differ from the maximum available space, depending on the filesystem type.
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: capacity
                - uuid: 97115bbe4f6b4a8cb2873b8fa01f95d3
                  expression: 'min(/Windows by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.WARN:"{#FSLABEL}({#FSNAME})"}'
                  name: 'Windows: FS [{#FSLABEL}({#FSNAME})]: Space is low'
                  event_name: 'Windows: FS [{#FSLABEL}({#FSNAME})]: Space is low (used > {$VFS.FS.PUSED.MAX.WARN:"{#FSLABEL}({#FSNAME})"}%, total {{?last(//vfs.fs.dependent.size[{#FSNAME},total])/1024/1024/1024}.fmtnum(1)}GB)'
                  opdata: 'Space used: {{ITEM.LASTVALUE1}.fmtnum(1)}%'
                  priority: WARNING
                  description: |
                    The volume's space usage exceeds the `{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}%` limit.
                    The trigger expression is based on the current used and maximum available spaces.
                    Event name represents the total volume space, which can differ from the maximum available space, depending on the filesystem type.
                  manual_close: 'YES'
                  dependencies:
                    - name: 'Windows: FS [{#FSLABEL}({#FSNAME})]: Space is critically low'
                      expression: 'min(/Windows by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSLABEL}({#FSNAME})"}'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: capacity
            - uuid: 69378521b7e844ec89afe753a7cba30e
              name: 'FS [{#FSLABEL}({#FSNAME})]: Space: Total'
              type: DEPENDENT
              key: 'vfs.fs.dependent.size[{#FSNAME},total]'
              units: B
              description: 'Total space expressed in bytes.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.bytes.total
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
            - uuid: a29509b4b7f24c25a768e88e0c23c154
              name: 'FS [{#FSLABEL}({#FSNAME})]: Space: Used'
              type: DEPENDENT
              key: 'vfs.fs.dependent.size[{#FSNAME},used]'
              units: B
              description: 'Used storage expressed in bytes.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.bytes.used
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
            - uuid: bf93dcebfe504ac0a45cf3ef76cd1dc7
              name: 'FS [{#FSLABEL}({#FSNAME})]: Get data'
              type: DEPENDENT
              key: 'vfs.fs.dependent[{#FSNAME},data]'
              history: 1h
              value_type: TEXT
              description: 'Intermediate data of `{#FSNAME}` filesystem.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.[?(@.fsname==''{#FSNAME}'')].first()'
              master_item:
                key: vfs.fs.get
              tags:
                - tag: component
                  value: raw
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
          graph_prototypes:
            - uuid: b948d7a79a974b2b9f5d32c4a19d7410
              name: 'FS [{#FSLABEL}({#FSNAME})]: Space usage graph, in %'
              width: '600'
              height: '340'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: FILLED_REGION
                  color: F63100
                  calc_fnc: ALL
                  item:
                    host: 'Windows by Zabbix agent'
                    key: 'vfs.fs.dependent.size[{#FSNAME},pused]'
            - uuid: f80e47b8d4db4c378f25056c02b72382
              name: 'FS [{#FSLABEL}({#FSNAME})]: Space utilization chart'
              width: '600'
              height: '340'
              type: PIE
              show_3d: 'YES'
              graph_items:
                - color: '787878'
                  calc_fnc: LAST
                  type: GRAPH_SUM
                  item:
                    host: 'Windows by Zabbix agent'
                    key: 'vfs.fs.dependent.size[{#FSNAME},total]'
                - sortorder: '1'
                  color: F63100
                  calc_fnc: LAST
                  item:
                    host: 'Windows by Zabbix agent'
                    key: 'vfs.fs.dependent.size[{#FSNAME},used]'
                - sortorder: '2'
                  color: 199C09
                  calc_fnc: LAST
                  item:
                    host: 'Windows by Zabbix agent'
                    key: 'vfs.fs.dependent.size[{#FSNAME},free]'
          master_item:
            key: vfs.fs.get
          lld_macro_paths:
            - lld_macro: '{#FSDRIVETYPE}'
              path: $.fsdrivetype
            - lld_macro: '{#FSLABEL}'
              path: $.fslabel
            - lld_macro: '{#FSNAME}'
              path: $.fsname
            - lld_macro: '{#FSTYPE}'
              path: $.fstype
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var filesystems = JSON.parse(value);
                  
                  result = filesystems.map(function (filesystem) {
                  	return {
                  		'fsname': filesystem.fsname,
                  		'fstype': filesystem.fstype,
                  		'fslabel': filesystem.fslabel,
                  		'fsdrivetype': filesystem.fsdrivetype
                  	};
                  });
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
      tags:
        - tag: class
          value: os
        - tag: target
          value: windows
      macros:
        - macro: '{$AGENT.TIMEOUT}'
          value: 3m
          description: 'Timeout after which agent is considered unavailable. Works only for agents reachable from Zabbix server/proxy (passive mode).'
          config:
            type: TEXT
            priority: '1'
            label: 'Seconds since the last Zabbix agent seen'
            description: 'Timeout after which agent is considered unavailable.'
        - macro: '{$CPU.INTERRUPT.CRIT.MAX}'
          value: '50'
          description: 'The critical threshold of the % Interrupt Time counter.'
          config:
            type: TEXT
            priority: '3'
            section_name: Thresholds
            label: 'Threshold for Interrupt Time counter (critical)'
            description: 'Critical threshold of the % Interrupt Time counter. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$CPU.PRIV.CRIT.MAX}'
          value: '30'
          description: 'The threshold of the % Privileged Time counter.'
          config:
            type: TEXT
            priority: '4'
            section_name: Thresholds
            label: 'Threshold for Privileged Time counter (critical)'
            description: 'Threshold of the % Privileged Time counter. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$CPU.QUEUE.CRIT.MAX}'
          value: '3'
          description: 'The threshold of the Processor Queue Length counter.'
          config:
            type: TEXT
            priority: '5'
            section_name: Thresholds
            label: 'Threshold for Processor Queue Length counter (critical)'
            description: 'Threshold of the Processor Queue Length counter. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$CPU.UTIL.CRIT}'
          value: '90'
          description: 'The critical threshold of the CPU utilization expressed in %.'
          config:
            type: TEXT
            priority: '2'
            section_name: Thresholds
            label: 'Threshold of the CPU utilization'
            description: 'Critical threshold of the CPU utilization expressed in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.ERRORS.WARN}'
          value: '2'
          description: 'Warning threshold of error packet rate. Can be used with interface name as context.'
          config:
            type: TEXT
            priority: '27'
            section_name: Thresholds
            label: 'Threshold of error packet rate'
            description: 'Warning threshold of error packet rate. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the interface utilization trigger.'
          config:
            type: TEXT
            priority: '26'
            section_name: Thresholds
            label: 'The threshold in the interface utilization'
            description: 'Used as a threshold in the interface utilization trigger. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IFCONTROL}'
          value: '1'
          description: 'Macro for the interface operational state for the "link down" trigger. Can be used with interface name as context.'
          config:
            type: CHECKBOX
            priority: '25'
            label: 'Interfaces control'
            description: 'Fire a trigger when the interface operational status changes to "Link down".'
            options:
              - checked: '1'
                unchecked: '0'
        - macro: '{$MEM.PAGE_SEC.CRIT.MAX}'
          value: '1000'
          description: 'The warning threshold of the Memory Pages/sec counter.'
          config:
            type: TEXT
            priority: '9'
            section_name: Thresholds
            label: 'Threshold of the Memory Pages/sec counter (critical)'
            description: 'Critical threshold of the Memory Pages/sec counter.'
        - macro: '{$MEM.PAGE_TABLE_CRIT.MIN}'
          value: '5000'
          description: 'The warning threshold of the Free System Page Table Entries counter.'
          config:
            type: TEXT
            priority: '8'
            section_name: Thresholds
            label: 'Threshold of the Free System Page Table Entries counter (critical)'
            description: 'Critical threshold of the Free System Page Table Entries counter.'
        - macro: '{$MEMORY.UTIL.MAX}'
          value: '90'
          description: 'The warning threshold of the Memory util item.'
          config:
            type: TEXT
            priority: '6'
            section_name: Thresholds
            label: 'Threshold of the Memory utilization'
            description: 'Warning threshold of the Memory util item. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$NET.IF.IFALIAS.MATCHES}'
          value: '.*'
          description: 'Used in Network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '30'
            section_name: Filters
            label: 'Filter for network interfaces by alias'
            description: 'Regex string to include discovered interface by alias.'
        - macro: '{$NET.IF.IFALIAS.NOT_MATCHES}'
          value: CHANGE_THIS
          description: 'Used in Network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '31'
            section_name: Filters
            label: 'Filter for network interfaces by alias (exclude)'
            description: 'Regex string to exclude discovered interface by alias.'
        - macro: '{$NET.IF.IFDESCR.MATCHES}'
          value: '.*'
          description: 'Used in Network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '32'
            section_name: Filters
            label: 'Filter for network interfaces by description'
            description: 'Regex string to include discovered interface by description.'
        - macro: '{$NET.IF.IFDESCR.NOT_MATCHES}'
          value: CHANGE_THIS
          description: 'Used in Network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '33'
            section_name: Filters
            label: 'Filter for network interfaces by description (exclude)'
            description: 'Regex string to exclude discovered interface by description.'
        - macro: '{$NET.IF.IFNAME.MATCHES}'
          value: '.*'
          description: 'Used in Network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '28'
            section_name: Filters
            label: 'Filter for network interface by name.'
            description: 'Regex string to include discovered interface by name.'
        - macro: '{$NET.IF.IFNAME.NOT_MATCHES}'
          value: Miniport|Virtual|Teredo|Kernel|Loopback|Bluetooth|HTTPS|6to4|QoS|Layer
          description: 'Used in Network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '29'
            section_name: Filters
            label: 'Filter for network interface by name (exclude).'
            description: 'Filters out `loopbacks`, `nulls`, docker `veth` links and `docker0` bridge by default.'
        - macro: '{$SERVICE.NAME.MATCHES}'
          value: '^.*$'
          description: 'Used in Service discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '34'
            section_name: Filters
            label: 'Filter for service by name'
            description: 'Regex string to include discovered service by name.'
        - macro: '{$SERVICE.NAME.NOT_MATCHES}'
          value: '^(?:RemoteRegistry|MMCSS|gupdate|SysmonLog|clr_optimization_v.+|sppsvc|gpsvc|Pml Driver HPZ12|Net Driver HPZ12|MapsBroker|IntelAudioService|Intel\(R\) TPM Provisioning Service|dbupdate|DoSvc|CDPUserSvc_.+|WpnUserService_.+|OneSyncSvc_.+|WbioSrvc|BITS|tiledatamodelsvc|GISvc|ShellHWDetection|TrustedInstaller|TabletInputService|CDPSvc|wuauserv|edgeupdate|cbdhsvc_.+)$'
          description: 'Used in Service discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '35'
            section_name: Filters
            label: 'Filter for service by name (exclude)'
            description: 'Regex string to exclude discovered service by name.'
        - macro: '{$SERVICE.STARTUPNAME.MATCHES}'
          value: '^(?:automatic|automatic delayed)$'
          description: 'Used in Service discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '36'
            section_name: Filters
            label: 'Filter for service by startup name'
            description: 'Regex string to include discovered service by startup name.'
        - macro: '{$SERVICE.STARTUPNAME.NOT_MATCHES}'
          value: '^(?:manual|disabled)$'
          description: 'Used in Service discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '37'
            section_name: Filters
            label: 'Filter for service by startup name (exclude)'
            description: 'Regex string to exclude discovered service by startup name.'
        - macro: '{$SWAP.PFREE.MIN.WARN}'
          value: '20'
          description: 'The warning threshold of the minimum free swap.'
          config:
            type: TEXT
            priority: '7'
            section_name: Thresholds
            label: 'Threshold of the minimum free swap'
            description: 'Warning threshold of the minimum free swap. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$SYSTEM.FUZZYTIME.MAX}'
          value: 60s
          description: 'The upper threshold for difference of system time.'
          config:
            type: TEXT
            priority: '24'
            section_name: Thresholds
            label: 'The upper threshold for difference of system time.'
            description: 'Upper threshold for difference of system time.'
        - macro: '{$SYSTEM.FUZZYTIME.MIN}'
          value: 10s
          description: 'The lower threshold for difference of system time. Used in recovery expression to avoid trigger flapping.'
          config:
            type: TEXT
            priority: '23'
            section_name: Thresholds
            label: 'The lower threshold for difference of system time.'
            description: 'Lower threshold for difference of system time.'
        - macro: '{$VFS.DEV.DEVNAME.MATCHES}'
          value: '.*'
          description: 'Used in physical disk discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '21'
            section_name: Filters
            label: 'Filter for physical disk by name'
            description: 'Regex string to include discovered physical disk by name.'
        - macro: '{$VFS.DEV.DEVNAME.NOT_MATCHES}'
          value: _Total
          description: 'Used in physical disk discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '22'
            section_name: Filters
            label: 'Filter for physical disk by name (exclude)'
            description: 'Regex string to exclude discovered physical disk by name.'
        - macro: '{$VFS.DEV.READ.AWAIT.WARN}'
          value: '0.02'
          description: 'Disk read average response time (in s) before the trigger fires.'
          config:
            type: TEXT
            priority: '19'
            section_name: Thresholds
            label: 'Disk read average response time (in s)'
            description: 'Disk read average response time (in s) before the trigger fires. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.DEV.UTIL.MAX.WARN}'
          value: '95'
          description: 'The warning threshold of disk time utilization in percent.'
          config:
            type: TEXT
            priority: '18'
            section_name: Thresholds
            label: 'Threshold for disk time utilization'
            description: 'Warning threshold of disk time utilization in percent. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.DEV.WRITE.AWAIT.WARN}'
          value: '0.02'
          description: 'Disk write average response time (in s) before the trigger fires.'
          config:
            type: TEXT
            priority: '20'
            section_name: Thresholds
            label: 'Disk write average response time (in s)'
            description: 'Disk write average response time (in s) before the trigger fires. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.FSDRIVETYPE.MATCHES}'
          value: fixed
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '16'
            section_name: Filters
            label: 'Filter for filesystems by drive type'
            description: 'Regex string to include discovered filesystems by drive type.'
        - macro: '{$VFS.FS.FSDRIVETYPE.NOT_MATCHES}'
          value: ^\s$
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '17'
            section_name: Filters
            label: 'Filter for filesystems by drive type (exclude)'
            description: 'Regex string to exclude discovered filesystems by drive type.'
        - macro: '{$VFS.FS.FSNAME.MATCHES}'
          value: '.*'
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '12'
            section_name: Filters
            label: 'Filter for filesystems by name'
            description: 'Regex string to include discovered filesystems by name.'
        - macro: '{$VFS.FS.FSNAME.NOT_MATCHES}'
          value: '^(?:/dev|/sys|/run|/proc|.+/shm$)'
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '13'
            section_name: Filters
            label: 'Filter for filesystems by name (exclude)'
            description: 'Regex string to exclude discovered filesystems by name.'
        - macro: '{$VFS.FS.FSTYPE.MATCHES}'
          value: '.*'
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '14'
            section_name: Filters
            label: 'Filter for filesystems by type'
            description: 'Regex string to include discovered filesystems by type.'
        - macro: '{$VFS.FS.FSTYPE.NOT_MATCHES}'
          value: ^\s$
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '15'
            section_name: Filters
            label: 'Filter for filesystems by type (exclude)'
            description: 'Regex string to exclude discovered filesystems by type.'
        - macro: '{$VFS.FS.PUSED.MAX.CRIT}'
          value: '90'
          description: 'The critical threshold of the filesystem utilization.'
          config:
            type: TEXT
            priority: '11'
            section_name: Thresholds
            label: 'Threshold for filesystem utilization (critical)'
            description: 'Critical threshold of the filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.WARN}'
          value: '80'
          description: 'The warning threshold of the filesystem utilization.'
          config:
            type: TEXT
            priority: '10'
            section_name: Thresholds
            label: 'Threshold for filesystem utilization (warning)'
            description: 'Warning threshold of the filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
      dashboards:
        - uuid: 4959d0164ef44866a529ba390a997666
          name: Filesystems
          pages:
            - name: Overview
              widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '3'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent'
                        name: 'FS [{#FSLABEL}({#FSNAME})]: Space utilization chart'
                    - type: STRING
                      name: reference
                      value: AAAEB
                - type: graphprototype
                  'y': '5'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent'
                        name: 'FS [{#FSLABEL}({#FSNAME})]: Space usage graph, in %'
                    - type: STRING
                      name: reference
                      value: AAAEC
        - uuid: 49212562a208434d9766aa82240230fd
          name: 'Network interfaces'
          pages:
            - name: Overview
              widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent'
                        name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAI
        - uuid: 5f494fac9dc94bf3827b67ea212240f2
          name: 'System performance'
          pages:
            - widgets:
                - type: graph
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent'
                        name: 'Windows: CPU usage'
                    - type: STRING
                      name: reference
                      value: AAAAA
                - type: graph
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent'
                        name: 'Windows: Memory utilization'
                    - type: STRING
                      name: reference
                      value: AAAAC
                - type: graphprototype
                  'y': '10'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '3'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent'
                        name: 'FS [{#FSLABEL}({#FSNAME})]: Space utilization chart'
                    - type: STRING
                      name: reference
                      value: AAAEA
                - type: graphprototype
                  'y': '15'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent'
                        name: '{#DEVNAME}: Disk read/write rates'
                    - type: STRING
                      name: reference
                      value: AAAAF
                - type: graphprototype
                  'y': '20'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent'
                        name: '{#DEVNAME}: Disk utilization and queue'
                    - type: STRING
                      name: reference
                      value: AAAAG
                - type: graphprototype
                  'y': '25'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent'
                        name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAH
                - type: graph
                  x: '36'
                  width: '36'
                  height: '5'
                  fields:
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'Windows by Zabbix agent'
                        key: 'perf_counter_en["\System\Processor Queue Length"]'
                    - type: STRING
                      name: reference
                      value: AAAAB
                    - type: INTEGER
                      name: source_type
                      value: '1'
                - type: graph
                  x: '36'
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent'
                        name: 'Windows: Swap usage'
                    - type: STRING
                      name: reference
                      value: AAAAD
      valuemaps:
        - uuid: 9b087b9bfa09434ea0d0b5c32577abcc
          name: 'Win32_NetworkAdapter::AdapterTypeId'
          mappings:
            - value: '0'
              newvalue: 'Ethernet 802.3'
            - value: '1'
              newvalue: 'Token Ring 802.5'
            - value: '2'
              newvalue: 'Fiber Distributed Data Interface (FDDI)'
            - value: '3'
              newvalue: 'Wide Area Network (WAN)'
            - value: '4'
              newvalue: LocalTalk
            - value: '5'
              newvalue: 'Ethernet using DIX header format'
            - value: '6'
              newvalue: ARCNET
            - value: '7'
              newvalue: 'ARCNET (878.2)'
            - value: '8'
              newvalue: ATM
            - value: '9'
              newvalue: Wireless
            - value: '10'
              newvalue: 'Infrared Wireless'
            - value: '11'
              newvalue: Bpc
            - value: '12'
              newvalue: CoWan
            - value: '13'
              newvalue: '1394'
        - uuid: 7e549195e83446228db8bf1101bea83d
          name: 'Win32_NetworkAdapter::NetConnectionStatus'
          mappings:
            - value: '0'
              newvalue: Disconnected
            - value: '1'
              newvalue: Connecting
            - value: '2'
              newvalue: Connected
            - value: '3'
              newvalue: Disconnecting
            - value: '4'
              newvalue: 'Hardware Not Present'
            - value: '5'
              newvalue: 'Hardware Disabled'
            - value: '6'
              newvalue: 'Hardware Malfunction'
            - value: '7'
              newvalue: 'Media Disconnected'
            - value: '8'
              newvalue: Authenticating
            - value: '9'
              newvalue: 'Authentication Succeeded'
            - value: '10'
              newvalue: 'Authentication Failed'
            - value: '11'
              newvalue: 'Invalid Address'
            - value: '12'
              newvalue: 'Credentials Required'
        - uuid: 3f685167f97c492598ad445fc938560f
          name: 'Windows service state'
          mappings:
            - value: '0'
              newvalue: Running
            - value: '1'
              newvalue: Paused
            - value: '2'
              newvalue: 'Start pending'
            - value: '3'
              newvalue: 'Pause pending'
            - value: '4'
              newvalue: 'Continue pending'
            - value: '5'
              newvalue: 'Stop pending'
            - value: '6'
              newvalue: Stopped
            - value: '7'
              newvalue: Unknown
            - value: '255'
              newvalue: 'No such service'
        - uuid: c80233756c9d43769f334d632da07b8c
          name: zabbix.host.available
          mappings:
            - value: '0'
              newvalue: 'not available'
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: unknown
        - uuid: 5d3e53f3090448c7aaf081eb32b28ced
          name: 'Zabbix agent ping status'
          mappings:
            - value: '1'
              newvalue: Up
    - uuid: 5fdd2ca8b8f84962aaea5a218b46ea7d
      template: 'Windows by Zabbix agent active'
      name: 'Windows by Zabbix agent active'
      description: |
        This is an official Windows template. It requires Zabbix agent 7.4 or newer.
        
        You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387224-discussion-thread-for-official-zabbix-template-for-windows
        
        Generated by official Zabbix template tool "Templator"
      wizard_ready: 'YES'
      readme: |
        ## Overview
        
        This is an official Windows template. It requires Zabbix agent 7.4 or newer.
      vendor:
        name: Zabbix
        version: 7.4-2
      groups:
        - name: 'Templates/Operating systems'
      items:
        - uuid: 042ce35b908748c8bdd322f818c52c85
          name: 'Host name of Zabbix agent running'
          type: ZABBIX_ACTIVE
          key: agent.hostname
          delay: 1h
          value_type: CHAR
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
        - uuid: bd8864ac5450401b9ad479c1ee455805
          name: 'Zabbix agent ping'
          type: ZABBIX_ACTIVE
          key: agent.ping
          description: 'The agent always returns "1" for this item. May be used in combination with `nodata()` for the availability check.'
          valuemap:
            name: 'Zabbix agent ping status'
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: e77c3b1849b64d45a3078794057a2582
              expression: 'nodata(/Windows by Zabbix agent active/agent.ping,{$AGENT.NODATA_TIMEOUT})=1'
              name: 'Windows: Zabbix agent is not available'
              event_name: 'Windows: Zabbix agent is not available (or nodata for {$AGENT.NODATA_TIMEOUT})'
              priority: AVERAGE
              description: 'For active agents, `nodata()` with `agent.ping` is used with `{$AGENT.NODATA_TIMEOUT}` as a time threshold.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: availability
        - uuid: 41cec8b443a94efc9ebca6f66c46ad8a
          name: 'Version of Zabbix agent running'
          type: ZABBIX_ACTIVE
          key: agent.version
          delay: 1h
          value_type: CHAR
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: application
        - uuid: 20dceb831b1a4d63af7635656239c495
          name: 'Cache bytes'
          type: ZABBIX_ACTIVE
          key: 'perf_counter_en["\Memory\Cache Bytes"]'
          units: B
          description: 'Cache Bytes is the sum of the Memory\\System Cache Resident Bytes, Memory\\System Driver Resident Bytes, Memory\\System Code Resident Bytes, and Memory\\Pool Paged Resident Bytes counters. This counter displays the last observed value only; it is not an average.'
          tags:
            - tag: component
              value: memory
        - uuid: 71bb18af403248c7818d16444a2eec06
          name: 'Free system page table entries'
          type: ZABBIX_ACTIVE
          key: 'perf_counter_en["\Memory\Free System Page Table Entries"]'
          description: 'This indicates the number of page table entries not currently in use by the system. If the number is less than 5,000, there may be a memory leak or you running out of memory.'
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: 37d6b965dd184b66b37018d4375d3e56
              expression: 'max(/Windows by Zabbix agent active/perf_counter_en["\Memory\Free System Page Table Entries"],5m)<{$MEM.PAGE_TABLE_CRIT.MIN}'
              name: 'Windows: Number of free system page table entries is too low'
              event_name: 'Windows: Number of free system page table entries is too low (less {$MEM.PAGE_TABLE_CRIT.MIN} for 5m)'
              priority: WARNING
              description: '`Memory\Free System Page Table Entries` has been less than `{$MEM.PAGE_TABLE_CRIT.MIN}` for 5 minutes. If the number is less than 5,000, there may be a memory leak.'
              dependencies:
                - name: 'Windows: High memory utilization'
                  expression: 'min(/Windows by Zabbix agent active/vm.memory.util,5m)>{$MEMORY.UTIL.MAX}'
              tags:
                - tag: scope
                  value: capacity
        - uuid: 19ec57305ba34ed890e2e4c8a500a214
          name: 'Memory page faults per second'
          type: ZABBIX_ACTIVE
          key: 'perf_counter_en["\Memory\Page Faults/sec"]'
          value_type: FLOAT
          description: 'Page Faults/sec is the average number of pages faulted per second. It is measured in number of pages faulted per second because only one page is faulted in each fault operation, hence this is also equal to the number of page fault operations. This counter includes both hard faults (those that require disk access) and soft faults (where the faulted page is found elsewhere in physical memory.) Most processors can handle large numbers of soft faults without significant consequence. However, hard faults, which require disk access, can cause significant delays.'
          tags:
            - tag: component
              value: memory
        - uuid: 920faa3a434d46d48f99395e16ef04ec
          name: 'Memory pages per second'
          type: ZABBIX_ACTIVE
          key: 'perf_counter_en["\Memory\Pages/sec"]'
          value_type: FLOAT
          description: |
            This measures the rate at which pages are read from or written to disk to resolve hard page faults.
            If the value is greater than 1,000, as a result of excessive paging, there may be a memory leak.
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: 05da8b30835e440fb1228fb9a0bc24a4
              expression: 'min(/Windows by Zabbix agent active/perf_counter_en["\Memory\Pages/sec"],5m)>{$MEM.PAGE_SEC.CRIT.MAX}'
              name: 'Windows: The Memory Pages/sec is too high'
              event_name: 'Windows: The Memory Pages/sec is too high (over {$MEM.PAGE_SEC.CRIT.MAX} for 5m)'
              priority: WARNING
              description: 'The Memory Pages/sec in the last 5 minutes exceeds `{$MEM.PAGE_SEC.CRIT.MAX}`. If the value is greater than 1,000, as a result of excessive paging, there may be a memory leak.'
              dependencies:
                - name: 'Windows: High memory utilization'
                  expression: 'min(/Windows by Zabbix agent active/vm.memory.util,5m)>{$MEMORY.UTIL.MAX}'
              tags:
                - tag: scope
                  value: capacity
        - uuid: 3af0a0717da747849c2b5a2ebfa61a2c
          name: 'Memory pool non-paged'
          type: ZABBIX_ACTIVE
          key: 'perf_counter_en["\Memory\Pool Nonpaged Bytes"]'
          units: B
          description: |
            This measures the size, in bytes, of the non-paged pool. This is an area of system memory for objects that cannot be written to disk but instead must remain in physical memory as long as they are allocated.
            There is a possible memory leak if the value is greater than 175MB (or 100MB with the /3GB switch). Consequently, Event ID 2019 is recorded in the system event log.
          tags:
            - tag: component
              value: memory
        - uuid: 4f7b86eff6c84193a2f9187fff578416
          name: 'Used swap space in %'
          type: ZABBIX_ACTIVE
          key: 'perf_counter_en["\Paging file(_Total)\% Usage"]'
          value_type: FLOAT
          units: '%'
          description: 'The used space of swap volume/file in percent.'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: 553249b52ca7492c87386d051ec53db9
          name: 'CPU DPC time'
          type: ZABBIX_ACTIVE
          key: 'perf_counter_en["\Processor Information(_total)\% DPC Time"]'
          value_type: FLOAT
          units: '%'
          description: 'Processor DPC time is the time that a single processor spent receiving and servicing deferred procedure calls (DPCs). DPCs are interrupts that run at a lower priority than standard interrupts. `% DPC Time` is a component of `% Privileged Time` because DPCs are executed in privileged mode. If a high `% DPC Time` is sustained, there may be a processor bottleneck or an application or hardware related issue that can significantly diminish overall system performance.'
          tags:
            - tag: component
              value: cpu
        - uuid: 32a32b9fea5d49989668a96bc52db87b
          name: 'CPU interrupt time'
          type: ZABBIX_ACTIVE
          key: 'perf_counter_en["\Processor Information(_total)\% Interrupt Time"]'
          value_type: FLOAT
          units: '%'
          description: 'The processor information `% Interrupt Time` counter indicates how much time the processor spends handling hardware interrupts during sample intervals. It reflects the activity of devices like the system clock, mouse, disk drivers, and network cards. A value above 20% suggests possible hardware issues.'
          tags:
            - tag: component
              value: cpu
          triggers:
            - uuid: 2eb661f6a42f40ce8cc25cef542763a9
              expression: 'min(/Windows by Zabbix agent active/perf_counter_en["\Processor Information(_total)\% Interrupt Time"],5m)>{$CPU.INTERRUPT.CRIT.MAX}'
              name: 'Windows: CPU interrupt time is too high'
              event_name: 'Windows: CPU interrupt time is too high (over {$CPU.INTERRUPT.CRIT.MAX}% for 5m)'
              priority: WARNING
              description: 'The CPU Interrupt Time in the last 5 minutes exceeds `{$CPU.INTERRUPT.CRIT.MAX}`%.'
              dependencies:
                - name: 'Windows: High CPU utilization'
                  expression: 'min(/Windows by Zabbix agent active/system.cpu.util,5m)>{$CPU.UTIL.CRIT}'
              tags:
                - tag: scope
                  value: performance
        - uuid: 0747e92e52cc4a6a9b83c6f94889bff1
          name: 'CPU privileged time'
          type: ZABBIX_ACTIVE
          key: 'perf_counter_en["\Processor Information(_total)\% Privileged Time"]'
          value_type: FLOAT
          units: '%'
          description: 'The processor information `% Privileged Time` counter shows the percent of time that the processor is spent executing in Kernel (or Privileged) mode. Privileged mode includes services interrupts inside Interrupt Service Routines (ISRs), executing Deferred Procedure Calls (DPCs), Device Driver calls and other kernel-mode functions of the Windows Operating System.'
          tags:
            - tag: component
              value: cpu
          triggers:
            - uuid: cee69c70da6a415186b922305d0cabdc
              expression: 'min(/Windows by Zabbix agent active/perf_counter_en["\Processor Information(_total)\% Privileged Time"],5m)>{$CPU.PRIV.CRIT.MAX}'
              name: 'Windows: CPU privileged time is too high'
              event_name: 'Windows: CPU privileged time is too high (over {$CPU.PRIV.CRIT.MAX}% for 5m)'
              priority: WARNING
              description: 'The CPU privileged time in the last 5 minutes exceeds {$CPU.PRIV.CRIT.MAX}%.'
              dependencies:
                - name: 'Windows: CPU interrupt time is too high'
                  expression: 'min(/Windows by Zabbix agent active/perf_counter_en["\Processor Information(_total)\% Interrupt Time"],5m)>{$CPU.INTERRUPT.CRIT.MAX}'
                - name: 'Windows: High CPU utilization'
                  expression: 'min(/Windows by Zabbix agent active/system.cpu.util,5m)>{$CPU.UTIL.CRIT}'
              tags:
                - tag: scope
                  value: performance
        - uuid: 954a81efad4c4791bee052194b900268
          name: 'CPU user time'
          type: ZABBIX_ACTIVE
          key: 'perf_counter_en["\Processor Information(_total)\% User Time"]'
          value_type: FLOAT
          units: '%'
          description: 'The processor information `% User Time` counter shows the percent of time that the processor(s) is spent executing in User mode.'
          tags:
            - tag: component
              value: cpu
        - uuid: f23957a6fb9a44a3a7010b19b16e77b5
          name: 'Context switches per second'
          type: ZABBIX_ACTIVE
          key: 'perf_counter_en["\System\Context Switches/sec"]'
          value_type: FLOAT
          description: |
            Context Switches/sec is the combined rate at which all processors on the computer are switched from one thread to another.
            Context switches occur when a running thread voluntarily relinquishes the processor, is preempted by a higher priority ready thread, or switches between user-mode and privileged (kernel) mode to use an Executive or subsystem service.
            It is the sum of Thread\\Context Switches/sec for all threads running on all processors in the computer and is measured in numbers of switches.
            There are context switch counters on the System and Thread objects. This counter displays the difference between the values observed in the last two samples, divided by the duration of the sample interval.
          tags:
            - tag: component
              value: cpu
        - uuid: c1da358e5c8f40279c703d93896aa571
          name: 'CPU queue length'
          type: ZABBIX_ACTIVE
          key: 'perf_counter_en["\System\Processor Queue Length"]'
          value_type: FLOAT
          description: 'The Processor Queue Length shows the number of threads that are observed as delayed in the processor Ready Queue and are waiting to be executed.'
          tags:
            - tag: component
              value: cpu
        - uuid: c738b97ec0dc49f380ed0e4a27ae9bb6
          name: 'Number of threads'
          type: ZABBIX_ACTIVE
          key: 'perf_counter_en["\System\Threads"]'
          description: 'The number of threads used by all running processes.'
          tags:
            - tag: component
              value: os
        - uuid: 5229689338ae4a559d3c94a98032131e
          name: 'Number of processes'
          type: ZABBIX_ACTIVE
          key: 'proc.num[]'
          description: 'The number of processes.'
          tags:
            - tag: component
              value: os
        - uuid: 0f3ffe45092d461a91a1296cd6cfb19f
          name: 'CPU utilization'
          type: ZABBIX_ACTIVE
          key: system.cpu.util
          value_type: FLOAT
          units: '%'
          description: 'CPU utilization expressed in %.'
          tags:
            - tag: component
              value: cpu
          triggers:
            - uuid: ab3cbf18088a4d7a82f6c678ce49ffce
              expression: 'min(/Windows by Zabbix agent active/system.cpu.util,5m)>{$CPU.UTIL.CRIT}'
              name: 'Windows: High CPU utilization'
              event_name: 'Windows: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)'
              opdata: 'Current utilization: {ITEM.LASTVALUE1}'
              priority: WARNING
              description: 'CPU utilization is too high. The system might be slow to respond.'
              tags:
                - tag: scope
                  value: performance
        - uuid: 5d99b356e30444a0b99e597506f35a69
          name: 'System name'
          type: ZABBIX_ACTIVE
          key: system.hostname
          delay: 1h
          value_type: CHAR
          description: 'The host name of the system.'
          inventory_link: NAME
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 3aea75603e584d2f9dc96e7f3cc2b7fa
              expression: 'change(/Windows by Zabbix agent active/system.hostname) and length(last(/Windows by Zabbix agent active/system.hostname))>0'
              name: 'Windows: System name has changed'
              event_name: 'Windows: 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
        - uuid: 89f928affba54c4a8dc7abead09cac68
          name: 'System local time'
          type: ZABBIX_ACTIVE
          key: system.localtime
          units: unixtime
          description: 'The local system time of the host.'
          tags:
            - tag: component
              value: system
        - uuid: 16a7ae509f0c4f9d8631efae88fe6324
          name: 'Operating system architecture'
          type: ZABBIX_ACTIVE
          key: system.sw.arch
          delay: 1h
          value_type: CHAR
          description: 'The architecture of the operating system.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: os
        - uuid: 5159e7263d7a42e499380b70e9d6490a
          name: 'Operating system'
          type: ZABBIX_ACTIVE
          key: system.sw.os
          delay: 1h
          value_type: CHAR
          inventory_link: OS
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: os
          triggers:
            - uuid: 01bbea22605947dca9638229cf56e4e1
              expression: 'change(/Windows by Zabbix agent active/system.sw.os) and length(last(/Windows by Zabbix agent active/system.sw.os))>0'
              name: 'Windows: 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: 'Windows: System name has changed'
                  expression: 'change(/Windows by Zabbix agent active/system.hostname) and length(last(/Windows by Zabbix agent active/system.hostname))>0'
              tags:
                - tag: scope
                  value: notice
        - uuid: 9d6f14cc540846ab98052bf741a4247b
          name: 'Free swap space'
          type: CALCULATED
          key: system.swap.free
          units: B
          params: 'last(//system.swap.size[,total]) - last(//system.swap.size[,total]) / 100 * last(//perf_counter_en["\Paging file(_Total)\% Usage"])'
          description: 'The free space of the swap volume/file expressed in bytes.'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: e91b5f08c6b745bca975797ea4abd02a
          name: 'Free swap space in %'
          type: DEPENDENT
          key: system.swap.pfree
          value_type: FLOAT
          units: '%'
          description: 'The free space of the swap volume/file expressed in %.'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - 'return (100 - value)'
          master_item:
            key: 'perf_counter_en["\Paging file(_Total)\% Usage"]'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: b5af29f7b8ee451895b49c0444e929f4
          name: 'Total swap space'
          type: ZABBIX_ACTIVE
          key: 'system.swap.size[,total]'
          units: B
          description: 'The total space of the swap volume/file expressed in bytes.'
          tags:
            - tag: component
              value: memory
            - tag: component
              value: storage
        - uuid: 8fa1259420ad486ab6e2520c9b047073
          name: 'System description'
          type: ZABBIX_ACTIVE
          key: system.uname
          delay: 15m
          value_type: CHAR
          description: 'System description of the host.'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1d
          tags:
            - tag: component
              value: system
        - uuid: 695053710ea14cc48692b5cb260d0dfb
          name: Uptime
          type: ZABBIX_ACTIVE
          key: system.uptime
          delay: 30s
          trends: '0'
          units: uptime
          description: 'The system uptime expressed in the following format: "N days, hh:mm:ss".'
          tags:
            - tag: component
              value: system
          triggers:
            - uuid: 4114e248a3b347f4a2fefc7816f2e940
              expression: 'last(/Windows by Zabbix agent active/system.uptime)<10m'
              name: 'Windows: Host has been restarted'
              event_name: 'Windows: Host has been restarted (uptime < 10m)'
              priority: WARNING
              description: 'The device uptime is less than 10 minutes.'
              manual_close: 'YES'
              tags:
                - tag: scope
                  value: notice
        - uuid: 60a17a94a9ad4e4192547d0a6a1e1d25
          name: 'Get filesystems'
          type: ZABBIX_ACTIVE
          key: vfs.fs.get
          history: '0'
          value_type: TEXT
          description: 'The `vfs.fs.get` key acquires raw information set about the filesystems. Later to be extracted by preprocessing in dependent items.'
          tags:
            - tag: component
              value: raw
        - uuid: 83185781999742268a7742695c5d3ee3
          name: 'Total memory'
          type: ZABBIX_ACTIVE
          key: 'vm.memory.size[total]'
          units: B
          description: 'Total memory expressed in bytes.'
          tags:
            - tag: component
              value: memory
        - uuid: f85ec8917f084c7d9b6bc36e186d74d6
          name: 'Used memory'
          type: ZABBIX_ACTIVE
          key: 'vm.memory.size[used]'
          units: B
          description: 'Used memory in bytes.'
          tags:
            - tag: component
              value: memory
        - uuid: 9b62965a4670472b8c672dc1021bb8fd
          name: 'Memory utilization'
          type: CALCULATED
          key: vm.memory.util
          value_type: FLOAT
          units: '%'
          params: 'last(//vm.memory.size[used]) / last(//vm.memory.size[total]) * 100'
          description: 'Memory utilization in %.'
          tags:
            - tag: component
              value: memory
          triggers:
            - uuid: 610a0893be834c11b35a0472dcabab7c
              expression: 'min(/Windows by Zabbix agent active/vm.memory.util,5m)>{$MEMORY.UTIL.MAX}'
              name: 'Windows: High memory utilization'
              event_name: 'Windows: 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
        - uuid: c35940d1a12e4b96b7114ac8dbbfcec4
          name: 'Windows: Network interfaces WMI get'
          type: ZABBIX_ACTIVE
          key: 'wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"]'
          history: '0'
          value_type: TEXT
          description: 'Raw data of `win32_networkadapter.`'
          preprocessing:
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
          tags:
            - tag: component
              value: raw
        - uuid: 3dcf69f6637f496ca0406e0ed403f03c
          name: 'Number of cores'
          type: ZABBIX_ACTIVE
          key: 'wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]'
          description: 'The number of logical processors available on the computer.'
          tags:
            - tag: component
              value: cpu
        - uuid: 1ac6ebdb5c98415b94cb44da5feeac7f
          name: 'Active agent availability'
          type: INTERNAL
          key: 'zabbix[host,active_agent,available]'
          description: |
            Availability of active checks on the host. The value of this item corresponds to availability icons in the host list.
            Possible values:
            0 - unknown
            1 - available
            2 - not available
          valuemap:
            name: zabbix.host.active_agent.available
          tags:
            - tag: component
              value: health
            - tag: component
              value: network
          triggers:
            - uuid: bad86dfaf5274927bce35ad314a2d21a
              expression: 'min(/Windows by Zabbix agent active/zabbix[host,active_agent,available],{$AGENT.TIMEOUT})=2'
              name: 'Windows: Active checks are not available'
              opdata: 'Current state: {ITEM.LASTVALUE1}'
              priority: HIGH
              description: 'Active checks are considered unavailable. Agent has not sent a heartbeat for a prolonged time.'
              tags:
                - tag: scope
                  value: availability
      discovery_rules:
        - uuid: c05c8d1be5614ffab1688cc92db32f12
          name: 'Network interfaces discovery'
          type: DEPENDENT
          key: net.if.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.MATCHES}'
              - macro: '{#IFALIAS}'
                value: '{$NET.IF.IFALIAS.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.MATCHES}'
              - macro: '{#IFDESCR}'
                value: '{$NET.IF.IFDESCR.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.MATCHES}'
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovery of installed network interfaces.'
          item_prototypes:
            - uuid: 344f0ce5ba5244cb90cc08db556e6f9c
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded'
              type: ZABBIX_ACTIVE
              key: 'net.if.in["{#IFGUID}",dropped]'
              delay: 3m
              description: 'The number of incoming packets dropped on the network interface.'
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: a2461163f9b44b678008e3d5fd96a168
              name: 'Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors'
              type: ZABBIX_ACTIVE
              key: 'net.if.in["{#IFGUID}",errors]'
              delay: 3m
              description: 'The number of incoming packets with errors on the network interface.'
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: a8f69dac86d646b194f9b204f22aeb3b
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits received'
              type: ZABBIX_ACTIVE
              key: 'net.if.in["{#IFGUID}"]'
              delay: 3m
              units: bps
              description: 'Incoming traffic on the network interface.'
              preprocessing:
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 46d947876b844223bb500f29cbf82273
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded'
              type: ZABBIX_ACTIVE
              key: 'net.if.out["{#IFGUID}",dropped]'
              delay: 3m
              description: 'The number of outgoing packets dropped on the network interface.'
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 1f5854d4ad5d4b65b63e5ca9ffa5007c
              name: 'Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors'
              type: ZABBIX_ACTIVE
              key: 'net.if.out["{#IFGUID}",errors]'
              delay: 3m
              description: 'The number of outgoing packets with errors on the network interface.'
              preprocessing:
                - type: CHANGE_PER_SECOND
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 1adceed263804e089108bb2cc1aa51e1
              name: 'Interface {#IFNAME}({#IFALIAS}): Bits sent'
              type: ZABBIX_ACTIVE
              key: 'net.if.out["{#IFGUID}"]'
              delay: 3m
              units: bps
              description: 'Outgoing traffic on the network interface.'
              preprocessing:
                - type: CHANGE_PER_SECOND
                - type: MULTIPLIER
                  parameters:
                    - '8'
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 820ca9809e6f46af8aa3f41195f246d9
              name: 'Interface {#IFNAME}({#IFALIAS}): Speed'
              type: DEPENDENT
              key: 'net.if.speed["{#IFGUID}"]'
              trends: '0'
              units: bps
              description: 'Estimated bandwidth of the network interface if any.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.GUID == "{#IFGUID}")].Speed.first()'
                  error_handler: CUSTOM_VALUE
                  error_handler_params: '0'
                - type: JAVASCRIPT
                  parameters:
                    - 'return (value==''9223372036854775807'' ? 0 : value)'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1h
              master_item:
                key: 'wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"]'
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
            - uuid: 929917f16ecd4369a5535fe8178248d6
              name: 'Interface {#IFNAME}({#IFALIAS}): Operational status'
              type: DEPENDENT
              key: 'net.if.status["{#IFGUID}"]'
              trends: '0'
              description: 'The operational status of the network interface.'
              valuemap:
                name: 'Win32_NetworkAdapter::NetConnectionStatus'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.GUID == "{#IFGUID}")].NetConnectionStatus.first()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1d
              master_item:
                key: 'wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"]'
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
              trigger_prototypes:
                - uuid: f9d1ac2feb0e43249cc849166ca9014c
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"])<>2 and (last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"],#1)<>last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"],#2))'
                  recovery_mode: RECOVERY_EXPRESSION
                  recovery_expression: 'last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"])=2 or {$IFCONTROL:"{#IFNAME}"}=0'
                  name: 'Windows: Interface {#IFNAME}({#IFALIAS}): Link down'
                  opdata: 'Current state: {ITEM.LASTVALUE1}'
                  priority: AVERAGE
                  description: |
                    This trigger expression works as follows:
                    1. It can be triggered if the operations status is down.
                    2. `{$IFCONTROL:"{#IFNAME}"}=1` - a user can redefine 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: 1e513ffd8cd24a39a04b2140dce65b62
              name: 'Interface {#IFNAME}({#IFALIAS}): Interface type'
              type: DEPENDENT
              key: 'net.if.type["{#IFGUID}"]'
              trends: '0'
              description: 'The type of the network interface.'
              valuemap:
                name: 'Win32_NetworkAdapter::AdapterTypeId'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$[?(@.GUID == "{#IFGUID}")].AdapterTypeId.first()'
                - type: DISCARD_UNCHANGED_HEARTBEAT
                  parameters:
                    - 1d
              master_item:
                key: 'wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"]'
              tags:
                - tag: component
                  value: network
                - tag: description
                  value: '{#IFALIAS}'
                - tag: interface
                  value: '{#IFNAME}'
          trigger_prototypes:
            - uuid: 27a60f88cbd0457291153105ace75e4d
              expression: |
                change(/Windows by Zabbix agent active/net.if.speed["{#IFGUID}"])<0 and
                last(/Windows by Zabbix agent active/net.if.speed["{#IFGUID}"])>0 and
                last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"])=2
              name: 'Windows: 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: 'Windows: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"])<>2 and (last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"],#1)<>last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"],#2))'
                  recovery_expression: 'last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"])=2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: capacity
            - uuid: a9ead42a45f5496a84a6a2bc619cece4
              expression: |
                (avg(/Windows by Zabbix agent active/net.if.in["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Zabbix agent active/net.if.speed["{#IFGUID}"]) or
                avg(/Windows by Zabbix agent active/net.if.out["{#IFGUID}"],15m)>({$IF.UTIL.MAX:"{#IFNAME}"}/100)*last(/Windows by Zabbix agent active/net.if.speed["{#IFGUID}"])) and
                last(/Windows by Zabbix agent active/net.if.speed["{#IFGUID}"])>0
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                avg(/Windows by Zabbix agent active/net.if.in["{#IFGUID}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Windows by Zabbix agent active/net.if.speed["{#IFGUID}"]) and
                avg(/Windows by Zabbix agent active/net.if.out["{#IFGUID}"],15m)<(({$IF.UTIL.MAX:"{#IFNAME}"}-3)/100)*last(/Windows by Zabbix agent active/net.if.speed["{#IFGUID}"])
              name: 'Windows: Interface {#IFNAME}({#IFALIAS}): High bandwidth usage'
              event_name: 'Windows: 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: 'Windows: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"])<>2 and (last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"],#1)<>last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"],#2))'
                  recovery_expression: 'last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"])=2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: performance
            - uuid: 1945fd9bc15c471fb050d0a5430245a6
              expression: |
                min(/Windows by Zabbix agent active/net.if.in["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
                or min(/Windows by Zabbix agent active/net.if.out["{#IFGUID}",errors],5m)>{$IF.ERRORS.WARN:"{#IFNAME}"}
              recovery_mode: RECOVERY_EXPRESSION
              recovery_expression: |
                max(/Windows by Zabbix agent active/net.if.in["{#IFGUID}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
                and max(/Windows by Zabbix agent active/net.if.out["{#IFGUID}",errors],5m)<{$IF.ERRORS.WARN:"{#IFNAME}"}*0.8
              name: 'Windows: Interface {#IFNAME}({#IFALIAS}): High error rate'
              event_name: 'Windows: 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: 'Windows: Interface {#IFNAME}({#IFALIAS}): Link down'
                  expression: '{$IFCONTROL:"{#IFNAME}"}=1 and last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"])<>2 and (last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"],#1)<>last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"],#2))'
                  recovery_expression: 'last(/Windows by Zabbix agent active/net.if.status["{#IFGUID}"])=2 or {$IFCONTROL:"{#IFNAME}"}=0'
              tags:
                - tag: scope
                  value: availability
          graph_prototypes:
            - uuid: 1181f5ffedb643d4953c9fd5df14a21e
              name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
              graph_items:
                - drawtype: GRADIENT_LINE
                  color: 199C0D
                  item:
                    host: 'Windows by Zabbix agent active'
                    key: 'net.if.in["{#IFGUID}"]'
                - sortorder: '1'
                  drawtype: BOLD_LINE
                  color: F63100
                  item:
                    host: 'Windows by Zabbix agent active'
                    key: 'net.if.out["{#IFGUID}"]'
                - sortorder: '2'
                  color: 00611C
                  yaxisside: RIGHT
                  item:
                    host: 'Windows by Zabbix agent active'
                    key: 'net.if.out["{#IFGUID}",errors]'
                - sortorder: '3'
                  color: F7941D
                  yaxisside: RIGHT
                  item:
                    host: 'Windows by Zabbix agent active'
                    key: 'net.if.in["{#IFGUID}",errors]'
                - sortorder: '4'
                  color: FC6EA3
                  yaxisside: RIGHT
                  item:
                    host: 'Windows by Zabbix agent active'
                    key: 'net.if.out["{#IFGUID}",dropped]'
                - sortorder: '5'
                  color: 6C59DC
                  yaxisside: RIGHT
                  item:
                    host: 'Windows by Zabbix agent active'
                    key: 'net.if.in["{#IFGUID}",dropped]'
          master_item:
            key: 'wmi.getall[root\cimv2,"select Name,Description,NetConnectionID,Speed,AdapterTypeId,NetConnectionStatus,GUID from win32_networkadapter where PhysicalAdapter=True and NetConnectionStatus>0"]'
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  output = JSON.parse(value).map(function(net){
                  	return {
                  		"{#IFNAME}": net.Name,
                  		"{#IFDESCR}": net.Description,
                  		"{#IFALIAS}": net.NetConnectionID,
                  		"{#IFGUID}": net.GUID
                  	}})
                  return JSON.stringify({"data": output})
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
        - uuid: b2a9c04e3e0846ab89d5dbc39d273567
          name: 'Physical disks discovery'
          type: ZABBIX_ACTIVE
          key: 'perf_instance_en.discovery[PhysicalDisk]'
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#DEVNAME}'
                value: '{$VFS.DEV.DEVNAME.MATCHES}'
              - macro: '{#DEVNAME}'
                value: '{$VFS.DEV.DEVNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovery of installed physical disks.'
          item_prototypes:
            - uuid: 714bbd069d34400895df413fe4627543
              name: '{#DEVNAME}: Disk utilization by idle time'
              type: ZABBIX_ACTIVE
              key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\% Idle Time",60]'
              value_type: FLOAT
              units: '%'
              description: 'This item is the percentage of elapsed time that the selected disk drive was busy servicing read or writes requests based on idle time.'
              preprocessing:
                - type: JAVASCRIPT
                  parameters:
                    - 'return (100 - value)'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
              trigger_prototypes:
                - uuid: 00031ae791d6424dbd29c91be91a249f
                  expression: 'min(/Windows by Zabbix agent active/perf_counter_en["\PhysicalDisk({#DEVNAME})\% Idle Time",60],15m)>{$VFS.DEV.UTIL.MAX.WARN}'
                  name: 'Windows: {#DEVNAME}: Disk is overloaded'
                  event_name: 'Windows: {#DEVNAME}: Disk is overloaded (util > {$VFS.DEV.UTIL.MAX.WARN}% for 15m)'
                  priority: WARNING
                  description: 'The disk appears to be under heavy load.'
                  manual_close: 'YES'
                  dependencies:
                    - name: 'Windows: {#DEVNAME}: Disk read request responses are too high'
                      expression: 'min(/Windows by Zabbix agent active/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"}'
                    - name: 'Windows: {#DEVNAME}: Disk write request responses are too high'
                      expression: 'min(/Windows by Zabbix agent active/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"}'
                  tags:
                    - tag: scope
                      value: performance
            - uuid: abdcdffc92114fda93d4893c772cf14a
              name: '{#DEVNAME}: Average disk read queue length'
              type: ZABBIX_ACTIVE
              key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Read Queue Length",60]'
              value_type: FLOAT
              description: 'Average disk read queue, the number of requests outstanding on the disk at the time the performance data is collected.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 208b3a3868844e85a7e3e5f3940d744d
              name: '{#DEVNAME}: Disk read request avg waiting time'
              type: ZABBIX_ACTIVE
              key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60]'
              value_type: FLOAT
              units: s
              description: 'The average time for read requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
              trigger_prototypes:
                - uuid: f6c28fa8eef542a786b29d745dd2e56f
                  expression: 'min(/Windows by Zabbix agent active/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60],15m) > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"}'
                  name: 'Windows: {#DEVNAME}: Disk read request responses are too high'
                  event_name: 'Windows: {#DEVNAME}: Disk read request responses are too high (read > {$VFS.DEV.READ.AWAIT.WARN:"{#DEVNAME}"}s for 15m)'
                  priority: WARNING
                  description: 'This trigger might indicate the disk {#DEVNAME} saturation.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: performance
            - uuid: 6a162aca790c48a7bd726d54494d67e9
              name: '{#DEVNAME}: Disk write request avg waiting time'
              type: ZABBIX_ACTIVE
              key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60]'
              value_type: FLOAT
              units: s
              description: 'The average time for write requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
              trigger_prototypes:
                - uuid: 9a0c7aa60e0e40d8abec9be6d6d49190
                  expression: 'min(/Windows by Zabbix agent active/perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60],15m) > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"}'
                  name: 'Windows: {#DEVNAME}: Disk write request responses are too high'
                  event_name: 'Windows: {#DEVNAME}: Disk write request responses are too high (write > {$VFS.DEV.WRITE.AWAIT.WARN:"{#DEVNAME}"}s for 15m)'
                  priority: WARNING
                  description: 'This trigger might indicate the disk {#DEVNAME} saturation.'
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: performance
            - uuid: ba3a369741544f6c88a476a4f2d30ab2
              name: '{#DEVNAME}: Average disk write queue length'
              type: ZABBIX_ACTIVE
              key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Write Queue Length",60]'
              value_type: FLOAT
              description: 'Average disk write queue, the number of requests outstanding on the disk at the time the performance data is collected.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 24d15f53439148919e11d5811f25adf1
              name: '{#DEVNAME}: Disk average queue size (avgqu-sz)'
              type: ZABBIX_ACTIVE
              key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Current Disk Queue Length",60]'
              value_type: FLOAT
              description: 'The current average disk queue; the number of requests outstanding on the disk while the performance data is being collected.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: c1424c1c2fe647a8baf3357c34ae261e
              name: '{#DEVNAME}: Disk read rate'
              type: ZABBIX_ACTIVE
              key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Reads/sec",60]'
              value_type: FLOAT
              units: '!r/s'
              description: 'Rate of read operations on the disk.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
            - uuid: 4d10e563bbd1402daa1c9c8516095aa8
              name: '{#DEVNAME}: Disk write rate'
              type: ZABBIX_ACTIVE
              key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Writes/sec",60]'
              value_type: FLOAT
              units: '!w/s'
              description: 'Rate of write operations on the disk.'
              tags:
                - tag: component
                  value: storage
                - tag: disk
                  value: '{#DEVNAME}'
          graph_prototypes:
            - uuid: e249ca7462a14508bdbdbf748102015a
              name: '{#DEVNAME}: Disk average queue length'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'Windows by Zabbix agent active'
                    key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Read Queue Length",60]'
                - sortorder: '1'
                  color: F63100
                  item:
                    host: 'Windows by Zabbix agent active'
                    key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk Write Queue Length",60]'
            - uuid: 790265fa66e14e97badadfce392ef8df
              name: '{#DEVNAME}: Disk average waiting time'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'Windows by Zabbix agent active'
                    key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Read",60]'
                - sortorder: '1'
                  drawtype: GRADIENT_LINE
                  color: F63100
                  item:
                    host: 'Windows by Zabbix agent active'
                    key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Avg. Disk sec/Write",60]'
            - uuid: 024945537eab4facb18483b6f3ce8d3e
              name: '{#DEVNAME}: Disk read/write rates'
              graph_items:
                - color: 199C0D
                  item:
                    host: 'Windows by Zabbix agent active'
                    key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Reads/sec",60]'
                - sortorder: '1'
                  drawtype: GRADIENT_LINE
                  color: F63100
                  item:
                    host: 'Windows by Zabbix agent active'
                    key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Disk Writes/sec",60]'
            - uuid: 70de55df5604410d8a67cdca31957b03
              name: '{#DEVNAME}: Disk utilization and queue'
              graph_items:
                - color: 199C0D
                  yaxisside: RIGHT
                  item:
                    host: 'Windows by Zabbix agent active'
                    key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\Current Disk Queue Length",60]'
                - sortorder: '1'
                  drawtype: GRADIENT_LINE
                  color: F63100
                  item:
                    host: 'Windows by Zabbix agent active'
                    key: 'perf_counter_en["\PhysicalDisk({#DEVNAME})\% Idle Time",60]'
          preprocessing:
            - type: STR_REPLACE
              parameters:
                - '{#INSTANCE}'
                - '{#DEVNAME}'
        - uuid: dbde6e6c7c13436b9bd20230f1d309ed
          name: 'Windows services discovery'
          type: ZABBIX_ACTIVE
          key: service.discovery
          delay: 1h
          filter:
            evaltype: AND
            conditions:
              - macro: '{#SERVICE.NAME}'
                value: '{$SERVICE.NAME.MATCHES}'
              - macro: '{#SERVICE.NAME}'
                value: '{$SERVICE.NAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#SERVICE.STARTUPNAME}'
                value: '{$SERVICE.STARTUPNAME.MATCHES}'
              - macro: '{#SERVICE.STARTUPNAME}'
                value: '{$SERVICE.STARTUPNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Used for the discovery of Windows services of different types as defined in the template''s macros.'
          item_prototypes:
            - uuid: d6379e85f1974734abbe60fef1a6ca1d
              name: 'State of service "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME})'
              type: ZABBIX_ACTIVE
              key: 'service.info["{#SERVICE.NAME}",state]'
              valuemap:
                name: 'Windows service state'
              tags:
                - tag: component
                  value: system
                - tag: name
                  value: '{#SERVICE.DISPLAYNAME}'
                - tag: service
                  value: '{#SERVICE.NAME}'
              trigger_prototypes:
                - uuid: c6f2c1c32cdf401091e4439624a24fab
                  expression: 'min(/Windows by Zabbix agent active/service.info["{#SERVICE.NAME}",state],#3)<>0'
                  name: 'Windows: "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) is not running'
                  event_name: 'Windows: "{#SERVICE.NAME}" ({#SERVICE.DISPLAYNAME}) is not running (startup type {#SERVICE.STARTUPNAME})'
                  priority: AVERAGE
                  description: 'The service has a state other than "Running" for the last three times.'
                  tags:
                    - tag: scope
                      value: notice
        - uuid: 4fbbdf83609e48e68011f6c394c652f9
          name: 'Mounted filesystem discovery'
          type: DEPENDENT
          key: vfs.fs.dependent.discovery
          filter:
            evaltype: AND
            conditions:
              - macro: '{#FSDRIVETYPE}'
                value: '{$VFS.FS.FSDRIVETYPE.MATCHES}'
              - macro: '{#FSDRIVETYPE}'
                value: '{$VFS.FS.FSDRIVETYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#FSNAME}'
                value: '{$VFS.FS.FSNAME.MATCHES}'
              - macro: '{#FSNAME}'
                value: '{$VFS.FS.FSNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
              - macro: '{#FSTYPE}'
                value: '{$VFS.FS.FSTYPE.MATCHES}'
              - macro: '{#FSTYPE}'
                value: '{$VFS.FS.FSTYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
          description: 'Discovery of filesystems of different types.'
          item_prototypes:
            - uuid: 821daa0e25a2456ca637e441a844dfe6
              name: 'FS [{#FSLABEL}({#FSNAME})]: Space: Available'
              type: DEPENDENT
              key: 'vfs.fs.dependent.size[{#FSNAME},free]'
              units: B
              description: 'Available storage space expressed in bytes.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.bytes.free
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
            - uuid: 8949201f93ab46f0a0ad95ca6ce6124c
              name: 'FS [{#FSLABEL}({#FSNAME})]: Space: Used, in %'
              type: DEPENDENT
              key: 'vfs.fs.dependent.size[{#FSNAME},pused]'
              value_type: FLOAT
              units: '%'
              description: 'Calculated as the percentage of currently used space compared to the maximum available space.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.bytes.pused
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
              trigger_prototypes:
                - uuid: 5bed682545044584852888d96454df86
                  expression: 'min(/Windows by Zabbix agent active/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSLABEL}({#FSNAME})"}'
                  name: 'Windows: FS [{#FSLABEL}({#FSNAME})]: Space is critically low'
                  event_name: 'Windows: FS [{#FSLABEL}({#FSNAME})]: Space is critically low (used > {$VFS.FS.PUSED.MAX.CRIT:"{#FSLABEL}({#FSNAME})"}%, total {{?last(//vfs.fs.dependent.size[{#FSNAME},total])/1024/1024/1024}.fmtnum(1)}GB)'
                  opdata: 'Space used: {{ITEM.LASTVALUE1}.fmtnum(1)}%'
                  priority: AVERAGE
                  description: |
                    The volume's space usage exceeds the `{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%` limit.
                    The trigger expression is based on the current used and maximum available spaces.
                    Event name represents the total volume space, which can differ from the maximum available space, depending on the filesystem type.
                  manual_close: 'YES'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: capacity
                - uuid: 1e5e9718c5a14099b9421ff7956b2f33
                  expression: 'min(/Windows by Zabbix agent active/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.WARN:"{#FSLABEL}({#FSNAME})"}'
                  name: 'Windows: FS [{#FSLABEL}({#FSNAME})]: Space is low'
                  event_name: 'Windows: FS [{#FSLABEL}({#FSNAME})]: Space is low (used > {$VFS.FS.PUSED.MAX.WARN:"{#FSLABEL}({#FSNAME})"}%, total {{?last(//vfs.fs.dependent.size[{#FSNAME},total])/1024/1024/1024}.fmtnum(1)}GB)'
                  opdata: 'Space used: {{ITEM.LASTVALUE1}.fmtnum(1)}%'
                  priority: WARNING
                  description: |
                    The volume's space usage exceeds the `{$VFS.FS.PUSED.MAX.WARN:"{#FSNAME}"}%` limit.
                    The trigger expression is based on the current used and maximum available spaces.
                    Event name represents the total volume space, which can differ from the maximum available space, depending on the filesystem type.
                  manual_close: 'YES'
                  dependencies:
                    - name: 'Windows: FS [{#FSLABEL}({#FSNAME})]: Space is critically low'
                      expression: 'min(/Windows by Zabbix agent active/vfs.fs.dependent.size[{#FSNAME},pused],5m)>{$VFS.FS.PUSED.MAX.CRIT:"{#FSLABEL}({#FSNAME})"}'
                  tags:
                    - tag: scope
                      value: availability
                    - tag: scope
                      value: capacity
            - uuid: d45f2c3469dd424486bdee586e4a61eb
              name: 'FS [{#FSLABEL}({#FSNAME})]: Space: Total'
              type: DEPENDENT
              key: 'vfs.fs.dependent.size[{#FSNAME},total]'
              units: B
              description: 'Total space expressed in bytes.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.bytes.total
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
            - uuid: ddd24d7eaa5742ac9d6cbae42bcfa1ae
              name: 'FS [{#FSLABEL}({#FSNAME})]: Space: Used'
              type: DEPENDENT
              key: 'vfs.fs.dependent.size[{#FSNAME},used]'
              units: B
              description: 'Used storage expressed in bytes.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - $.bytes.used
              master_item:
                key: 'vfs.fs.dependent[{#FSNAME},data]'
              tags:
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
            - uuid: b9ad1677ea6841309c7dc3a304b61c37
              name: 'FS [{#FSLABEL}({#FSNAME})]: Get data'
              type: DEPENDENT
              key: 'vfs.fs.dependent[{#FSNAME},data]'
              history: 1h
              value_type: TEXT
              description: 'Intermediate data of `{#FSNAME}` filesystem.'
              preprocessing:
                - type: JSONPATH
                  parameters:
                    - '$.[?(@.fsname==''{#FSNAME}'')].first()'
              master_item:
                key: vfs.fs.get
              tags:
                - tag: component
                  value: raw
                - tag: component
                  value: storage
                - tag: filesystem
                  value: '{#FSNAME}'
                - tag: fstype
                  value: '{#FSTYPE}'
          graph_prototypes:
            - uuid: 478c7beb397a48318994fc96acc2c4da
              name: 'FS [{#FSLABEL}({#FSNAME})]: Space usage graph, in %'
              width: '600'
              height: '340'
              ymin_type_1: FIXED
              ymax_type_1: FIXED
              graph_items:
                - drawtype: FILLED_REGION
                  color: F63100
                  calc_fnc: ALL
                  item:
                    host: 'Windows by Zabbix agent active'
                    key: 'vfs.fs.dependent.size[{#FSNAME},pused]'
            - uuid: 8d0581d07b92406aa9f007f6d03ad24e
              name: 'FS [{#FSLABEL}({#FSNAME})]: Space utilization chart'
              width: '600'
              height: '340'
              type: PIE
              show_3d: 'YES'
              graph_items:
                - color: '787878'
                  calc_fnc: LAST
                  type: GRAPH_SUM
                  item:
                    host: 'Windows by Zabbix agent active'
                    key: 'vfs.fs.dependent.size[{#FSNAME},total]'
                - sortorder: '1'
                  color: F63100
                  calc_fnc: LAST
                  item:
                    host: 'Windows by Zabbix agent active'
                    key: 'vfs.fs.dependent.size[{#FSNAME},used]'
                - sortorder: '2'
                  color: 199C09
                  calc_fnc: LAST
                  item:
                    host: 'Windows by Zabbix agent active'
                    key: 'vfs.fs.dependent.size[{#FSNAME},free]'
          master_item:
            key: vfs.fs.get
          lld_macro_paths:
            - lld_macro: '{#FSDRIVETYPE}'
              path: $.fsdrivetype
            - lld_macro: '{#FSLABEL}'
              path: $.fslabel
            - lld_macro: '{#FSNAME}'
              path: $.fsname
            - lld_macro: '{#FSTYPE}'
              path: $.fstype
          preprocessing:
            - type: JAVASCRIPT
              parameters:
                - |
                  var filesystems = JSON.parse(value);
                  
                  result = filesystems.map(function (filesystem) {
                  	return {
                  		'fsname': filesystem.fsname,
                  		'fstype': filesystem.fstype,
                  		'fslabel': filesystem.fslabel,
                  		'fsdrivetype': filesystem.fsdrivetype
                  	};
                  });
                  
                  return JSON.stringify(result);
            - type: DISCARD_UNCHANGED_HEARTBEAT
              parameters:
                - 1h
      tags:
        - tag: class
          value: os
        - tag: target
          value: windows
      macros:
        - macro: '{$AGENT.NODATA_TIMEOUT}'
          value: 30m
          description: 'No data timeout for active agents. Consider to keep it relatively high.'
          config:
            type: TEXT
            priority: '1'
            section_name: Thresholds
            label: 'Time since the last agent data was received'
            description: 'Threshold value of time since the last data was received from the agent.'
        - macro: '{$AGENT.TIMEOUT}'
          value: 5m
          description: 'Timeout after which agent is considered unavailable.'
          config:
            type: TEXT
            priority: '2'
            label: 'Seconds since the last Zabbix agent seen'
            description: 'Timeout after which agent is considered unavailable.'
        - macro: '{$CPU.INTERRUPT.CRIT.MAX}'
          value: '50'
          description: 'The critical threshold of the % Interrupt Time counter.'
          config:
            type: TEXT
            priority: '4'
            section_name: Thresholds
            label: 'Threshold for Interrupt Time counter (critical)'
            description: 'Critical threshold of the % Interrupt Time counter. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$CPU.PRIV.CRIT.MAX}'
          value: '30'
          description: 'The threshold of the % Privileged Time counter.'
          config:
            type: TEXT
            priority: '5'
            section_name: Thresholds
            label: 'Threshold for Privileged Time counter (critical)'
            description: 'Threshold of the % Privileged Time counter. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$CPU.QUEUE.CRIT.MAX}'
          value: '3'
          description: 'The threshold of the Processor Queue Length counter.'
          config:
            type: TEXT
            priority: '6'
            section_name: Thresholds
            label: 'Threshold for Processor Queue Length counter (critical)'
            description: 'Threshold of the Processor Queue Length counter. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$CPU.UTIL.CRIT}'
          value: '90'
          description: 'The critical threshold of the CPU utilization expressed in %.'
          config:
            type: TEXT
            priority: '3'
            section_name: Thresholds
            label: 'Threshold of the CPU utilization'
            description: 'Critical threshold of the CPU utilization expressed in %. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.ERRORS.WARN}'
          value: '2'
          description: 'Warning threshold of error packet rate. Can be used with interface name as context.'
          config:
            type: TEXT
            priority: '26'
            section_name: Thresholds
            label: 'Threshold of error packet rate'
            description: 'Warning threshold of error packet rate. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IF.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the interface utilization trigger.'
          config:
            type: TEXT
            priority: '25'
            section_name: Thresholds
            label: 'The threshold in the interface utilization'
            description: 'Used as a threshold in the interface utilization trigger. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$IFCONTROL}'
          value: '1'
          description: 'Macro for the interface operational state for the "link down" trigger. Can be used with interface name as context.'
          config:
            type: CHECKBOX
            priority: '24'
            label: 'Interfaces control'
            description: 'Fire a trigger when the interface operational status changes to "Link down".'
            options:
              - checked: '1'
                unchecked: '0'
        - macro: '{$MEM.PAGE_SEC.CRIT.MAX}'
          value: '1000'
          description: 'The warning threshold of the Memory Pages/sec counter.'
          config:
            type: TEXT
            priority: '10'
            section_name: Thresholds
            label: 'Threshold of the Memory Pages/sec counter (critical)'
            description: 'Critical threshold of the Memory Pages/sec counter.'
        - macro: '{$MEM.PAGE_TABLE_CRIT.MIN}'
          value: '5000'
          description: 'The warning threshold of the Free System Page Table Entries counter.'
          config:
            type: TEXT
            priority: '9'
            section_name: Thresholds
            label: 'Threshold of the Free System Page Table Entries counter (critical)'
            description: 'Critical threshold of the Free System Page Table Entries counter.'
        - macro: '{$MEMORY.UTIL.MAX}'
          value: '90'
          description: 'The warning threshold of the Memory util item.'
          config:
            type: TEXT
            priority: '7'
            section_name: Thresholds
            label: 'Threshold of the Memory utilization'
            description: 'Warning threshold of the Memory util item. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$NET.IF.IFALIAS.MATCHES}'
          value: '.*'
          description: 'Used in Network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '29'
            section_name: Filters
            label: 'Filter for network interfaces by alias'
            description: 'Regex string to include discovered interface by alias.'
        - macro: '{$NET.IF.IFALIAS.NOT_MATCHES}'
          value: CHANGE_THIS
          description: 'Used in Network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '30'
            section_name: Filters
            label: 'Filter for network interfaces by alias (exclude)'
            description: 'Regex string to exclude discovered interface by alias.'
        - macro: '{$NET.IF.IFDESCR.MATCHES}'
          value: '.*'
          description: 'Used in Network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '31'
            section_name: Filters
            label: 'Filter for network interfaces by description'
            description: 'Regex string to include discovered interface by description.'
        - macro: '{$NET.IF.IFDESCR.NOT_MATCHES}'
          value: CHANGE_THIS
          description: 'Used in Network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '32'
            section_name: Filters
            label: 'Filter for network interfaces by description (exclude)'
            description: 'Regex string to exclude discovered interface by description.'
        - macro: '{$NET.IF.IFNAME.MATCHES}'
          value: '.*'
          description: 'Used in Network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '27'
            section_name: Filters
            label: 'Filter for network interface by name.'
            description: 'Regex string to include discovered interface by name.'
        - macro: '{$NET.IF.IFNAME.NOT_MATCHES}'
          value: Miniport|Virtual|Teredo|Kernel|Loopback|Bluetooth|HTTPS|6to4|QoS|Layer
          description: 'Used in Network interface discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '28'
            section_name: Filters
            label: 'Filter for network interface by name (exclude).'
            description: 'Filters out `loopbacks`, `nulls`, docker `veth` links and `docker0` bridge by default.'
        - macro: '{$SERVICE.NAME.MATCHES}'
          value: '^.*$'
          description: 'Used in Service discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '33'
            section_name: Filters
            label: 'Filter for service by name'
            description: 'Regex string to include discovered service by name.'
        - macro: '{$SERVICE.NAME.NOT_MATCHES}'
          value: '^(?:RemoteRegistry|MMCSS|gupdate|SysmonLog|clr_optimization_v.+|sppsvc|gpsvc|Pml Driver HPZ12|Net Driver HPZ12|MapsBroker|IntelAudioService|Intel\(R\) TPM Provisioning Service|dbupdate|DoSvc|CDPUserSvc_.+|WpnUserService_.+|OneSyncSvc_.+|WbioSrvc|BITS|tiledatamodelsvc|GISvc|ShellHWDetection|TrustedInstaller|TabletInputService|CDPSvc|wuauserv|edgeupdate|cbdhsvc_.+)$'
          description: 'Used in Service discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '34'
            section_name: Filters
            label: 'Filter for service by name (exclude)'
            description: 'Regex string to exclude discovered service by name.'
        - macro: '{$SERVICE.STARTUPNAME.MATCHES}'
          value: '^(?:automatic|automatic delayed)$'
          description: 'Used in Service discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '35'
            section_name: Filters
            label: 'Filter for service by startup name'
            description: 'Regex string to include discovered service by startup name.'
        - macro: '{$SERVICE.STARTUPNAME.NOT_MATCHES}'
          value: '^(?:manual|disabled)$'
          description: 'Used in Service discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '36'
            section_name: Filters
            label: 'Filter for service by startup name (exclude)'
            description: 'Regex string to exclude discovered service by startup name.'
        - macro: '{$SWAP.PFREE.MIN.WARN}'
          value: '20'
          description: 'The warning threshold of the minimum free swap.'
          config:
            type: TEXT
            priority: '8'
            section_name: Thresholds
            label: 'Threshold of the minimum free swap'
            description: 'Warning threshold of the minimum free swap. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.DEV.DEVNAME.MATCHES}'
          value: '.*'
          description: 'Used in physical disk discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '22'
            section_name: Filters
            label: 'Filter for physical disk by name'
            description: 'Regex string to include discovered physical disk by name.'
        - macro: '{$VFS.DEV.DEVNAME.NOT_MATCHES}'
          value: _Total
          description: 'Used in physical disk discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '23'
            section_name: Filters
            label: 'Filter for physical disk by name (exclude)'
            description: 'Regex string to exclude discovered physical disk by name.'
        - macro: '{$VFS.DEV.READ.AWAIT.WARN}'
          value: '0.02'
          description: 'Disk read average response time (in s) before the trigger fires.'
          config:
            type: TEXT
            priority: '20'
            section_name: Thresholds
            label: 'Disk read average response time (in s)'
            description: 'Disk read average response time (in s) before the trigger fires. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.DEV.UTIL.MAX.WARN}'
          value: '95'
          description: 'The warning threshold of disk time utilization in percent.'
          config:
            type: TEXT
            priority: '19'
            section_name: Thresholds
            label: 'Threshold for disk time utilization'
            description: 'Warning threshold of disk time utilization in percent. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.DEV.WRITE.AWAIT.WARN}'
          value: '0.02'
          description: 'Disk write average response time (in s) before the trigger fires.'
          config:
            type: TEXT
            priority: '21'
            section_name: Thresholds
            label: 'Disk write average response time (in s)'
            description: 'Disk write average response time (in s) before the trigger fires. No less than 0.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.FSDRIVETYPE.MATCHES}'
          value: fixed
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '17'
            section_name: Filters
            label: 'Filter for filesystems by drive type'
            description: 'Regex string to include discovered filesystems by drive type.'
        - macro: '{$VFS.FS.FSDRIVETYPE.NOT_MATCHES}'
          value: ^\s$
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '18'
            section_name: Filters
            label: 'Filter for filesystems by drive type (exclude)'
            description: 'Regex string to exclude discovered filesystems by drive type.'
        - macro: '{$VFS.FS.FSNAME.MATCHES}'
          value: '.*'
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '13'
            section_name: Filters
            label: 'Filter for filesystems by name'
            description: 'Regex string to include discovered filesystems by name.'
        - macro: '{$VFS.FS.FSNAME.NOT_MATCHES}'
          value: '^(?:/dev|/sys|/run|/proc|.+/shm$)'
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '14'
            section_name: Filters
            label: 'Filter for filesystems by name (exclude)'
            description: 'Regex string to exclude discovered filesystems by name.'
        - macro: '{$VFS.FS.FSTYPE.MATCHES}'
          value: '.*'
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '15'
            section_name: Filters
            label: 'Filter for filesystems by type'
            description: 'Regex string to include discovered filesystems by type.'
        - macro: '{$VFS.FS.FSTYPE.NOT_MATCHES}'
          value: ^\s$
          description: 'Used in filesystem discovery. Can be overridden on the host or linked template level.'
          config:
            type: TEXT
            priority: '16'
            section_name: Filters
            label: 'Filter for filesystems by type (exclude)'
            description: 'Regex string to exclude discovered filesystems by type.'
        - macro: '{$VFS.FS.PUSED.MAX.CRIT}'
          value: '90'
          description: 'The critical threshold of the filesystem utilization.'
          config:
            type: TEXT
            priority: '12'
            section_name: Thresholds
            label: 'Threshold for filesystem utilization (critical)'
            description: 'Critical threshold of the filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
        - macro: '{$VFS.FS.PUSED.MAX.WARN}'
          value: '80'
          description: 'The warning threshold of the filesystem utilization.'
          config:
            type: TEXT
            priority: '11'
            section_name: Thresholds
            label: 'Threshold for filesystem utilization (warning)'
            description: 'Warning threshold of the filesystem utilization. In the range from 0 to 100 inclusive.'
            regex: '^-?([0-9]+|(([0-9]+)\.([0-9]+)))$'
      dashboards:
        - uuid: 681dd7ed662243709a406069f4a4a206
          name: Filesystems
          pages:
            - name: Overview
              widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '3'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent active'
                        name: 'FS [{#FSLABEL}({#FSNAME})]: Space utilization chart'
                    - type: STRING
                      name: reference
                      value: AAAEB
                - type: graphprototype
                  'y': '5'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent active'
                        name: 'FS [{#FSLABEL}({#FSNAME})]: Space usage graph, in %'
                    - type: STRING
                      name: reference
                      value: AAAEC
        - uuid: 59033ebe1b084a86b820fc59049db125
          name: 'Network interfaces'
          pages:
            - name: Overview
              widgets:
                - type: graphprototype
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent active'
                        name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAI
        - uuid: 234161507ccb4d83b111cb31e0db8ae5
          name: 'System performance'
          pages:
            - widgets:
                - type: graph
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent active'
                        name: 'Windows: CPU usage'
                    - type: STRING
                      name: reference
                      value: AAAAA
                - type: graph
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent active'
                        name: 'Windows: Memory utilization'
                    - type: STRING
                      name: reference
                      value: AAAAC
                - type: graphprototype
                  'y': '10'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '3'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent active'
                        name: 'FS [{#FSLABEL}({#FSNAME})]: Space utilization chart'
                    - type: STRING
                      name: reference
                      value: AAAEA
                - type: graphprototype
                  'y': '15'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent active'
                        name: '{#DEVNAME}: Disk read/write rates'
                    - type: STRING
                      name: reference
                      value: AAAAF
                - type: graphprototype
                  'y': '20'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent active'
                        name: '{#DEVNAME}: Disk utilization and queue'
                    - type: STRING
                      name: reference
                      value: AAAAG
                - type: graphprototype
                  'y': '25'
                  width: '72'
                  height: '5'
                  fields:
                    - type: INTEGER
                      name: columns
                      value: '1'
                    - type: GRAPH_PROTOTYPE
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent active'
                        name: 'Interface {#IFNAME}({#IFALIAS}): Network traffic'
                    - type: STRING
                      name: reference
                      value: AAAAH
                - type: graph
                  x: '36'
                  width: '36'
                  height: '5'
                  fields:
                    - type: ITEM
                      name: itemid.0
                      value:
                        host: 'Windows by Zabbix agent active'
                        key: 'perf_counter_en["\System\Processor Queue Length"]'
                    - type: STRING
                      name: reference
                      value: AAAAB
                    - type: INTEGER
                      name: source_type
                      value: '1'
                - type: graph
                  x: '36'
                  'y': '5'
                  width: '36'
                  height: '5'
                  fields:
                    - type: GRAPH
                      name: graphid.0
                      value:
                        host: 'Windows by Zabbix agent active'
                        name: 'Windows: Swap usage'
                    - type: STRING
                      name: reference
                      value: AAAAD
      valuemaps:
        - uuid: 224ca38281f04c83844763251505cdce
          name: 'Win32_NetworkAdapter::AdapterTypeId'
          mappings:
            - value: '0'
              newvalue: 'Ethernet 802.3'
            - value: '1'
              newvalue: 'Token Ring 802.5'
            - value: '2'
              newvalue: 'Fiber Distributed Data Interface (FDDI)'
            - value: '3'
              newvalue: 'Wide Area Network (WAN)'
            - value: '4'
              newvalue: LocalTalk
            - value: '5'
              newvalue: 'Ethernet using DIX header format'
            - value: '6'
              newvalue: ARCNET
            - value: '7'
              newvalue: 'ARCNET (878.2)'
            - value: '8'
              newvalue: ATM
            - value: '9'
              newvalue: Wireless
            - value: '10'
              newvalue: 'Infrared Wireless'
            - value: '11'
              newvalue: Bpc
            - value: '12'
              newvalue: CoWan
            - value: '13'
              newvalue: '1394'
        - uuid: 850e339a24de4ef6a0a881dc57bfa3a6
          name: 'Win32_NetworkAdapter::NetConnectionStatus'
          mappings:
            - value: '0'
              newvalue: Disconnected
            - value: '1'
              newvalue: Connecting
            - value: '2'
              newvalue: Connected
            - value: '3'
              newvalue: Disconnecting
            - value: '4'
              newvalue: 'Hardware Not Present'
            - value: '5'
              newvalue: 'Hardware Disabled'
            - value: '6'
              newvalue: 'Hardware Malfunction'
            - value: '7'
              newvalue: 'Media Disconnected'
            - value: '8'
              newvalue: Authenticating
            - value: '9'
              newvalue: 'Authentication Succeeded'
            - value: '10'
              newvalue: 'Authentication Failed'
            - value: '11'
              newvalue: 'Invalid Address'
            - value: '12'
              newvalue: 'Credentials Required'
        - uuid: e29ffb786c21406aa2338e3d35b484ef
          name: 'Windows service state'
          mappings:
            - value: '0'
              newvalue: Running
            - value: '1'
              newvalue: Paused
            - value: '2'
              newvalue: 'Start pending'
            - value: '3'
              newvalue: 'Pause pending'
            - value: '4'
              newvalue: 'Continue pending'
            - value: '5'
              newvalue: 'Stop pending'
            - value: '6'
              newvalue: Stopped
            - value: '7'
              newvalue: Unknown
            - value: '255'
              newvalue: 'No such service'
        - uuid: 131de6a1016e43019d7cac2ce76901d4
          name: zabbix.host.active_agent.available
          mappings:
            - value: '0'
              newvalue: unknown
            - value: '1'
              newvalue: available
            - value: '2'
              newvalue: 'not available'
        - uuid: 0b50ea7e6695421da023ece0a23bed10
          name: 'Zabbix agent ping status'
          mappings:
            - value: '1'
              newvalue: Up
  triggers:
    - uuid: b98092ddf87247ff91710e2f310dbfb9
      expression: '(last(/Cisco IOS by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/Cisco IOS by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/Cisco IOS by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/Cisco IOS 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 IOS by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
      tags:
        - tag: scope
          value: notice
    - uuid: f278b8b4eb784107a6d8d3e8437e8a66
      expression: '(last(/Cisco IOS prior to 12.0_3_T by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/Cisco IOS prior to 12.0_3_T by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/Cisco IOS prior to 12.0_3_T by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/Cisco IOS prior to 12.0_3_T 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 IOS prior to 12.0_3_T by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
      tags:
        - tag: scope
          value: notice
    - uuid: 806f54999d064eb68a3f46a0d84ee4df
      expression: '(last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/Cisco IOS versions 12.0_3_T-12.2_3.5 by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/Cisco IOS versions 12.0_3_T-12.2_3.5 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 IOS versions 12.0_3_T-12.2_3.5 by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
      tags:
        - tag: scope
          value: notice
    - uuid: ae5269e17d434927bfd6edc09a9a1f4d
      expression: 'last(/Linux by Zabbix agent/proc.num)/last(/Linux by Zabbix agent/kernel.maxproc)*100>80'
      name: 'Linux: Getting closer to process limit'
      event_name: 'Linux: Getting closer to process limit (over 80% used)'
      opdata: '{ITEM.LASTVALUE1} active, {ITEM.LASTVALUE2} limit.'
      priority: WARNING
      tags:
        - tag: scope
          value: performance
    - uuid: fa21b02aebe143b192a20cd9403a68d0
      expression: 'last(/Linux by Zabbix agent active/proc.num)/last(/Linux by Zabbix agent active/kernel.maxproc)*100>80'
      name: 'Linux: Getting closer to process limit'
      event_name: 'Linux: Getting closer to process limit (over 80% used)'
      opdata: '{ITEM.LASTVALUE1} active, {ITEM.LASTVALUE2} limit.'
      priority: WARNING
      tags:
        - tag: scope
          value: performance
    - uuid: 16e6a4d340164dee9379a3fc0aac0576
      expression: 'max(/Linux by Prom/system.swap.pfree[node_exporter],5m)<{$SWAP.PFREE.MIN.WARN} and last(/Linux by Prom/system.swap.total[node_exporter])>0'
      name: 'Linux: High swap space usage'
      event_name: 'Linux: High swap space usage (less than {$SWAP.PFREE.MIN.WARN}% free)'
      opdata: 'Free: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}'
      priority: WARNING
      description: 'If there is no swap configured, this trigger is ignored.'
      dependencies:
        - name: 'Linux: High memory utilization'
          expression: 'min(/Linux by Prom/vm.memory.util[node_exporter],5m)>{$MEMORY.UTIL.MAX}'
        - name: 'Linux: Lack of available memory'
          expression: 'max(/Linux by Prom/vm.memory.available[node_exporter],5m)<{$MEMORY.AVAILABLE.MIN} and last(/Linux by Prom/vm.memory.total[node_exporter])>0'
      tags:
        - tag: scope
          value: capacity
    - uuid: 8d66563ff7744cd6847325d473eaacfe
      expression: 'max(/Linux by SNMP/system.swap.pfree[snmp],5m)<{$SWAP.PFREE.MIN.WARN} and last(/Linux by SNMP/system.swap.total[memTotalSwap.0])>0'
      name: 'Linux: High swap space usage'
      event_name: 'Linux: High swap space usage (less than {$SWAP.PFREE.MIN.WARN}% free)'
      opdata: 'Free: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}'
      priority: WARNING
      description: 'If there is no swap configured, this trigger is ignored.'
      dependencies:
        - name: 'Linux: High memory utilization'
          expression: 'min(/Linux by SNMP/vm.memory.util[snmp],5m)>{$MEMORY.UTIL.MAX}'
        - name: 'Linux: Lack of available memory'
          expression: 'max(/Linux by SNMP/vm.memory.available[snmp],5m)<{$MEMORY.AVAILABLE.MIN} and last(/Linux by SNMP/vm.memory.total[memTotalReal.0])>0'
      tags:
        - tag: scope
          value: capacity
    - uuid: f49fc01c5ac945d59455563bdbcc6469
      expression: 'max(/Linux by Zabbix agent/system.swap.size[,pfree],5m)<{$SWAP.PFREE.MIN.WARN} and last(/Linux by Zabbix agent/system.swap.size[,total])>0'
      name: 'Linux: High swap space usage'
      event_name: 'Linux: High swap space usage (less than {$SWAP.PFREE.MIN.WARN}% free)'
      opdata: 'Free: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}'
      priority: WARNING
      description: 'If there is no swap configured, this trigger is ignored.'
      dependencies:
        - name: 'Linux: High memory utilization'
          expression: 'min(/Linux by Zabbix agent/vm.memory.utilization,5m)>{$MEMORY.UTIL.MAX}'
        - name: 'Linux: Lack of available memory'
          expression: 'max(/Linux by Zabbix agent/vm.memory.size[available],5m)<{$MEMORY.AVAILABLE.MIN} and last(/Linux by Zabbix agent/vm.memory.size[total])>0'
      tags:
        - tag: scope
          value: capacity
    - uuid: 722692e0703e4609852439a9b751826d
      expression: 'max(/Linux by Zabbix agent active/system.swap.size[,pfree],5m)<{$SWAP.PFREE.MIN.WARN} and last(/Linux by Zabbix agent active/system.swap.size[,total])>0'
      name: 'Linux: High swap space usage'
      event_name: 'Linux: High swap space usage (less than {$SWAP.PFREE.MIN.WARN}% free)'
      opdata: 'Free: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}'
      priority: WARNING
      description: 'If there is no swap configured, this trigger is ignored.'
      dependencies:
        - name: 'Linux: High memory utilization'
          expression: 'min(/Linux by Zabbix agent active/vm.memory.utilization,5m)>{$MEMORY.UTIL.MAX}'
        - name: 'Linux: Lack of available memory'
          expression: 'max(/Linux by Zabbix agent active/vm.memory.size[available],5m)<{$MEMORY.AVAILABLE.MIN} and last(/Linux by Zabbix agent active/vm.memory.size[total])>0'
      tags:
        - tag: scope
          value: capacity
    - uuid: e129fb90ec084a83806aec27141cd6eb
      expression: '(last(/Linux by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/Linux by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/Linux by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/Linux by SNMP/system.net.uptime[sysUpTime.0])<10m)'
      name: 'Linux: Host has been restarted'
      event_name: 'Linux: {HOST.NAME} has been restarted (uptime < 10m)'
      priority: WARNING
      description: 'Uptime is less than 10 minutes.'
      manual_close: 'YES'
      dependencies:
        - name: 'Linux: No SNMP data collection'
          expression: 'max(/Linux by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
      tags:
        - tag: scope
          value: notice
    - uuid: f78ed17586964a46a9de0c4f183984f6
      expression: 'max(/Linux by Prom/vm.memory.available[node_exporter],5m)<{$MEMORY.AVAILABLE.MIN} and last(/Linux by Prom/vm.memory.total[node_exporter])>0'
      name: 'Linux: Lack of available memory'
      event_name: 'Linux: Lack of available memory (<{$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2})'
      opdata: 'Available: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}'
      priority: AVERAGE
      tags:
        - tag: scope
          value: capacity
        - tag: scope
          value: performance
    - uuid: b0a04a6a01854d0eb6f9f225c1108261
      expression: 'max(/Linux by SNMP/vm.memory.available[snmp],5m)<{$MEMORY.AVAILABLE.MIN} and last(/Linux by SNMP/vm.memory.total[memTotalReal.0])>0'
      name: 'Linux: Lack of available memory'
      event_name: 'Linux: Lack of available memory (<{$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2})'
      opdata: 'Available: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}'
      priority: AVERAGE
      description: 'The system is running out of memory.'
      tags:
        - tag: scope
          value: capacity
        - tag: scope
          value: performance
    - uuid: 686470cef97f48f6b017e9fc7a078afe
      expression: 'max(/Linux by Zabbix agent/vm.memory.size[available],5m)<{$MEMORY.AVAILABLE.MIN} and last(/Linux by Zabbix agent/vm.memory.size[total])>0'
      name: 'Linux: Lack of available memory'
      event_name: 'Linux: Lack of available memory (<{$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2})'
      opdata: 'Available: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}'
      priority: AVERAGE
      description: 'The system is running out of memory.'
      tags:
        - tag: scope
          value: capacity
        - tag: scope
          value: performance
    - uuid: b3f51f3c63024d209fd01e17293127a6
      expression: 'max(/Linux by Zabbix agent active/vm.memory.size[available],5m)<{$MEMORY.AVAILABLE.MIN} and last(/Linux by Zabbix agent active/vm.memory.size[total])>0'
      name: 'Linux: Lack of available memory'
      event_name: 'Linux: Lack of available memory (<{$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2})'
      opdata: 'Available: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}'
      priority: AVERAGE
      description: 'The system is running out of memory.'
      tags:
        - tag: scope
          value: capacity
        - tag: scope
          value: performance
    - uuid: e5897641e5594bf6b7b18ae4e107bd50
      expression: |
        min(/Linux by Prom/system.cpu.load.avg1[node_exporter],5m)/last(/Linux by Prom/system.cpu.num[node_exporter])>{$LOAD_AVG_PER_CPU.MAX.WARN}
        and last(/Linux by Prom/system.cpu.load.avg5[node_exporter])>0
        and last(/Linux by Prom/system.cpu.load.avg15[node_exporter])>0
      name: 'Linux: Load average is too high'
      event_name: 'Linux: Load average is too high (per CPU load over {$LOAD_AVG_PER_CPU.MAX.WARN} for 5m)'
      opdata: 'Load averages(1m 5m 15m): ({ITEM.LASTVALUE1} {ITEM.LASTVALUE3} {ITEM.LASTVALUE4}), # of CPUs: {ITEM.LASTVALUE2}'
      priority: AVERAGE
      description: 'The load average per CPU is too high. The system may be slow to respond.'
      tags:
        - tag: scope
          value: capacity
        - tag: scope
          value: performance
    - uuid: 33df3354161047f0b47ad7736b70a302
      expression: |
        min(/Linux by SNMP/system.cpu.load.avg1[laLoad.1],5m)/last(/Linux by SNMP/system.cpu.num[snmp])>{$LOAD_AVG_PER_CPU.MAX.WARN}
        and last(/Linux by SNMP/system.cpu.load.avg5[laLoad.2])>0
        and last(/Linux by SNMP/system.cpu.load.avg15[laLoad.3])>0
      name: 'Linux: Load average is too high'
      event_name: 'Linux: Load average is too high (per CPU load over {$LOAD_AVG_PER_CPU.MAX.WARN} for 5m)'
      opdata: 'Load averages(1m 5m 15m): ({ITEM.LASTVALUE1} {ITEM.LASTVALUE3} {ITEM.LASTVALUE4}), # of CPUs: {ITEM.LASTVALUE2}'
      priority: AVERAGE
      description: 'The load average per CPU is too high. The system may be slow to respond.'
      tags:
        - tag: scope
          value: capacity
        - tag: scope
          value: performance
    - uuid: 695f0c352377409d95aca3fe76d1cae2
      expression: |
        min(/Linux by Zabbix agent/system.cpu.load[all,avg1],5m)/last(/Linux by Zabbix agent/system.cpu.num)>{$LOAD_AVG_PER_CPU.MAX.WARN}
        and last(/Linux by Zabbix agent/system.cpu.load[all,avg5])>0
        and last(/Linux by Zabbix agent/system.cpu.load[all,avg15])>0
      name: 'Linux: Load average is too high'
      event_name: 'Linux: Load average is too high (per CPU load over {$LOAD_AVG_PER_CPU.MAX.WARN} for 5m)'
      opdata: 'Load averages(1m 5m 15m): ({ITEM.LASTVALUE1} {ITEM.LASTVALUE3} {ITEM.LASTVALUE4}), # of CPUs: {ITEM.LASTVALUE2}'
      priority: AVERAGE
      description: 'The load average per CPU is too high. The system may be slow to respond.'
      tags:
        - tag: scope
          value: capacity
        - tag: scope
          value: performance
    - uuid: 72825a0c706043429ed1ff6656763052
      expression: |
        min(/Linux by Zabbix agent active/system.cpu.load[all,avg1],5m)/last(/Linux by Zabbix agent active/system.cpu.num)>{$LOAD_AVG_PER_CPU.MAX.WARN}
        and last(/Linux by Zabbix agent active/system.cpu.load[all,avg5])>0
        and last(/Linux by Zabbix agent active/system.cpu.load[all,avg15])>0
      name: 'Linux: Load average is too high'
      event_name: 'Linux: Load average is too high (per CPU load over {$LOAD_AVG_PER_CPU.MAX.WARN} for 5m)'
      opdata: 'Load averages(1m 5m 15m): ({ITEM.LASTVALUE1} {ITEM.LASTVALUE3} {ITEM.LASTVALUE4}), # of CPUs: {ITEM.LASTVALUE2}'
      priority: AVERAGE
      description: 'The load average per CPU is too high. The system may be slow to respond.'
      tags:
        - tag: scope
          value: capacity
        - tag: scope
          value: performance
    - uuid: 7effa63c9c994a6786279802aa7328ad
      expression: 'last(/Linux by Prom/fd.open[node_exporter])/last(/Linux by Prom/kernel.maxfiles[node_exporter])*100>80'
      name: 'Linux: Running out of file descriptors'
      event_name: 'Linux: Running out of file descriptors (less than < 20% free)'
      opdata: '{ITEM.LASTVALUE1} of {ITEM.LASTVALUE2} file descriptors are in use.'
      priority: WARNING
      tags:
        - tag: scope
          value: performance
    - uuid: 53e737a095a840df9abfcfd9c26007bf
      expression: '(last(/Mikrotik by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/Mikrotik by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/Mikrotik by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/Mikrotik by SNMP/system.net.uptime[sysUpTime.0])<10m)'
      name: 'MikroTik: Host has been restarted'
      event_name: 'MikroTik: {HOST.NAME} has been restarted (uptime < 10m)'
      priority: WARNING
      description: 'Uptime is less than 10 minutes.'
      manual_close: 'YES'
      dependencies:
        - name: 'MikroTik: No SNMP data collection'
          expression: 'max(/Mikrotik by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
      tags:
        - tag: scope
          value: notice
    - uuid: 8b1baeb26e154f99aefeaba3ea4fa63b
      expression: 'min(/Windows by Zabbix agent/perf_counter_en["\System\Processor Queue Length"],5m) - last(/Windows by Zabbix agent/wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]) * 2 > {$CPU.QUEUE.CRIT.MAX}'
      name: 'Windows: CPU queue length is too high'
      event_name: 'Windows: CPU queue length is too high (over {$CPU.QUEUE.CRIT.MAX} for 5m)'
      priority: WARNING
      description: 'The CPU Queue Length in the last 5 minutes exceeds `{$CPU.QUEUE.CRIT.MAX}`. According to actual observations, PQL should not exceed the number of cores * 2. To fine-tune the conditions, use the macro `{$CPU.QUEUE.CRIT.MAX }`.'
      dependencies:
        - name: 'Windows: High CPU utilization'
          expression: 'min(/Windows by Zabbix agent/system.cpu.util,5m)>{$CPU.UTIL.CRIT}'
      tags:
        - tag: scope
          value: performance
    - uuid: 384393bb344e497382ea10e7fce7fcb3
      expression: 'min(/Windows by Zabbix agent active/perf_counter_en["\System\Processor Queue Length"],5m) - last(/Windows by Zabbix agent active/wmi.get[root/cimv2,"Select NumberOfLogicalProcessors from Win32_ComputerSystem"]) * 2 > {$CPU.QUEUE.CRIT.MAX}'
      name: 'Windows: CPU queue length is too high'
      event_name: 'Windows: CPU queue length is too high (over {$CPU.QUEUE.CRIT.MAX} for 5m)'
      priority: WARNING
      description: 'The CPU Queue Length in the last 5 minutes exceeds `{$CPU.QUEUE.CRIT.MAX}`. According to actual observations, PQL should not exceed the number of cores * 2. To fine-tune the conditions, use the macro `{$CPU.QUEUE.CRIT.MAX }`.'
      dependencies:
        - name: 'Windows: High CPU utilization'
          expression: 'min(/Windows by Zabbix agent active/system.cpu.util,5m)>{$CPU.UTIL.CRIT}'
      tags:
        - tag: scope
          value: performance
    - uuid: 7c23e03060ce42b094aac2f8aea1a9ad
      expression: 'max(/Windows by Zabbix agent/system.swap.pfree,5m)<{$SWAP.PFREE.MIN.WARN} and last(/Windows by Zabbix agent/system.swap.size[,total])>0'
      name: 'Windows: High swap space usage'
      event_name: 'Windows: High swap space usage (less than {$SWAP.PFREE.MIN.WARN}% free)'
      opdata: 'Free: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}'
      priority: WARNING
      description: 'This trigger is ignored, if there is no swap configured'
      dependencies:
        - name: 'Windows: High memory utilization'
          expression: 'min(/Windows by Zabbix agent/vm.memory.util,5m)>{$MEMORY.UTIL.MAX}'
      tags:
        - tag: scope
          value: performance
    - uuid: ac93631f79584e2d9909f4bb2f12c866
      expression: 'max(/Windows by Zabbix agent active/system.swap.pfree,5m)<{$SWAP.PFREE.MIN.WARN} and last(/Windows by Zabbix agent active/system.swap.size[,total])>0'
      name: 'Windows: High swap space usage'
      event_name: 'Windows: High swap space usage (less than {$SWAP.PFREE.MIN.WARN}% free)'
      opdata: 'Free: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}'
      priority: WARNING
      description: 'This trigger is ignored, if there is no swap configured'
      dependencies:
        - name: 'Windows: High memory utilization'
          expression: 'min(/Windows by Zabbix agent active/vm.memory.util,5m)>{$MEMORY.UTIL.MAX}'
      tags:
        - tag: scope
          value: performance
    - uuid: b7a0b390f8844d2aa05ee849d12495f7
      expression: '(last(/Windows by SNMP/system.hw.uptime[hrSystemUptime.0])>0 and last(/Windows by SNMP/system.hw.uptime[hrSystemUptime.0])<10m) or (last(/Windows by SNMP/system.hw.uptime[hrSystemUptime.0])=0 and last(/Windows by SNMP/system.net.uptime[sysUpTime.0])<10m)'
      name: 'Windows: Host has been restarted'
      event_name: 'Windows: {HOST.NAME} has been restarted (uptime < 10m)'
      priority: WARNING
      description: 'Uptime is less than 10 minutes.'
      manual_close: 'YES'
      dependencies:
        - name: 'Windows: No SNMP data collection'
          expression: 'max(/Windows by SNMP/zabbix[host,snmp,available],{$SNMP.TIMEOUT})=0'
      tags:
        - tag: scope
          value: notice
  graphs:
    - uuid: 8c8379b8b21048d4b2ba3781a2392b69
      name: 'Cisco IOS: CPU utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'Cisco IOS prior to 12.0_3_T by SNMP'
            key: 'system.cpu.util[avgBusy5]'
    - uuid: bb8bb267b32b46bfa2a6277b65730396
      name: 'Linux: CPU jumps'
      graph_items:
        - color: 199C0D
          item:
            host: 'Linux by Prom'
            key: 'system.cpu.switches[node_exporter]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Linux by Prom'
            key: 'system.cpu.intr[node_exporter]'
    - uuid: ff743a3e32e7497b9b98173b3611687f
      name: 'Linux: CPU jumps'
      graph_items:
        - color: 199C0D
          item:
            host: 'Linux by SNMP'
            key: 'system.cpu.switches[ssRawContexts.0]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Linux by SNMP'
            key: 'system.cpu.intr[ssRawInterrupts.0]'
    - uuid: 4a72646168d545c398c92e09c975a966
      name: 'Linux: CPU jumps'
      graph_items:
        - color: 199C0D
          item:
            host: 'Linux by Zabbix agent'
            key: system.cpu.switches
        - sortorder: '1'
          color: F63100
          item:
            host: 'Linux by Zabbix agent'
            key: system.cpu.intr
    - uuid: 2e4890b0db694721b1e903ecf01c612c
      name: 'Linux: CPU jumps'
      graph_items:
        - color: 199C0D
          item:
            host: 'Linux by Zabbix agent active'
            key: system.cpu.switches
        - sortorder: '1'
          color: F63100
          item:
            host: 'Linux by Zabbix agent active'
            key: system.cpu.intr
    - uuid: 09ebf28dc8504ab2bfd07130d1f6ca91
      name: 'Linux: CPU usage'
      type: STACKED
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - color: 199C0D
          item:
            host: 'Linux by Prom'
            key: 'system.cpu.system[node_exporter]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Linux by Prom'
            key: 'system.cpu.user[node_exporter]'
        - sortorder: '2'
          color: 00611C
          item:
            host: 'Linux by Prom'
            key: 'system.cpu.nice[node_exporter]'
        - sortorder: '3'
          color: F7941D
          item:
            host: 'Linux by Prom'
            key: 'system.cpu.iowait[node_exporter]'
        - sortorder: '4'
          color: FC6EA3
          item:
            host: 'Linux by Prom'
            key: 'system.cpu.steal[node_exporter]'
        - sortorder: '5'
          color: 6C59DC
          item:
            host: 'Linux by Prom'
            key: 'system.cpu.interrupt[node_exporter]'
        - sortorder: '6'
          color: C7A72D
          item:
            host: 'Linux by Prom'
            key: 'system.cpu.softirq[node_exporter]'
        - sortorder: '7'
          color: BA2A5D
          item:
            host: 'Linux by Prom'
            key: 'system.cpu.guest[node_exporter]'
        - sortorder: '8'
          color: F230E0
          item:
            host: 'Linux by Prom'
            key: 'system.cpu.guest_nice[node_exporter]'
    - uuid: f217c30162b24c9190785fad1ec83b73
      name: 'Linux: CPU usage'
      type: STACKED
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - color: 199C0D
          item:
            host: 'Linux by Zabbix agent'
            key: 'system.cpu.util[,system]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Linux by Zabbix agent'
            key: 'system.cpu.util[,user]'
        - sortorder: '2'
          color: 00611C
          item:
            host: 'Linux by Zabbix agent'
            key: 'system.cpu.util[,nice]'
        - sortorder: '3'
          color: F7941D
          item:
            host: 'Linux by Zabbix agent'
            key: 'system.cpu.util[,iowait]'
        - sortorder: '4'
          color: FC6EA3
          item:
            host: 'Linux by Zabbix agent'
            key: 'system.cpu.util[,steal]'
        - sortorder: '5'
          color: 6C59DC
          item:
            host: 'Linux by Zabbix agent'
            key: 'system.cpu.util[,interrupt]'
        - sortorder: '6'
          color: C7A72D
          item:
            host: 'Linux by Zabbix agent'
            key: 'system.cpu.util[,softirq]'
        - sortorder: '7'
          color: BA2A5D
          item:
            host: 'Linux by Zabbix agent'
            key: 'system.cpu.util[,guest]'
        - sortorder: '8'
          color: F230E0
          item:
            host: 'Linux by Zabbix agent'
            key: 'system.cpu.util[,guest_nice]'
    - uuid: 27b4612871004ca282f7d91057150800
      name: 'Linux: CPU usage'
      type: STACKED
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - color: 199C0D
          item:
            host: 'Linux by Zabbix agent active'
            key: 'system.cpu.util[,system]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Linux by Zabbix agent active'
            key: 'system.cpu.util[,user]'
        - sortorder: '2'
          color: 00611C
          item:
            host: 'Linux by Zabbix agent active'
            key: 'system.cpu.util[,nice]'
        - sortorder: '3'
          color: F7941D
          item:
            host: 'Linux by Zabbix agent active'
            key: 'system.cpu.util[,iowait]'
        - sortorder: '4'
          color: FC6EA3
          item:
            host: 'Linux by Zabbix agent active'
            key: 'system.cpu.util[,steal]'
        - sortorder: '5'
          color: 6C59DC
          item:
            host: 'Linux by Zabbix agent active'
            key: 'system.cpu.util[,interrupt]'
        - sortorder: '6'
          color: C7A72D
          item:
            host: 'Linux by Zabbix agent active'
            key: 'system.cpu.util[,softirq]'
        - sortorder: '7'
          color: BA2A5D
          item:
            host: 'Linux by Zabbix agent active'
            key: 'system.cpu.util[,guest]'
        - sortorder: '8'
          color: F230E0
          item:
            host: 'Linux by Zabbix agent active'
            key: 'system.cpu.util[,guest_nice]'
    - uuid: 9cd184535b6b4fd5978a302bdedeac0b
      name: 'Linux: CPU utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'Linux by Prom'
            key: 'system.cpu.util[node_exporter]'
    - uuid: 668ae470ea33444bb40e3b83b97659c3
      name: 'Linux: CPU utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'Linux by Zabbix agent'
            key: system.cpu.util
    - uuid: 3bebe4d0071441f4b95170fd0278a4dd
      name: 'Linux: CPU utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'Linux by Zabbix agent active'
            key: system.cpu.util
    - uuid: 1383a8b57e6743de946c8a43016ee2f7
      name: 'Linux: Memory usage'
      ymin_type_1: FIXED
      graph_items:
        - drawtype: BOLD_LINE
          color: 199C0D
          item:
            host: 'Linux by Prom'
            key: 'vm.memory.total[node_exporter]'
        - sortorder: '1'
          drawtype: GRADIENT_LINE
          color: F63100
          item:
            host: 'Linux by Prom'
            key: 'vm.memory.available[node_exporter]'
    - uuid: 16b11e6079864c71a7d068276a8e8650
      name: 'Linux: Memory usage'
      ymin_type_1: FIXED
      graph_items:
        - drawtype: BOLD_LINE
          color: 199C0D
          item:
            host: 'Linux by SNMP'
            key: 'vm.memory.total[memTotalReal.0]'
        - sortorder: '1'
          drawtype: GRADIENT_LINE
          color: F63100
          item:
            host: 'Linux by SNMP'
            key: 'vm.memory.available[snmp]'
    - uuid: f260a63bc3b04c3b80b47f83bb05ed9c
      name: 'Linux: Memory usage'
      ymin_type_1: FIXED
      graph_items:
        - drawtype: BOLD_LINE
          color: 199C0D
          item:
            host: 'Linux by Zabbix agent'
            key: 'vm.memory.size[total]'
        - sortorder: '1'
          drawtype: GRADIENT_LINE
          color: F63100
          item:
            host: 'Linux by Zabbix agent'
            key: 'vm.memory.size[available]'
    - uuid: a4d67a1cd253431faaedf888dad90e72
      name: 'Linux: Memory usage'
      ymin_type_1: FIXED
      graph_items:
        - drawtype: BOLD_LINE
          color: 199C0D
          item:
            host: 'Linux by Zabbix agent active'
            key: 'vm.memory.size[total]'
        - sortorder: '1'
          drawtype: GRADIENT_LINE
          color: F63100
          item:
            host: 'Linux by Zabbix agent active'
            key: 'vm.memory.size[available]'
    - uuid: 81e79ef1219a4c48af1f740017bbde6a
      name: 'Linux: Memory utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'Linux by Prom'
            key: 'vm.memory.util[node_exporter]'
    - uuid: 5cd95425d8fe4705833995ccfb484c66
      name: 'Linux: Memory utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'Linux by SNMP'
            key: 'vm.memory.util[snmp]'
    - uuid: bac7a8fb7e014696b54d262bf40e5b12
      name: 'Linux: Memory utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'Linux by Zabbix agent'
            key: vm.memory.utilization
    - uuid: 4aaf22daf96b4b29ad3a2e935f4e2d4c
      name: 'Linux: Memory utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'Linux by Zabbix agent active'
            key: vm.memory.utilization
    - uuid: fa49531c9c3d4087b2205bed6ed0469f
      name: 'Linux: Processes'
      graph_items:
        - color: 199C0D
          item:
            host: 'Linux by Zabbix agent'
            key: proc.num
        - sortorder: '1'
          color: F63100
          item:
            host: 'Linux by Zabbix agent'
            key: 'proc.num[,,run]'
    - uuid: 60078a7b24494a41a3595650b113ee1d
      name: 'Linux: Processes'
      graph_items:
        - color: 199C0D
          item:
            host: 'Linux by Zabbix agent active'
            key: proc.num
        - sortorder: '1'
          color: F63100
          item:
            host: 'Linux by Zabbix agent active'
            key: 'proc.num[,,run]'
    - uuid: 567684533d2442b286119c7d392e2bb7
      name: 'Linux: Swap usage'
      graph_items:
        - color: 199C0D
          item:
            host: 'Linux by Prom'
            key: 'system.swap.free[node_exporter]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Linux by Prom'
            key: 'system.swap.total[node_exporter]'
    - uuid: 421c99e9076c4f24931206255577c988
      name: 'Linux: Swap usage'
      graph_items:
        - color: 199C0D
          item:
            host: 'Linux by SNMP'
            key: 'system.swap.free[memAvailSwap.0]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Linux by SNMP'
            key: 'system.swap.total[memTotalSwap.0]'
    - uuid: 1ca6e2d883114853bd402110c3fd211e
      name: 'Linux: Swap usage'
      graph_items:
        - color: 199C0D
          item:
            host: 'Linux by Zabbix agent'
            key: 'system.swap.size[,free]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Linux by Zabbix agent'
            key: 'system.swap.size[,total]'
    - uuid: a70c0c13381a4fb68eaeb66226ffe2bb
      name: 'Linux: Swap usage'
      graph_items:
        - color: 199C0D
          item:
            host: 'Linux by Zabbix agent active'
            key: 'system.swap.size[,free]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Linux by Zabbix agent active'
            key: 'system.swap.size[,total]'
    - uuid: f9cbf136d01040ffa18753fb40d55f79
      name: 'Linux: System load'
      ymin_type_1: FIXED
      graph_items:
        - color: 199C0D
          item:
            host: 'Linux by Prom'
            key: 'system.cpu.load.avg1[node_exporter]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Linux by Prom'
            key: 'system.cpu.load.avg5[node_exporter]'
        - sortorder: '2'
          color: 00611C
          item:
            host: 'Linux by Prom'
            key: 'system.cpu.load.avg15[node_exporter]'
        - sortorder: '3'
          color: F7941D
          yaxisside: RIGHT
          item:
            host: 'Linux by Prom'
            key: 'system.cpu.num[node_exporter]'
    - uuid: feff7234e6cc420e94acc3c0dab0a61e
      name: 'Linux: System load'
      ymin_type_1: FIXED
      graph_items:
        - color: 199C0D
          item:
            host: 'Linux by SNMP'
            key: 'system.cpu.load.avg1[laLoad.1]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Linux by SNMP'
            key: 'system.cpu.load.avg5[laLoad.2]'
        - sortorder: '2'
          color: 00611C
          item:
            host: 'Linux by SNMP'
            key: 'system.cpu.load.avg15[laLoad.3]'
        - sortorder: '3'
          color: F7941D
          yaxisside: RIGHT
          item:
            host: 'Linux by SNMP'
            key: 'system.cpu.num[snmp]'
    - uuid: 1b8cc9470a5040d79090a3e5dfcb0a76
      name: 'Linux: System load'
      ymin_type_1: FIXED
      graph_items:
        - color: 199C0D
          item:
            host: 'Linux by Zabbix agent'
            key: 'system.cpu.load[all,avg1]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Linux by Zabbix agent'
            key: 'system.cpu.load[all,avg5]'
        - sortorder: '2'
          color: 00611C
          item:
            host: 'Linux by Zabbix agent'
            key: 'system.cpu.load[all,avg15]'
        - sortorder: '3'
          color: F7941D
          yaxisside: RIGHT
          item:
            host: 'Linux by Zabbix agent'
            key: system.cpu.num
    - uuid: d47109e977ec4362a3f3bb5e7708b48a
      name: 'Linux: System load'
      ymin_type_1: FIXED
      graph_items:
        - color: 199C0D
          item:
            host: 'Linux by Zabbix agent active'
            key: 'system.cpu.load[all,avg1]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Linux by Zabbix agent active'
            key: 'system.cpu.load[all,avg5]'
        - sortorder: '2'
          color: 00611C
          item:
            host: 'Linux by Zabbix agent active'
            key: 'system.cpu.load[all,avg15]'
        - sortorder: '3'
          color: F7941D
          yaxisside: RIGHT
          item:
            host: 'Linux by Zabbix agent active'
            key: system.cpu.num
    - uuid: 42efab7c7fae46729b2ad410b0be57cc
      name: 'Mikrotik: Memory utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'Mikrotik by SNMP'
            key: 'vm.memory.util[memoryUsedPercentage.Memory]'
    - uuid: 02ec085b49614b30a45287a7e88a8da1
      name: 'Windows: CPU jumps'
      graph_items:
        - color: 199C0D
          item:
            host: 'Windows by Zabbix agent'
            key: 'perf_counter_en["\System\Context Switches/sec"]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Windows by Zabbix agent'
            key: 'perf_counter_en["\Processor Information(_total)\% Interrupt Time"]'
    - uuid: 133a9930f45b448abbf35fe3a00d10c6
      name: 'Windows: CPU jumps'
      graph_items:
        - color: 199C0D
          item:
            host: 'Windows by Zabbix agent active'
            key: 'perf_counter_en["\System\Context Switches/sec"]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Windows by Zabbix agent active'
            key: 'perf_counter_en["\Processor Information(_total)\% Interrupt Time"]'
    - uuid: 0c2db401fe574282ab0beb6955049330
      name: 'Windows: CPU usage'
      type: STACKED
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - color: 199C0D
          item:
            host: 'Windows by Zabbix agent'
            key: 'perf_counter_en["\Processor Information(_total)\% User Time"]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Windows by Zabbix agent'
            key: 'perf_counter_en["\Processor Information(_total)\% Privileged Time"]'
    - uuid: 2a650f6de7804835a9a02db021649fca
      name: 'Windows: CPU usage'
      type: STACKED
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - color: 199C0D
          item:
            host: 'Windows by Zabbix agent active'
            key: 'perf_counter_en["\Processor Information(_total)\% User Time"]'
        - sortorder: '1'
          color: F63100
          item:
            host: 'Windows by Zabbix agent active'
            key: 'perf_counter_en["\Processor Information(_total)\% Privileged Time"]'
    - uuid: 1be13ea06a404fc88ced6c6a972290c8
      name: 'Windows: CPU utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'Windows by SNMP'
            key: system.cpu.util
    - uuid: 5de711b16f3845659289483f6deb4761
      name: 'Windows: CPU utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'Windows by Zabbix agent'
            key: system.cpu.util
    - uuid: 0865f60b2cd845aea2f2daad93c3bf83
      name: 'Windows: CPU utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'Windows by Zabbix agent active'
            key: system.cpu.util
    - uuid: 1b86c8f6fe3343e6838c5d02f4f64b2b
      name: 'Windows: Memory utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'Windows by Zabbix agent'
            key: vm.memory.util
    - uuid: f09c95d4637140c89a7b43165906db96
      name: 'Windows: Memory utilization'
      ymin_type_1: FIXED
      ymax_type_1: FIXED
      graph_items:
        - drawtype: GRADIENT_LINE
          color: 199C0D
          item:
            host: 'Windows by Zabbix agent active'
            key: vm.memory.util
    - uuid: 518f6bcdcefc4cf493244798ccd09ec1
      name: 'Windows: Swap usage'
      graph_items:
        - color: 199C0D
          item:
            host: 'Windows by Zabbix agent'
            key: system.swap.free
        - sortorder: '1'
          color: F63100
          item:
            host: 'Windows by Zabbix agent'
            key: 'system.swap.size[,total]'
    - uuid: 441075d89a7045c283a7da9dd74e2a1b
      name: 'Windows: Swap usage'
      graph_items:
        - color: 199C0D
          item:
            host: 'Windows by Zabbix agent active'
            key: system.swap.free
        - sortorder: '1'
          color: F63100
          item:
            host: 'Windows by Zabbix agent active'
            key: 'system.swap.size[,total]'
