zabbix_export:
  version: '7.0'
  template_groups:
    - uuid: 846977d1dfed4968bc5f8bdb363285bc
      name: 'Templates/Operating systems'
  templates:
    - uuid: f8f7908280354f2abeed07dc788c3747
      template: 'Linux by Zabbix agent'
      name: 'Linux by Zabbix agent'
      description: |
        This is an official Linux template. It requires Zabbix agent 7.0 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"
      vendor:
        name: Zabbix
        version: 7.0-3
      groups:
        - name: 'Templates/Operating systems'
      items:
        - uuid: df561a0cece94760a78704edf7da7326
          name: 'Host name of Zabbix agent running'
          key: agent.hostname
          delay: 1h
          value_type: CHAR
          trends: '0'
          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
          trends: '0'
          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
              parameters:
                - ''
          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
              parameters:
                - ''
          tags:
            - tag: component
              value: cpu
        - uuid: ca4235ec7607469cb0124a6253d3c489
          name: 'CPU utilization'
          type: DEPENDENT
          key: system.cpu.util
          delay: '0'
          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
          trends: '0'
          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
          trends: '0'
          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
          trends: '0'
          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
          trends: '0'
          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
          trends: '0'
          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
          trends: '0'
          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
          delay: '0'
          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}'
                formulaid: A
              - macro: '{#IFNAME}'
                value: '{$NET.IF.IFNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
                formulaid: B
          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
                  parameters:
                    - ''
              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
                  parameters:
                    - ''
              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
                  parameters:
                    - ''
                - 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
                  parameters:
                    - ''
              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
                  parameters:
                    - ''
              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
                  parameters:
                    - ''
                - 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}'
                formulaid: A
              - macro: '{#DEVNAME}'
                value: '{$VFS.DEV.DEVNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
                formulaid: B
              - macro: '{#DEVTYPE}'
                value: disk
                formulaid: C
          item_prototypes:
            - uuid: 5e29abb8d56044f69426ed3594f8ac9f
              name: '{#DEVNAME}: Disk average queue size (avgqu-sz)'
              type: DEPENDENT
              key: 'vfs.dev.queue_size[{#DEVNAME}]'
              delay: '0'
              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
                  parameters:
                    - ''
                - 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}]'
              delay: '0'
              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
                  parameters:
                    - ''
              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}]'
              delay: '0'
              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
                  parameters:
                    - ''
                - 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}]'
              delay: '0'
              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
                  parameters:
                    - ''
                - 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}]'
              delay: '0'
              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
                  parameters:
                    - ''
              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}]'
              delay: '0'
              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
                  parameters:
                    - ''
                - 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
              trends: '0'
              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
          delay: '0'
          filter:
            evaltype: AND
            conditions:
              - macro: '{#FSNAME}'
                value: '{$VFS.FS.FSNAME.MATCHES}'
                formulaid: A
              - macro: '{#FSNAME}'
                value: '{$VFS.FS.FSNAME.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
                formulaid: B
              - macro: '{#FSTYPE}'
                value: '{$VFS.FS.FSTYPE.MATCHES}'
                formulaid: C
              - macro: '{#FSTYPE}'
                value: '{$VFS.FS.FSTYPE.NOT_MATCHES}'
                operator: NOT_MATCHES_REGEX
                formulaid: D
          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]'
              delay: '0'
              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]'
              delay: '0'
              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]'
              delay: '0'
              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]'
              delay: '0'
              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]'
              delay: '0'
              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]'
              delay: '0'
              history: 1h
              value_type: TEXT
              trends: '0'
              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]'
              delay: '0'
              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)$
                    formulaid: A
              operations:
                - operationobject: ITEM_PROTOTYPE
                  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).'
        - macro: '{$CPU.UTIL.CRIT}'
          value: '90'
          description: 'Critical threshold of CPU utilization expressed in %.'
        - macro: '{$IF.ERRORS.WARN}'
          value: '2'
          description: 'Warning threshold of error packet rate. Can be used with interface name as context.'
        - macro: '{$IF.UTIL.MAX}'
          value: '90'
          description: 'Used as a threshold in the interface utilization trigger.'
        - macro: '{$IFCONTROL}'
          value: '1'
          description: 'Link status trigger will be fired only for interfaces where the context macro equals "1".'
        - macro: '{$KERNEL.MAXFILES.MIN}'
          value: '256'
        - macro: '{$KERNEL.MAXPROC.MIN}'
          value: '1024'
        - 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.'
        - macro: '{$MEMORY.AVAILABLE.MIN}'
          value: 20M
          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.'
        - macro: '{$NET.IF.IFNAME.MATCHES}'
          value: '^.*$'
          description: 'Used for network interface discovery. Can be overridden on the host or linked template level.'
        - macro: '{$NET.IF.IFNAME.NOT_MATCHES}'
          value: '(^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9A-z]+$|docker[0-9]+|br-[a-z0-9]{12})'
          description: 'Filters out `loopbacks`, `nulls`, docker `veth` links and `docker0` bridge by default.'
        - macro: '{$SWAP.PFREE.MIN.WARN}'
          value: '50'
          description: 'The warning threshold of the minimum free swap.'
        - macro: '{$SYSTEM.FUZZYTIME.MAX}'
          value: 60s
          description: 'The 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.'
        - macro: '{$VFS.DEV.DEVNAME.MATCHES}'
          value: .+
          description: 'Used for block device discovery. Can be overridden on the host or linked template level.'
        - 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.'
        - macro: '{$VFS.DEV.READ.AWAIT.WARN}'
          value: '20'
          description: 'The average response time (in ms) of disk read before the trigger fires.'
        - macro: '{$VFS.DEV.WRITE.AWAIT.WARN}'
          value: '20'
          description: 'The average response time (in ms) of disk write before the trigger fires.'
        - macro: '{$VFS.FS.FSNAME.MATCHES}'
          value: .+
          description: 'Used for filesystem discovery. Can be overridden on the host or linked template level.'
        - 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.'
        - 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.'
        - macro: '{$VFS.FS.FSTYPE.NOT_MATCHES}'
          value: ^\s$
          description: 'Used for filesystem discovery. Can be overridden on the host or linked template level.'
        - macro: '{$VFS.FS.INODE.PFREE.MIN.CRIT}'
          value: '10'
          description: 'The critical threshold of the filesystem metadata utilization.'
        - macro: '{$VFS.FS.INODE.PFREE.MIN.WARN}'
          value: '20'
          description: 'The warning threshold of the filesystem metadata utilization.'
        - macro: '{$VFS.FS.PUSED.MAX.CRIT}'
          value: '90'
          description: 'The critical threshold of the filesystem utilization.'
        - macro: '{$VFS.FS.PUSED.MAX.WARN}'
          value: '80'
          description: 'The warning threshold of the filesystem utilization.'
      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
  triggers:
    - 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: 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: 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: 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
  graphs:
    - 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: 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: 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: 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: 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: 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: 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: 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