| 1 | # you can disable an alarm notification by setting the 'to' line to: silent |
| 2 | |
| 3 | alarm: used_ram_to_ignore |
| 4 | on: system.ram |
| 5 | os: linux freebsd |
| 6 | hosts: * |
| 7 | calc: ($zfs.arc_size.arcsz = nan)?(0):($zfs.arc_size.arcsz) |
| 8 | every: 10s |
| 9 | info: the amount of memory that is reported as used, but it is actually capable for resizing itself based on the system needs (eg. ZFS ARC) |
| 10 | |
| 11 | alarm: ram_in_use |
| 12 | on: system.ram |
| 13 | os: linux |
| 14 | hosts: * |
| 15 | # calc: $used * 100 / ($used + $cached + $free) |
| 16 | calc: ($used - $used_ram_to_ignore) * 100 / ($used - $used_ram_to_ignore + $cached + $free) |
| 17 | units: % |
| 18 | every: 1s |
| 19 | warn: $this > 1 |
| 20 | crit: $this > 5 |
| 21 | delay: down 15m multiplier 1.5 max 1h |
| 22 | info: system RAM used |
| 23 | to: sysadmin #alarms |
| 24 | |
| 25 | alarm: ram_available |
| 26 | on: mem.available |
| 27 | os: linux |
| 28 | hosts: * |
| 29 | calc: ($avail + $used_ram_to_ignore) * 100 / ($system.ram.used + $system.ram.cached + $system.ram.free + $system.ram.buffers) |
| 30 | units: % |
| 31 | every: 10s |
| 32 | warn: $this < (($status >= $WARNING) ? (15) : (10)) |
| 33 | crit: $this < (($status == $CRITICAL) ? (10) : ( 5)) |
| 34 | delay: down 15m multiplier 1.5 max 1h |
| 35 | info: estimated amount of RAM available for userspace processes, without causing swapping |
| 36 | to: sysadmin #alarms |
| 37 | |
| 38 | ## FreeBSD |
| 39 | alarm: ram_in_use |
| 40 | on: system.ram |
| 41 | os: freebsd |
| 42 | hosts: * |
| 43 | calc: ($active + $wired + $laundry + $buffers - $used_ram_to_ignore) * 100 / ($active + $wired + $laundry + $buffers - $used_ram_to_ignore + $cache + $free + $inactive) |
| 44 | units: % |
| 45 | every: 10s |
| 46 | warn: $this > (($status >= $WARNING) ? (80) : (90)) |
| 47 | crit: $this > (($status == $CRITICAL) ? (90) : (98)) |
| 48 | delay: down 15m multiplier 1.5 max 1h |
| 49 | info: system RAM usage |
| 50 | to: sysadmin #alarms |
| 51 | |
| 52 | alarm: ram_available |
| 53 | on: system.ram |
| 54 | os: freebsd |
| 55 | hosts: * |
| 56 | calc: ($free + $inactive + $used_ram_to_ignore) * 100 / ($free + $active + $inactive + $wired + $cache + $laundry + $buffers) |
| 57 | units: % |
| 58 | every: 10s |
| 59 | warn: $this < (($status >= $WARNING) ? (15) : (10)) |
| 60 | crit: $this < (($status == $CRITICAL) ? (10) : ( 5)) |
| 61 | delay: down 15m multiplier 1.5 max 1h |
| 62 | info: estimated amount of RAM available for userspace processes, without causing swapping |
| 63 | to: sysadmin #alarms |