Add alerts on disk full

The other disk alerts use predict_linear() to trigger before a disk gets
full but they don't trigger when the disk is effectively (or nearly)
full.

Change-Id: I8e6794d35bf96378ca3e3d527db4315d2b3a868d
diff --git a/linux/meta/prometheus.yml b/linux/meta/prometheus.yml
index d2b3d05..df53426 100644
--- a/linux/meta/prometheus.yml
+++ b/linux/meta/prometheus.yml
@@ -21,6 +21,16 @@
         summary: 'Free space for {{ $labels.path }} too low on {{ $labels.host }}'
         description: 'The disk partition ({{ $labels.path }}) will be full in less than 8 hours on {{ $labels.host }}.'
       {% endraw %}
+    SystemDiskSpaceFull:
+      if: 'disk_used_percent >= 99 and disk_inodes_total > 0'
+      {% raw %}
+      labels:
+        severity: critical
+        service: system
+      annotations:
+        summary: 'Disk partition {{ $labels.path }} full on {{ $labels.host }}'
+        description: 'The disk partition ({{ $labels.path }}) is used at {{ $value }}% on {{ $labels.host }}.'
+      {% endraw %}
     SystemDiskInodesTooLow:
       if: 'predict_linear(disk_inodes_free[1h], 8*3600) < 0'
       {% raw %}
@@ -31,6 +41,16 @@
         summary: 'Free inodes for {{ $labels.path }} too low on {{ $labels.host }}'
         description: 'The disk inodes ({{ $labels.path }}) will be full in less than 8 hours on {{ $labels.host }}.'
       {% endraw %}
+    SystemDiskInodesFull:
+      if: 'disk_inodes_used / disk_inodes_total >= 99'
+      {% raw %}
+      labels:
+        severity: critical
+        service: system
+      annotations:
+        summary: 'Inodes for {{ $labels.path }} full on {{ $labels.host }}'
+        description: 'The disk inodes ({{ $labels.path }}) are used at {{ $value }}% on {{ $labels.host }}.'
+      {% endraw %}
     SystemMemoryAvailableLow:
       {%- set mem_avail_warn_threshold = monitoring.free_memory_percentage.warn|float %}
       if: avg_over_time(mem_available_percent[5m]) < {{ mem_avail_warn_threshold }}