You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2368 lines
113 KiB
2368 lines
113 KiB
<?xml version="1.0" encoding="UTF-8"?>
|
|
<zabbix_export>
|
|
<version>5.0</version>
|
|
<date>2021-06-19T12:12:56Z</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>DEPENDENT</type>
|
|
<key>vfs.zfs.stats[arcstats,compress_win]</key>
|
|
<delay>0</delay>
|
|
<trends>1825d</trends>
|
|
<units>B</units>
|
|
<applications>
|
|
<application>
|
|
<name>Memory</name>
|
|
</application>
|
|
</applications>
|
|
<preprocessing>
|
|
<step>
|
|
<type>JAVASCRIPT</type>
|
|
<params>json = JSON.parse(value);
|
|
uncomp = json.uncompressed_size;
|
|
comp = json.compressed_size;
|
|
diff = uncomp - comp;
|
|
return (diff < 0 ? 0 : diff);</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_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(900)}>(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>DEPENDENT</type>
|
|
<key>vfs.zfs.dataset[{#ZFS_FS},fs,compression_win]</key>
|
|
<delay>0</delay>
|
|
<trends>1825d</trends>
|
|
<units>B</units>
|
|
<applications>
|
|
<application>
|
|
<name>Storage</name>
|
|
</application>
|
|
</applications>
|
|
<preprocessing>
|
|
<step>
|
|
<type>JAVASCRIPT</type>
|
|
<params>json = JSON.parse(value);
|
|
logicalused = new Number(json.logicalused);
|
|
used = new Number(json.used);
|
|
return (logicalused > used ? logicalused - used : 0);</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} 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},status].nodata(2d)}=1 or {Template_App_ZFS:vfs.zfs.zpool[{#ZPOOL},allocated].nodata(2h)}=1</expression>
|
|
<name>ZFS: pool {#ZPOOL} has a monitoring issue</name>
|
|
<priority>WARNING</priority>
|
|
</trigger_prototype>
|
|
<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>300s</delay>
|
|
<history>30d</history>
|
|
<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>
|
|
<step>
|
|
<type>NOT_MATCHES_REGEX</type>
|
|
<params>^print</params>
|
|
<error_handler>DISCARD_VALUE</error_handler>
|
|
</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>DEPENDENT</type>
|
|
<key>vfs.zfs.dataset[{#ZFS_ZVOL},zvol,compression_win]</key>
|
|
<delay>0</delay>
|
|
<value_type>FLOAT</value_type>
|
|
<units>B</units>
|
|
<applications>
|
|
<application>
|
|
<name>Storage</name>
|
|
</application>
|
|
</applications>
|
|
<preprocessing>
|
|
<step>
|
|
<type>JAVASCRIPT</type>
|
|
<params>json = JSON.parse(value);
|
|
logicalused = json.logicalused;
|
|
used = json.used;
|
|
return (logicalused > used ? logicalused - used : 0);</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} 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>80</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>
|
|
|