summaryrefslogtreecommitdiffstats
path: root/conf.d/health.d/disks.conf
diff options
context:
space:
mode:
Diffstat (limited to 'conf.d/health.d/disks.conf')
-rw-r--r--conf.d/health.d/disks.conf51
1 files changed, 46 insertions, 5 deletions
diff --git a/conf.d/health.d/disks.conf b/conf.d/health.d/disks.conf
index 63053491e..26f85848a 100644
--- a/conf.d/health.d/disks.conf
+++ b/conf.d/health.d/disks.conf
@@ -11,7 +11,7 @@
template: disk_space_usage
on: disk.space
- os: linux
+ os: linux freebsd
hosts: *
families: *
calc: $used * 100 / ($avail + $used)
@@ -25,7 +25,7 @@ families: *
template: disk_inode_usage
on: disk.inodes
- os: linux
+ os: linux freebsd
hosts: *
families: *
calc: $used * 100 / ($avail + $used)
@@ -51,7 +51,7 @@ families: *
template: disk_fill_rate
on: disk.space
- os: linux
+ os: linux freebsd
hosts: *
families: *
lookup: min -10m at -50m unaligned of avail
@@ -67,7 +67,7 @@ families: *
template: out_of_disk_space_time
on: disk.space
- os: linux
+ os: linux freebsd
hosts: *
families: *
calc: ($disk_fill_rate > 0) ? ($avail / $disk_fill_rate) : (inf)
@@ -81,6 +81,47 @@ families: *
# -----------------------------------------------------------------------------
+# disk inode fill rate
+
+# calculate the rate the disk inodes are allocated
+# use as base, the available inodes change
+# during the last hour
+
+# this is just a calculation - it has no alarm
+# we will use it in the next template to find
+# the hours remaining
+
+template: disk_inode_rate
+ on: disk.inodes
+ os: linux freebsd
+ hosts: *
+families: *
+ lookup: min -10m at -50m unaligned of avail
+ calc: ($this - $avail) / (($now - $after) / 3600)
+ every: 1m
+ units: inodes/hour
+ info: average rate at which disk inodes are allocated (positive), or freed (negative), for the last hour
+
+# calculate the hours remaining
+# if the disk inodes are allocated
+# in this rate
+
+template: out_of_disk_inodes_time
+ on: disk.inodes
+ os: linux freebsd
+ hosts: *
+families: *
+ calc: ($disk_inode_rate > 0) ? ($avail / $disk_inode_rate) : (inf)
+ units: hours
+ every: 10s
+ warn: $this > 0 and $this < (($status >= $WARNING) ? (48) : (8))
+ crit: $this > 0 and $this < (($status == $CRITICAL) ? (24) : (2))
+ delay: down 15m multiplier 1.2 max 1h
+ info: estimated time the disk will run out of inodes, if the system continues to allocate inodes with the rate of the last hour
+ to: sysadmin
+
+
+# -----------------------------------------------------------------------------
# disk congestion
# raise an alarm if the disk is congested
@@ -89,7 +130,7 @@ families: *
template: 10min_disk_utilization
on: disk.util
- os: linux
+ os: linux freebsd
hosts: *
families: *
lookup: average -10m unaligned