<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export >
<version > 4.4</version>
<date > 2020-02-17T07:55:13Z</date>
<groups >
<group >
<name > Templates</name>
</group>
</groups>
<templates >
<template >
<template > Template_App_ZFS</template>
<name > Template_App_ZFS</name>
<groups >
<group >
<name > Templates</name>
</group>
</groups>
<applications >
<application >
<name > Memory</name>
</application>
<application >
<name > Storage</name>
</application>
</applications>
<items >
<item >
<name > ZFS: ARC: All</name>
<key > vfs.zfs.stats.all[arcstats]</key>
<delay > 300</delay>
<history > 0</history>
<trends > 0</trends>
<value_type > TEXT</value_type>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,compressed_size]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.compressed_size</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: compression win</name>
<type > CALCULATED</type>
<key > vfs.zfs.stats[arcstats,compress_win]</key>
<delay > 300</delay>
<trends > 1825d</trends>
<units > B</units>
<params > last(" vfs.zfs.stats[arcstats,uncompressed_size]" )-last(" vfs.zfs.stats[arcstats,compressed_size]" )</params>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,c_max]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.c_max</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,c_min]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.c_min</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,data_size]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.data_size</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,demand_data_hits]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.demand_data_hits</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: demand data hits %</name>
<type > CALCULATED</type>
<key > vfs.zfs.stats[arcstats,demand_data_hits_pct]</key>
<delay > 300</delay>
<trends > 1825d</trends>
<value_type > FLOAT</value_type>
<units > %</units>
<params > 100*last(" vfs.zfs.stats[arcstats,demand_data_hits]" )/(last(" vfs.zfs.stats[arcstats,demand_data_hits]" )+last(" vfs.zfs.stats[arcstats,demand_data_misses]" )+count(" vfs.zfs.stats[arcstats,demand_data_hits]" ,#1,0))</params>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,demand_data_misses]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.demand_data_misses</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: demand data misses %</name>
<type > CALCULATED</type>
<key > vfs.zfs.stats[arcstats,demand_data_misses_pct]</key>
<delay > 300</delay>
<trends > 1825d</trends>
<value_type > FLOAT</value_type>
<units > %</units>
<params > 100*last(" vfs.zfs.stats[arcstats,demand_data_misses]" )/(last(" vfs.zfs.stats[arcstats,demand_data_hits]" )+last(" vfs.zfs.stats[arcstats,demand_data_misses]" )+count(" vfs.zfs.stats[arcstats,demand_data_misses]" ,#1,0))</params>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<triggers >
<trigger >
<expression > {avg(1h)}> (100-{$ZFS_ARC_HIT_DATA_PCT_WARN})</expression>
<name > ZFS: Low ARC data efficiency</name>
<priority > INFO</priority>
</trigger>
</triggers>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,demand_metadata_hits]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.demand_metadata_hits</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: demand metadata hits %</name>
<type > CALCULATED</type>
<key > vfs.zfs.stats[arcstats,demand_metadata_hits_pct]</key>
<delay > 300</delay>
<trends > 1825d</trends>
<value_type > FLOAT</value_type>
<units > %</units>
<params > 100*last(" vfs.zfs.stats[arcstats,demand_metadata_hits]" )/(last(" vfs.zfs.stats[arcstats,demand_metadata_hits]" )+last(" vfs.zfs.stats[arcstats,demand_metadata_misses]" )+count(" vfs.zfs.stats[arcstats,demand_metadata_hits]" ,#1,0))</params>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,demand_metadata_misses]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.demand_metadata_misses</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: demand metadata misses %</name>
<type > CALCULATED</type>
<key > vfs.zfs.stats[arcstats,demand_metadata_misses_pct]</key>
<delay > 300</delay>
<trends > 1825d</trends>
<value_type > FLOAT</value_type>
<units > %</units>
<params > 100*last(" vfs.zfs.stats[arcstats,demand_metadata_misses]" )/(last(" vfs.zfs.stats[arcstats,demand_metadata_hits]" )+last(" vfs.zfs.stats[arcstats,demand_metadata_misses]" )+count(" vfs.zfs.stats[arcstats,demand_metadata_misses]" ,#1,0))</params>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<triggers >
<trigger >
<expression > {avg(1h)}> (100-{$ZFS_ARC_HIT_METADATA_PCT_WARN})</expression>
<name > ZFS: Low ARC metadata efficiency</name>
<priority > INFO</priority>
</trigger>
</triggers>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,evict_l2_cached]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.evict_l2_cached</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,evict_l2_eligible]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.evict_l2_eligible</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,evict_l2_ineligible]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.evict_l2_ineligible</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,hdr_size]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.hdr_size</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,hits]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.hits</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: hits %</name>
<type > CALCULATED</type>
<key > vfs.zfs.stats[arcstats,hits_pct]</key>
<delay > 300</delay>
<trends > 1825d</trends>
<value_type > FLOAT</value_type>
<units > %</units>
<params > 100*last(" vfs.zfs.stats[arcstats,hits]" )/(last(" vfs.zfs.stats[arcstats,hits]" )+last(" vfs.zfs.stats[arcstats,misses]" )+count(" vfs.zfs.stats[arcstats,hits]" ,#1,0))</params>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,l2_cksum_bad]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.l2_cksum_bad</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,l2_hits]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.l2_hits</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: l2 hits %</name>
<type > CALCULATED</type>
<key > vfs.zfs.stats[arcstats,l2_hits_pct]</key>
<delay > 300</delay>
<trends > 1825d</trends>
<value_type > FLOAT</value_type>
<units > %</units>
<params > 100*last(" vfs.zfs.stats[arcstats,l2_hits]" )/(last(" vfs.zfs.stats[arcstats,l2_hits]" )+last(" vfs.zfs.stats[arcstats,l2_misses]" )+count(" vfs.zfs.stats[arcstats,l2_hits]" ,#1,0))</params>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,l2_io_error]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.l2_io_error</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,l2_misses]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.l2_misses</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: l2 misses %</name>
<type > CALCULATED</type>
<key > vfs.zfs.stats[arcstats,l2_misses_pct]</key>
<delay > 300</delay>
<trends > 1825d</trends>
<value_type > FLOAT</value_type>
<units > %</units>
<params > 100*last(" vfs.zfs.stats[arcstats,l2_misses]" )/(last(" vfs.zfs.stats[arcstats,l2_hits]" )+last(" vfs.zfs.stats[arcstats,l2_misses]" )+count(" vfs.zfs.stats[arcstats,l2_misses]" ,#1,0))</params>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,l2_read_bytes]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.l2_read_bytes</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,l2_writes_error]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.l2_writes_error</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,l2_write_bytes]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.l2_write_bytes</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,metadata_size]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.metadata_size</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,mfu_ghost_hits]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.mfu_ghost_hits</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,mfu_ghost_size]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.mfu_ghost_size</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,mfu_hits]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.mfu_hits</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,mfu_size]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.mfu_size</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,misses]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.misses</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: misses %</name>
<type > CALCULATED</type>
<key > vfs.zfs.stats[arcstats,misses_pct]</key>
<delay > 300</delay>
<trends > 1825d</trends>
<value_type > FLOAT</value_type>
<units > %</units>
<params > 100*last(" vfs.zfs.stats[arcstats,misses]" )/(last(" vfs.zfs.stats[arcstats,hits]" )+last(" vfs.zfs.stats[arcstats,misses]" )+count(" vfs.zfs.stats[arcstats,misses]" ,#1,0))</params>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<triggers >
<trigger >
<expression > {avg(1h)}> (100-{$ZFS_ARC_HIT_PCT_WARN})</expression>
<name > ZFS: Low ARC global efficiency</name>
<priority > INFO</priority>
</trigger>
</triggers>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,mru_ghost_hits]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.mru_ghost_hits</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,mru_ghost_size]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.mru_ghost_size</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,mru_hits]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.mru_hits</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,mru_size]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.mru_size</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,overhead_size]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.overhead_size</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,prefetch_data_hits]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.prefetch_data_hits</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,prefetch_data_misses]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.prefetch_data_misses</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,prefetch_metadata_hits]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.prefetch_metadata_hits</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,prefetch_metadata_misses]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.prefetch_metadata_misses</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,size]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.size</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
<item >
<name > ZFS: ARC: $2</name>
<type > DEPENDENT</type>
<key > vfs.zfs.stats[arcstats,uncompressed_size]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Memory</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.uncompressed_size</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.stats.all[arcstats]</key>
</master_item>
</item>
</items>
<discovery_rules >
<discovery_rule >
<name > ZFS: filesystems discovery</name>
<key > vfs.zfs.discovery[fs]</key>
<delay > 3600</delay>
<lifetime > 1d</lifetime>
<item_prototypes >
<item_prototype >
<name > ZFS: fs {#ZFS_FS} info</name>
<key > vfs.zfs.dataset.info[{#ZFS_FS},fs]</key>
<delay > 300s</delay>
<history > 0</history>
<trends > 0</trends>
<value_type > TEXT</value_type>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
</item_prototype>
<item_prototype >
<name > ZFS: fs {#ZFS_FS} compression win</name>
<type > CALCULATED</type>
<key > vfs.zfs.dataset[{#ZFS_FS},fs,compression_win]</key>
<delay > 300s</delay>
<trends > 1825d</trends>
<units > B</units>
<params > last(" vfs.zfs.dataset[{#ZFS_FS},fs,logicalused]" )-last(" vfs.zfs.dataset[{#ZFS_FS},fs,used]" )</params>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > MULTIPLIER</type>
<params > 1</params>
</step>
</preprocessing>
</item_prototype>
<item_prototype >
<name > ZFS: fs {#ZFS_FS} compression ratio</name>
<type > DEPENDENT</type>
<key > vfs.zfs.dataset[{#ZFS_FS},fs,compressratio]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<value_type > FLOAT</value_type>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.compressratio</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1800</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.dataset.info[{#ZFS_FS},fs]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: fs {#ZFS_FS} logical used space</name>
<type > DEPENDENT</type>
<key > vfs.zfs.dataset[{#ZFS_FS},fs,logicalused]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.logicalused</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.dataset.info[{#ZFS_FS},fs]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: fs {#ZFS_FS} quota</name>
<type > DEPENDENT</type>
<key > vfs.zfs.dataset[{#ZFS_FS},fs,quota]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.quota</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.dataset.info[{#ZFS_FS},fs]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: fs {#ZFS_FS} ref quota</name>
<type > DEPENDENT</type>
<key > vfs.zfs.dataset[{#ZFS_FS},fs,refquota]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.refquota</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.dataset.info[{#ZFS_FS},fs]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: fs {#ZFS_FS} space used by children</name>
<type > DEPENDENT</type>
<key > vfs.zfs.dataset[{#ZFS_FS},fs,usedbychildren]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.usedbychildren</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.dataset.info[{#ZFS_FS},fs]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: fs {#ZFS_FS} space used by dataset</name>
<type > DEPENDENT</type>
<key > vfs.zfs.dataset[{#ZFS_FS},fs,usedbydataset]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.usedbydataset</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.dataset.info[{#ZFS_FS},fs]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: fs {#ZFS_FS} space used by snapshots</name>
<type > DEPENDENT</type>
<key > vfs.zfs.dataset[{#ZFS_FS},fs,usedbysnapshots]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.usedbysnapshots</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.dataset.info[{#ZFS_FS},fs]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: fs {#ZFS_FS} total used space</name>
<type > DEPENDENT</type>
<key > vfs.zfs.dataset[{#ZFS_FS},fs,used]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.used</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.dataset.info[{#ZFS_FS},fs]</key>
</master_item>
</item_prototype>
</item_prototypes>
<trigger_prototypes >
<trigger_prototype >
<expression > ({Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,refquota].last()} > 0 and 100*{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,used].last()}/{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,refquota].last()} > {$ZFS_FS_QUOTA_PCT_CRITICAL})</expression>
<recovery_mode > RECOVERY_EXPRESSION</recovery_mode>
<recovery_expression > ({Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,refquota].last()} > 0 and 100*{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,used].last()}/{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,refquota].last()} < 0.98*{$ZFS_FS_QUOTA_PCT_CRITICAL}) or
{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,quota].last()} = 0</recovery_expression>
<name > ZFS: filesystem {#ZFS_FS} uses {ITEM.VALUE2} (excluding children)</name>
<priority > HIGH</priority>
</trigger_prototype>
<trigger_prototype >
<expression > ({Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,refquota].last()} > 0 and 100*{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,used].last()}/{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,refquota].last()} > {$ZFS_FS_QUOTA_PCT_WARN})</expression>
<recovery_mode > RECOVERY_EXPRESSION</recovery_mode>
<recovery_expression > ({Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,refquota].last()} > 0 and 100*{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,used].last()}/{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,refquota].last()} < 0.98*{$ZFS_FS_QUOTA_PCT_WARN}) or
{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,quota].last()} = 0</recovery_expression>
<name > ZFS: filesystem {#ZFS_FS} uses {ITEM.VALUE2} (excluding children)</name>
<priority > WARNING</priority>
<dependencies >
<dependency >
<name > ZFS: filesystem {#ZFS_FS} uses {ITEM.VALUE2} (excluding children)</name>
<expression > ({Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,refquota].last()} > 0 and 100*{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,used].last()}/{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,refquota].last()} > {$ZFS_FS_QUOTA_PCT_CRITICAL})</expression>
<recovery_expression > ({Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,refquota].last()} > 0 and 100*{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,used].last()}/{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,refquota].last()} < 0.98*{$ZFS_FS_QUOTA_PCT_CRITICAL}) or
{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,quota].last()} = 0</recovery_expression>
</dependency>
</dependencies>
</trigger_prototype>
<trigger_prototype >
<expression > ({Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,quota].last()} > 0 and 100*{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,used].last()}/{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,quota].last()} > {$ZFS_FS_QUOTA_PCT_CRITICAL})</expression>
<recovery_mode > RECOVERY_EXPRESSION</recovery_mode>
<recovery_expression > ({Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,quota].last()} > 0 and 100*{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,used].last()}/{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,quota].last()} < 0.98*{$ZFS_FS_QUOTA_PCT_CRITICAL}) or
{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,quota].last()} = 0</recovery_expression>
<name > ZFS: filesystem {#ZFS_FS} uses {ITEM.VALUE2} (including children)</name>
<priority > HIGH</priority>
</trigger_prototype>
<trigger_prototype >
<expression > ({Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,quota].last()} > 0 and 100*{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,used].last()}/{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,quota].last()} > {$ZFS_FS_QUOTA_PCT_WARN})</expression>
<recovery_mode > RECOVERY_EXPRESSION</recovery_mode>
<recovery_expression > ({Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,quota].last()} > 0 and 100*{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,used].last()}/{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,quota].last()} < 0.98*{$ZFS_FS_QUOTA_PCT_WARN}) or
{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,quota].last()} = 0</recovery_expression>
<name > ZFS: filesystem {#ZFS_FS} uses {ITEM.VALUE2} (including children)</name>
<priority > WARNING</priority>
<dependencies >
<dependency >
<name > ZFS: filesystem {#ZFS_FS} uses {ITEM.VALUE2} (including children)</name>
<expression > ({Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,quota].last()} > 0 and 100*{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,used].last()}/{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,quota].last()} > {$ZFS_FS_QUOTA_PCT_CRITICAL})</expression>
<recovery_expression > ({Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,quota].last()} > 0 and 100*{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,used].last()}/{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,quota].last()} < 0.98*{$ZFS_FS_QUOTA_PCT_CRITICAL}) or
{Template_App_ZFS:vfs.zfs.dataset[{#ZFS_FS},fs,quota].last()} = 0</recovery_expression>
</dependency>
</dependencies>
</trigger_prototype>
</trigger_prototypes>
<graph_prototypes >
<graph_prototype >
<name > ZFS: fs {#ZFS_FS} occupation</name>
<type > STACKED</type>
<graph_items >
<graph_item >
<color > FF0000</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.dataset[{#ZFS_FS},fs,usedbydataset]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > FFBF00</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.dataset[{#ZFS_FS},fs,usedbysnapshots]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 2</sortorder>
<color > 66BB6A</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.dataset[{#ZFS_FS},fs,usedbychildren]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 3</sortorder>
<color > B2EBF2</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.dataset[{#ZFS_FS},fs,compression_win]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
</graph_prototypes>
</discovery_rule>
<discovery_rule >
<name > ZFS: pools discovery</name>
<key > vfs.zfs.discovery[pools]</key>
<delay > 7200</delay>
<lifetime > 7d</lifetime>
<item_prototypes >
<item_prototype >
<name > ZFS: Pool {#ZPOOL}: info</name>
<key > vfs.zfs.zpool.info[{#ZPOOL}]</key>
<delay > 300s</delay>
<history > 0</history>
<trends > 0</trends>
<value_type > TEXT</value_type>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
</item_prototype>
<item_prototype >
<name > ZFS: Pool {#ZPOOL}: Needed action</name>
<type > DEPENDENT</type>
<key > vfs.zfs.zpool[{#ZPOOL},action]</key>
<delay > 0</delay>
<trends > 0</trends>
<value_type > TEXT</value_type>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.errors.action</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 86400</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.zpool.info[{#ZPOOL}]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Pool {#ZPOOL}: Allocated space</name>
<type > DEPENDENT</type>
<key > vfs.zfs.zpool[{#ZPOOL},allocated]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.allocated</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.zpool.info[{#ZPOOL}]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Pool {#ZPOOL}: Capacity</name>
<type > DEPENDENT</type>
<key > vfs.zfs.zpool[{#ZPOOL},capacity]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<value_type > FLOAT</value_type>
<units > %</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.capacity</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1800</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.zpool.info[{#ZPOOL}]</key>
</master_item>
<trigger_prototypes >
<trigger_prototype >
<expression > {last()}> {$ZFS_POOL_ALLOC_CRITICAL}</expression>
<name > ZFS: pool {#ZPOOL} is more than {ITEM.VALUE1} allocated</name>
<priority > HIGH</priority>
</trigger_prototype>
<trigger_prototype >
<expression > {last()}> {$ZFS_POOL_ALLOC_WARN}</expression>
<name > ZFS: pool {#ZPOOL} is more than {ITEM.VALUE1} allocated</name>
<priority > WARNING</priority>
<dependencies >
<dependency >
<name > ZFS: pool {#ZPOOL} is more than {ITEM.VALUE1} allocated</name>
<expression > {Template_App_ZFS:vfs.zfs.zpool[{#ZPOOL},capacity].last()}> {$ZFS_POOL_ALLOC_CRITICAL}</expression>
</dependency>
</dependencies>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > ZFS: Pool {#ZPOOL}: Checksum errors</name>
<type > DEPENDENT</type>
<key > vfs.zfs.zpool[{#ZPOOL},cksum_errors]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > error</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.errors.cksum_errors</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 3600</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.zpool.info[{#ZPOOL}]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Pool {#ZPOOL}: Deduplication ratio</name>
<type > DEPENDENT</type>
<key > vfs.zfs.zpool[{#ZPOOL},dedupratio]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<value_type > FLOAT</value_type>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.dedupratio</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.zpool.info[{#ZPOOL}]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Pool {#ZPOOL}: Errors description</name>
<type > DEPENDENT</type>
<key > vfs.zfs.zpool[{#ZPOOL},errors]</key>
<delay > 0</delay>
<trends > 0</trends>
<value_type > TEXT</value_type>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.errors.errors</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 86400</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.zpool.info[{#ZPOOL}]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Pool {#ZPOOL}: Fragmentation (free space)</name>
<type > DEPENDENT</type>
<key > vfs.zfs.zpool[{#ZPOOL},fragmentation]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<value_type > FLOAT</value_type>
<units > %</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.fragmentation</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.zpool.info[{#ZPOOL}]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Pool {#ZPOOL}: Free space</name>
<type > DEPENDENT</type>
<key > vfs.zfs.zpool[{#ZPOOL},free]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.free</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.zpool.info[{#ZPOOL}]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Pool {#ZPOOL}: Health</name>
<type > DEPENDENT</type>
<key > vfs.zfs.zpool[{#ZPOOL},health]</key>
<delay > 0</delay>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.health</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 86400</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.zpool.info[{#ZPOOL}]</key>
</master_item>
<trigger_prototypes >
<trigger_prototype >
<expression > {regexp(One or more devices is currently being resilvered)}=1</expression>
<name > ZFS: Pool {#ZPOOL} is resilvering</name>
<priority > WARNING</priority>
</trigger_prototype>
<trigger_prototype >
<expression > {regexp(ONLINE)}=0</expression>
<name > ZFS: pool {#ZPOOL} status is {ITEM.VALUE1}</name>
<priority > HIGH</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
<item_prototype >
<name > ZFS: Pool {#ZPOOL}: Reads (bytes)</name>
<type > DEPENDENT</type>
<key > vfs.zfs.zpool[{#ZPOOL},nread]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B/s</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.stats.nread</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.zpool.info[{#ZPOOL}]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Pool {#ZPOOL}: Writes (bytes)</name>
<type > DEPENDENT</type>
<key > vfs.zfs.zpool[{#ZPOOL},nwritten]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B/s</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.stats.nwritten</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.zpool.info[{#ZPOOL}]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Pool {#ZPOOL}: Reads (iops)</name>
<type > DEPENDENT</type>
<key > vfs.zfs.zpool[{#ZPOOL},reads]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > iops</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.stats.reads</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.zpool.info[{#ZPOOL}]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Pool {#ZPOOL}: Read errors</name>
<type > DEPENDENT</type>
<key > vfs.zfs.zpool[{#ZPOOL},read_errors]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > error</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.errors.read_errors</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 3600</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.zpool.info[{#ZPOOL}]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Pool {#ZPOOL}: Size</name>
<type > DEPENDENT</type>
<key > vfs.zfs.zpool[{#ZPOOL},size]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.size</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 86400</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.zpool.info[{#ZPOOL}]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Pool {#ZPOOL}: Status</name>
<type > DEPENDENT</type>
<key > vfs.zfs.zpool[{#ZPOOL},status]</key>
<delay > 0</delay>
<trends > 0</trends>
<value_type > TEXT</value_type>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.errors.status</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 86400</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.zpool.info[{#ZPOOL}]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Pool {#ZPOOL}: Writes (iops)</name>
<type > DEPENDENT</type>
<key > vfs.zfs.zpool[{#ZPOOL},writes]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > iops</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.stats.writes</params>
</step>
<step >
<type > CHANGE_PER_SECOND</type>
<params />
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.zpool.info[{#ZPOOL}]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Pool {#ZPOOL}: Write errors</name>
<type > DEPENDENT</type>
<key > vfs.zfs.zpool[{#ZPOOL},write_errors]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > error</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.errors.write_errors</params>
</step>
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 3600</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.zpool.info[{#ZPOOL}]</key>
</master_item>
</item_prototype>
</item_prototypes>
<trigger_prototypes >
<trigger_prototype >
<expression > {Template_App_ZFS:vfs.zfs.zpool[{#ZPOOL},write_errors].last()}< > 0 or {Template_App_ZFS:vfs.zfs.zpool[{#ZPOOL},read_errors].last()}< > 0 or {Template_App_ZFS:vfs.zfs.zpool[{#ZPOOL},cksum_errors].last()}< > 0</expression>
<name > ZFS: Pool {#ZPOOL} has errors</name>
<priority > AVERAGE</priority>
</trigger_prototype>
<trigger_prototype >
<expression > {Template_App_ZFS:vfs.zfs.zpool[{#ZPOOL},status].regexp(^$)}=0 or {Template_App_ZFS:vfs.zfs.zpool[{#ZPOOL},errors].regexp(No known data errors)}=0</expression>
<name > ZFS: Pool {#ZPOOL} must be checked</name>
<priority > HIGH</priority>
<dependencies >
<dependency >
<name > ZFS: Pool {#ZPOOL} has errors</name>
<expression > {Template_App_ZFS:vfs.zfs.zpool[{#ZPOOL},write_errors].last()}< > 0 or {Template_App_ZFS:vfs.zfs.zpool[{#ZPOOL},read_errors].last()}< > 0 or {Template_App_ZFS:vfs.zfs.zpool[{#ZPOOL},cksum_errors].last()}< > 0</expression>
</dependency>
<dependency >
<name > ZFS: Pool {#ZPOOL} is resilvering</name>
<expression > {Template_App_ZFS:vfs.zfs.zpool[{#ZPOOL},health].regexp(One or more devices is currently being resilvered)}=1</expression>
</dependency>
</dependencies>
</trigger_prototype>
</trigger_prototypes>
<graph_prototypes >
<graph_prototype >
<name > ZFS: Pool {#ZPOOL}: Allocation</name>
<ymin_type_1 > FIXED</ymin_type_1>
<ymax_type_1 > ITEM</ymax_type_1>
<ymax_item_1 >
<host > Template_App_ZFS</host>
<key > vfs.zfs.zpool[{#ZPOOL},size]</key>
</ymax_item_1>
<graph_items >
<graph_item >
<drawtype > GRADIENT_LINE</drawtype>
<color > FF0000</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.zpool[{#ZPOOL},allocated]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
<graph_prototype >
<name > ZFS: Pool {#ZPOOL}: I/O</name>
<graph_items >
<graph_item >
<color > FF0000</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.zpool[{#ZPOOL},nread]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > 4000FF</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.zpool[{#ZPOOL},nwritten]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 2</sortorder>
<color > 80FF00</color>
<yaxisside > RIGHT</yaxisside>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.zpool[{#ZPOOL},reads]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 3</sortorder>
<color > FFBF00</color>
<yaxisside > RIGHT</yaxisside>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.zpool[{#ZPOOL},writes]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
</graph_prototypes>
</discovery_rule>
<discovery_rule >
<name > ZFS: sanoid checks discovery</name>
<key > vfs.zfs.discovery[sanoid]</key>
<delay > 7200</delay>
<lifetime > 1h</lifetime>
<item_prototypes >
<item_prototype >
<name > ZFS: Sanoid {#ZFS_SANOID}</name>
<key > vfs.zfs.sanoid.check[{#ZFS_SANOID}]</key>
<delay > 322s</delay>
<trends > 0</trends>
<value_type > CHAR</value_type>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > DISCARD_UNCHANGED_HEARTBEAT</type>
<params > 1800</params>
</step>
</preprocessing>
<trigger_prototypes >
<trigger_prototype >
<expression > {regexp(^OK)}< > 1 and {regexp(^OK,#1)}< > 1</expression>
<name > ZFS: Sanoid detected a default on {#ZFS_SANOID}</name>
<priority > INFO</priority>
</trigger_prototype>
</trigger_prototypes>
</item_prototype>
</item_prototypes>
</discovery_rule>
<discovery_rule >
<name > ZFS: zvols discovery</name>
<key > vfs.zfs.discovery[zvol]</key>
<delay > 900</delay>
<lifetime > 1d</lifetime>
<item_prototypes >
<item_prototype >
<name > ZFS: zvol {#ZFS_ZVOL} info</name>
<key > vfs.zfs.dataset.info[{#ZFS_ZVOL},zvol]</key>
<delay > 300s</delay>
<history > 0</history>
<trends > 0</trends>
<value_type > TEXT</value_type>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
</item_prototype>
<item_prototype >
<name > ZFS: Zvol {#ZFS_ZVOL} compression win</name>
<type > CALCULATED</type>
<key > vfs.zfs.dataset[{#ZFS_ZVOL},zvol,compression_win]</key>
<delay > 300s</delay>
<value_type > FLOAT</value_type>
<units > B</units>
<params > last(" vfs.zfs.dataset[{#ZFS_ZVOL},zvol,logicalused]" )-last(" vfs.zfs.dataset[{#ZFS_ZVOL},zvol,used]" )</params>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
</item_prototype>
<item_prototype >
<name > ZFS: Zvol {#ZFS_ZVOL} compression ratio</name>
<type > DEPENDENT</type>
<key > vfs.zfs.dataset[{#ZFS_ZVOL},zvol,compressratio]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<value_type > FLOAT</value_type>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.compressratio</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.dataset.info[{#ZFS_ZVOL},zvol]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Zvol {#ZFS_ZVOL} logical space used</name>
<type > DEPENDENT</type>
<key > vfs.zfs.dataset[{#ZFS_ZVOL},zvol,logicalused]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.logicalused</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.dataset.info[{#ZFS_ZVOL},zvol]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Zvol {#ZFS_ZVOL} space reservation</name>
<type > DEPENDENT</type>
<key > vfs.zfs.dataset[{#ZFS_ZVOL},zvol,reservation]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.reservation</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.dataset.info[{#ZFS_ZVOL},zvol]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Zvol {#ZFS_ZVOL} space used by dataset</name>
<type > DEPENDENT</type>
<key > vfs.zfs.dataset[{#ZFS_ZVOL},zvol,usedbydataset]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.usedbydataset</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.dataset.info[{#ZFS_ZVOL},zvol]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Zvol {#ZFS_ZVOL} space used by snapshots</name>
<type > DEPENDENT</type>
<key > vfs.zfs.dataset[{#ZFS_ZVOL},zvol,usedbysnapshots]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.usedbysnapshots</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.dataset.info[{#ZFS_ZVOL},zvol]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Zvol {#ZFS_ZVOL} total space used</name>
<type > DEPENDENT</type>
<key > vfs.zfs.dataset[{#ZFS_ZVOL},zvol,used]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.used</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.dataset.info[{#ZFS_ZVOL},zvol]</key>
</master_item>
</item_prototype>
<item_prototype >
<name > ZFS: Zvol {#ZFS_ZVOL} size</name>
<type > DEPENDENT</type>
<key > vfs.zfs.dataset[{#ZFS_ZVOL},zvol,volsize]</key>
<delay > 0</delay>
<trends > 1825d</trends>
<units > B</units>
<applications >
<application >
<name > Storage</name>
</application>
</applications>
<preprocessing >
<step >
<type > JSONPATH</type>
<params > $.volsize</params>
</step>
</preprocessing>
<master_item >
<key > vfs.zfs.dataset.info[{#ZFS_ZVOL},zvol]</key>
</master_item>
</item_prototype>
</item_prototypes>
<graph_prototypes >
<graph_prototype >
<name > ZFS: Zvol {#ZFS_ZVOL} used disk space</name>
<type > STACKED</type>
<graph_items >
<graph_item >
<color > 1A7C11</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.dataset[{#ZFS_ZVOL},zvol,usedbydataset]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > F63100</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.dataset[{#ZFS_ZVOL},zvol,usedbysnapshots]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 2</sortorder>
<color > B2EBF2</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.dataset[{#ZFS_ZVOL},zvol,compression_win]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
</graph_prototypes>
</discovery_rule>
</discovery_rules>
<macros >
<macro >
<macro > {$ZFS_ARC_HIT_DATA_PCT_WARN}</macro>
<value > 50</value>
</macro>
<macro >
<macro > {$ZFS_ARC_HIT_METADATA_PCT_WARN}</macro>
<value > 90</value>
</macro>
<macro >
<macro > {$ZFS_ARC_HIT_PCT_WARN}</macro>
<value > 75</value>
</macro>
<macro >
<macro > {$ZFS_FS_QUOTA_PCT_CRITICAL}</macro>
<value > 95</value>
</macro>
<macro >
<macro > {$ZFS_FS_QUOTA_PCT_WARN}</macro>
<value > 80</value>
</macro>
<macro >
<macro > {$ZFS_POOL_ALLOC_CRITICAL}</macro>
<value > 90</value>
</macro>
<macro >
<macro > {$ZFS_POOL_ALLOC_WARN}</macro>
<value > 75</value>
</macro>
</macros>
</template>
</templates>
<triggers >
<trigger >
<expression > {Template_App_ZFS:vfs.zfs.stats[arcstats,l2_writes_error].last()}> 0 or {Template_App_ZFS:vfs.zfs.stats[arcstats,l2_io_error].last()}> 0 or {Template_App_ZFS:vfs.zfs.stats[arcstats,l2_cksum_bad].last()}> 0</expression>
<name > ZFS: l2arc errors detected</name>
<priority > AVERAGE</priority>
</trigger>
</triggers>
<graphs >
<graph >
<name > ZFS: ARC: Hits ratio</name>
<graph_items >
<graph_item >
<drawtype > BOLD_LINE</drawtype>
<color > FF0000</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.stats[arcstats,hits_pct]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<drawtype > BOLD_LINE</drawtype>
<color > BF00FF</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.stats[arcstats,demand_data_hits_pct]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 2</sortorder>
<drawtype > BOLD_LINE</drawtype>
<color > 0040FF</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.stats[arcstats,demand_metadata_hits_pct]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 3</sortorder>
<drawtype > BOLD_LINE</drawtype>
<color > FFBF00</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.stats[arcstats,l2_hits_pct]</key>
</item>
</graph_item>
</graph_items>
</graph>
<graph >
<name > ZFS: ARC: sizes (data / metadata)</name>
<type > STACKED</type>
<graph_items >
<graph_item >
<color > 1A7C11</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.stats[arcstats,data_size]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > F63100</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.stats[arcstats,metadata_size]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 2</sortorder>
<color > 2774A4</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.stats[arcstats,compress_win]</key>
</item>
</graph_item>
</graph_items>
</graph>
<graph >
<name > ZFS: ARC: sizes (mfu / mru)</name>
<type > STACKED</type>
<graph_items >
<graph_item >
<color > F63100</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.stats[arcstats,mfu_size]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 1</sortorder>
<color > 1A7C11</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.stats[arcstats,mru_size]</key>
</item>
</graph_item>
<graph_item >
<sortorder > 2</sortorder>
<color > 2774A4</color>
<item >
<host > Template_App_ZFS</host>
<key > vfs.zfs.stats[arcstats,compress_win]</key>
</item>
</graph_item>
</graph_items>
</graph>
</graphs>
</zabbix_export>