# calculate the rate the disk fills
# use as base, the available space change
-# during the last 30 minutes
+# during the last hour
# this is just a calculation - it has no alarm
# we will use it in the next template to find
template: disk_fill_rate
on: disk.space
- lookup: min -5m at -30m unaligned of avail
- calc: ($this - $avail) / (($now - $after) / 60)
+ lookup: min -10m at -50m unaligned of avail
+ calc: ($this - $avail) / (($now - $after) / 3600)
every: 1m
- units: GB/min
- info: average rate the disk fills up (positive), or frees up (negative) space, for the last 30 minutes
+ units: GB/hour
+ info: average rate the disk fills up (positive), or frees up (negative) space, for the last hour
# calculate the hours remaining
# if the disk continues to fill
# in this rate
-template: out_of_disk_space
+template: out_of_disk_space_time
on: disk.space
- calc: $avail / ($disk_fill_rate * 60)
+ calc: $avail / $disk_fill_rate
every: 10s
- warn: $this > 0 and $this < 48
- crit: $this > 0 and $this < 24
+ warn: $this > 0 and $this < 8
+ crit: $this > 0 and $this < 2
units: hours
- info: estimated time the disk will run out of space, if the system continues to add data with the rate of the last 30 minutes
+ info: estimated time the disk will run out of space, if the system continues to add data with the rate of the last hour
to: sysadmin
# find the rate memcached cache is filling
-template: memcached_cache_fill_rate
+template: cache_fill_rate
on: memcached.cache
- lookup: min -5m at -30m unaligned of available
- calc: ($this - $available) / (($now - $after) / 60)
+ lookup: min -10m at -50m unaligned of available
+ calc: ($this - $available) / (($now - $after) / 3600)
every: 1m
- units: KB/min
- info: average rate the cache fills up (positive), or frees up (negative) space, for the last 30 minutes
+ units: KB/hour
+ info: average rate the cache fills up (positive), or frees up (negative) space, for the last hour
# find the hours remaining until memcached cache is full
-template: memcached_out_of_cache_space
+template: out_of_cache_space_time
on: memcached.cache
- calc: $available / ($memcached_cache_fill_rate * 60)
+ calc: $available / $cache_fill_rate
every: 10s
- warn: $this > 0 and $this < 48
- crit: $this > 0 and $this < 24
+ warn: $this > 0 and $this < 8
+ crit: $this > 0 and $this < 2
units: hours
- info: estimated time the cache will run out of space, if the system continues to add data with the rate of the last 30 minutes
+ info: estimated time the cache will run out of space, if the system continues to add data with the rate of the last hour
to: dba
-# Configuration for alarms recipients
-
-# netdata alarms have been categorized to allow different roles to receive
-# alarms related to their work.
+# Configuration for alarm notifications
+#
+# this configuration is used by: alarm-notify.sh
+# changes take effect immendiately (the next alarm will use them).
+#
+# alarm-notify.sh can send:
+# - e-mails,
+# - push notifications to your mobile phone,
+# - messages to your slack team
+#
+# the recipient given in netdata alarms defines a role, so that different
+# people can be notified for each role.
#
-# This file defines the addresses for each role.
# This file is a BASH script itself.
###############################################################################
# Without it, netdata cannot send pushover notifications.
PUSHOVER_APP_TOKEN=""
-# if a role recipient is not configured, a notification will be send to
+# if a role's recipients are not configured, a notification will be send to
# this pushover user token:
DEFAULT_RECIPIENT_PUSHOVER=""
# Without it, netdata cannot send slack notifications.
SLACK_WEBHOOK_URL=""
-# if a role recipient is not configured, a notification will be send to
+# if a role's recipients are not configured, a notification will be send to
# this slack channel:
DEFAULT_RECIPIENT_SLACK=""
var active = '<h3>Raised Alarms</h3><table class="table">';
var all = '<h3>All Running Alarms</h3><div class="panel-group" id="alarms_all_accordion" role="tablist" aria-multiselectable="true">';
var log = '<h3>Alarm Log</h3><table class="table"><tr><th>When</th><th>Chart</th><th>Alarm</th><th>Status</th>';
- var footer = '<hr/><a href="https://github.com/firehol/netdata/wiki/Generating-Badges" target="_blank">netdata badges</a> refresh automatically. Their color indicates the state of the alarm: <span style="color: #e05d44"><b> red </b></span> is critical, <span style="color:#fe7d37"><b> orange </b></span> is warning, <span style="color: #4c1"><b> bright green </b></span> is ok, <span style="color: #9f9f9f"><b> light grey </b></span> is undefined (i.e. no data or no status), <span style="color: #000"><b> black </b></span> is not initialized. You can copy and paste their URLs to embed them in any web page.';
+ var footer = '<hr/><a href="https://github.com/firehol/netdata/wiki/Generating-Badges" target="_blank">netdata badges</a> refresh automatically. Their color indicates the state of the alarm: <span style="color: #e05d44"><b> red </b></span> is critical, <span style="color:#fe7d37"><b> orange </b></span> is warning, <span style="color: #4c1"><b> bright green </b></span> is ok, <span style="color: #9f9f9f"><b> light grey </b></span> is undefined (i.e. no data or no status), <span style="color: #000"><b> black </b></span> is not initialized. You can copy and paste their URLs to embed them in any web page.<br/>netdata can send notifications for these alarms. Check <a href="https://github.com/firehol/netdata/blob/master/conf.d/health_alarm_notify.conf">this configuration file</a> for more information.';
NETDATA.alarms.get('all', function(data) {
options.alarm_families = new Array();