# you can disable an alarm notification by setting the 'to' line to: silent

 template: btrfs_allocated
       on: btrfs.disk
    class: Utilization
     type: System
component: File system
     calc: 100 - ($unallocated * 100 / ($unallocated + $data_used + $data_free + $meta_used + $meta_free + $sys_used + $sys_free))
    units: %
    every: 10s
     warn: $this > (($status == $CRITICAL) ? (95) : (98))
    delay: up 1m down 15m multiplier 1.5 max 1h
  summary: BTRFS allocated space utilization
     info: Percentage of allocated BTRFS physical disk space
       to: silent

 template: btrfs_data
       on: btrfs.data
    class: Utilization
     type: System
component: File system
     calc: $used * 100 / ($used + $free)
    units: %
    every: 10s
     warn: $this > (($status >= $WARNING)  ? (90) : (95)) && $btrfs_allocated > 98
     crit: $this > (($status == $CRITICAL) ? (95) : (98)) && $btrfs_allocated > 98
    delay: up 1m down 15m multiplier 1.5 max 1h
  summary: BTRFS data space utilization
     info: Utilization of BTRFS data space
       to: sysadmin

 template: btrfs_metadata
       on: btrfs.metadata
    class: Utilization
     type: System
component: File system
     calc: ($used + $reserved) * 100 / ($used + $free + $reserved)
    units: %
    every: 10s
     warn: $this > (($status >= $WARNING)  ? (90) : (95)) && $btrfs_allocated > 98
     crit: $this > (($status == $CRITICAL) ? (95) : (98)) && $btrfs_allocated > 98
    delay: up 1m down 15m multiplier 1.5 max 1h
  summary: BTRFS metadata space utilization
     info: Utilization of BTRFS metadata space
       to: sysadmin

 template: btrfs_system
       on: btrfs.system
    class: Utilization
     type: System
component: File system
     calc: $used * 100 / ($used + $free)
    units: %
    every: 10s
     warn: $this > (($status >= $WARNING)  ? (90) : (95)) && $btrfs_allocated > 98
     crit: $this > (($status == $CRITICAL) ? (95) : (98)) && $btrfs_allocated > 98
    delay: up 1m down 15m multiplier 1.5 max 1h
  summary: BTRFS system space utilization
     info: Utilization of BTRFS system space
       to: sysadmin

 template: btrfs_device_read_errors
       on: btrfs.device_errors
    class: Errors
     type: System
component: File system
    units: errors
   lookup: max -10m every 1m of read_errs
     warn: $this > 0
    delay: up 1m down 15m multiplier 1.5 max 1h
  summary: BTRFS device read errors
     info: Number of encountered BTRFS read errors
       to: sysadmin

 template: btrfs_device_write_errors
       on: btrfs.device_errors
    class: Errors
     type: System
component: File system
    units: errors
   lookup: max -10m every 1m of write_errs
     crit: $this > 0
    delay: up 1m down 15m multiplier 1.5 max 1h
  summary: BTRFS device write errors
     info: Number of encountered BTRFS write errors
       to: sysadmin

 template: btrfs_device_flush_errors
       on: btrfs.device_errors
    class: Errors
     type: System
component: File system
    units: errors
   lookup: max -10m every 1m of flush_errs
     crit: $this > 0
    delay: up 1m down 15m multiplier 1.5 max 1h
  summary: BTRFS device flush errors
     info: Number of encountered BTRFS flush errors
       to: sysadmin

 template: btrfs_device_corruption_errors
       on: btrfs.device_errors
    class: Errors
     type: System
component: File system
    units: errors
   lookup: max -10m every 1m of corruption_errs
     warn: $this > 0
    delay: up 1m down 15m multiplier 1.5 max 1h
  summary: BTRFS device corruption errors
     info: Number of encountered BTRFS corruption errors
       to: sysadmin

 template: btrfs_device_generation_errors
       on: btrfs.device_errors
    class: Errors
     type: System
component: File system
    units: errors
   lookup: max -10m every 1m of generation_errs
     warn: $this > 0
    delay: up 1m down 15m multiplier 1.5 max 1h
  summary: BTRFS device generation errors
     info: Number of encountered BTRFS generation errors
       to: sysadmin
