Chris Akritidis 1149ce3240 Sanitize headers and htmlstructure (#4713) 6 years ago
..
alerta 1149ce3240 Sanitize headers and htmlstructure (#4713) 6 years ago
awssns 1149ce3240 Sanitize headers and htmlstructure (#4713) 6 years ago
discord 1149ce3240 Sanitize headers and htmlstructure (#4713) 6 years ago
email 1149ce3240 Sanitize headers and htmlstructure (#4713) 6 years ago
flock 1149ce3240 Sanitize headers and htmlstructure (#4713) 6 years ago
irc 1149ce3240 Sanitize headers and htmlstructure (#4713) 6 years ago
kavenegar 1149ce3240 Sanitize headers and htmlstructure (#4713) 6 years ago
messagebird 1149ce3240 Sanitize headers and htmlstructure (#4713) 6 years ago
pagerduty 1149ce3240 Sanitize headers and htmlstructure (#4713) 6 years ago
pushbullet 1149ce3240 Sanitize headers and htmlstructure (#4713) 6 years ago
pushover 1149ce3240 Sanitize headers and htmlstructure (#4713) 6 years ago
rocketchat 1149ce3240 Sanitize headers and htmlstructure (#4713) 6 years ago
slack 1149ce3240 Sanitize headers and htmlstructure (#4713) 6 years ago
syslog 1149ce3240 Sanitize headers and htmlstructure (#4713) 6 years ago
telegram 1149ce3240 Sanitize headers and htmlstructure (#4713) 6 years ago
twilio 1149ce3240 Sanitize headers and htmlstructure (#4713) 6 years ago
web 1149ce3240 Sanitize headers and htmlstructure (#4713) 6 years ago
Makefile.am e76aac74e6 moved related wiki pages into the repo (#4428) 6 years ago
README.md ac7deb42f8 Documentation links sanity checker (#4701) 6 years ago
alarm-email.sh e76aac74e6 moved related wiki pages into the repo (#4428) 6 years ago
alarm-notify.sh.in c52348e234 Added new branding material #4598 (#4656) 6 years ago
alarm-test.sh e76aac74e6 moved related wiki pages into the repo (#4428) 6 years ago
health_alarm_notify.conf b06e89d373 Switch e-mail threading to be enabled by default. (#3780) 6 years ago
health_email_recipients.conf e76aac74e6 moved related wiki pages into the repo (#4428) 6 years ago

README.md

Netdata alarm notifications

The exec line in health configuration defines an external script that will be called once the alarm is triggered. The default script is alarm-notify.sh.

You can change the default script globally by editing /etc/netdata/netdata.conf.

alarm-notify.sh is capable of sending notifications:

  • to multiple recipients
  • using multiple notification methods
  • filtering severity per recipient

It uses roles. For example sysadmin, webmaster, dba, etc.

Each alarm is assigned to one or more roles, using the to line of the alarm configuration. Then alarm-notify.sh uses its own configuration file /etc/netdata/health_alarm_notify.conf the default is here (to edit it on your system run /etc/netdata/edit-config health_alarm_notify.conf) to find the destination address of the notification for each method.

Each role may have one or more destinations.

So, for example the sysadmin role may send:

  1. emails to admin1@example.com and admin2@example.com
  2. pushover.net notifications to USERTOKENS A, B and C.
  3. pushbullet.com push notifications to admin1@example.com and admin2@example.com
  4. messages to slack.com channel #alarms and #systems.
  5. messages to Discord channels #alarms and #systems.

Configuration

Edit /etc/netdata/health_alarm_notify.conf by running /etc/netdata/edit-config health_alarm_notify.conf:

  • settings per notification method:

all notification methods except email, require some configuration (i.e. API keys, tokens, destination rooms, channels, etc).

  1. recipients per role per notification method

Testing Notifications

You can run the following command by hand, to test alarms configuration:

# become user netdata
su -s /bin/bash netdata

# enable debugging info on the console
export NETDATA_ALARM_NOTIFY_DEBUG=1

# send test alarms to sysadmin
/usr/libexec/netdata/plugins.d/alarm-notify.sh test

# send test alarms to any role
/usr/libexec/netdata/plugins.d/alarm-notify.sh test "ROLE"