summaryrefslogtreecommitdiffstats
path: root/health/health.d/ram.conf
blob: 0e3cc29faf101b6c10adba061257ce034a471b63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# you can disable an alarm notification by setting the 'to' line to: silent

    alarm: used_ram_to_ignore
       on: system.ram
    class: System
component: Memory
     type: Utilization
       os: linux freebsd
    hosts: *
     calc: ($zfs.arc_size.arcsz = nan)?(0):($zfs.arc_size.arcsz - $zfs.arc_size.min)
    every: 10s
     info: amount of memory reported as used, \
           but it is actually capable for resizing itself based on the system needs (eg. ZFS ARC)

    alarm: ram_in_use
       on: system.ram
    class: System
component: Memory
     type: Utilization
       os: linux
    hosts: *
#    calc: $used * 100 / ($used + $cached + $free)
     calc: ($used - $used_ram_to_ignore) * 100 / ($used  + $cached + $free)
    units: %
    every: 10s
     warn: $this > (($status >= $WARNING)  ? (80) : (90))
     crit: $this > (($status == $CRITICAL) ? (90) : (98))
    delay: down 15m multiplier 1.5 max 1h
     info: system memory utilization
       to: sysadmin

    alarm: ram_available
       on: mem.available
    class: System
component: Memory
     type: Utilization
       os: linux
    hosts: *
     calc: ($avail + $system.ram.used_ram_to_ignore) * 100 / ($system.ram.used + $system.ram.cached + $system.ram.free + $system.ram.buffers)
    units: %
    every: 10s
     warn: $this < (($status >= $WARNING)  ? (15) : (10))
     crit: $this < (($status == $CRITICAL) ? (10) : ( 5))
    delay: down 15m multiplier 1.5 max 1h
     info: percentage of estimated amount of RAM available for userspace processes, without causing swapping
       to: sysadmin

   alarm: oom_kill
      on: mem.oom_kill
      os: linux
   hosts: *
  lookup: sum -1m unaligned
   units: kills
   every: 10s
    warn: $this > 0
   delay: down 5m
    info: number of out of memory kills in the last minute
      to: sysadmin

## FreeBSD
    alarm: ram_in_use
       on: system.ram
    class: System
component: Memory
     type: Utilization
       os: freebsd
    hosts: *
     calc: ($active + $wired + $laundry + $buffers - $used_ram_to_ignore) * 100 / ($active + $wired + $laundry + $buffers - $used_ram_to_ignore + $cache + $free + $inactive)
    units: %
    every: 10s
     warn: $this > (($status >= $WARNING)  ? (80) : (90))
     crit: $this > (($status == $CRITICAL) ? (90) : (98))
    delay: down 15m multiplier 1.5 max 1h
     info: system memory utilization
       to: sysadmin

    alarm: ram_available
       on: system.ram
    class: System
component: Memory
     type: Utilization
       os: freebsd
    hosts: *
     calc: ($free + $inactive + $used_ram_to_ignore) * 100 / ($free + $active + $inactive + $wired + $cache + $laundry + $buffers)
    units: %
    every: 10s
     warn: $this < (($status >= $WARNING)  ? (15) : (10))
     crit: $this < (($status == $CRITICAL) ? (10) : ( 5))
    delay: down 15m multiplier 1.5 max 1h
     info: percentage of estimated amount of RAM available for userspace processes, without causing swapping
       to: sysadmin