diff --git a/tasks/configure.yml b/tasks/configure.yml
index 6e925755b24d4c7fcc928ddb943997156e997b5d..2cbf30303847cd63747b5f1672772b9a9d35083f 100644
--- a/tasks/configure.yml
+++ b/tasks/configure.yml
@@ -26,8 +26,8 @@
   template:
     src: '{{ item }}'
     dest: '/etc/netdata/{{ item }}'
-    owner: 'root'
-    group: 'root'
+    owner: 'netdata'
+    group: 'netdata'
     mode: '644'
     backup: yes
   with_items:
diff --git a/tasks/main.yml b/tasks/main.yml
index 62c13446f883471856ec2b4485adfe755bce705d..da66a2e431bf172977a17defca26afdc61f0501d 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -25,7 +25,7 @@
   - include: mysql.yml
     when: groups['dbserver-mysql'] is defined and inventory_hostname in groups['dbserver-mysql']
 
-  - include: softnet.yml
+  - include: silent.yml
 
   - include: varnish.yml
     when: groups['varnishserver'] is defined and inventory_hostname in groups['varnishserver']
diff --git a/tasks/silent.yml b/tasks/silent.yml
new file mode 100644
index 0000000000000000000000000000000000000000..900b14590892406a98dcfcdf7f3fdcc2eb928660
--- /dev/null
+++ b/tasks/silent.yml
@@ -0,0 +1,15 @@
+---
+# file: roles/netdata/tasks/silent.yml
+
+- name: "Make alerts silent"
+  replace:
+    dest: '/etc/netdata/health.d/{{ item }}.conf'
+    regexp: ' to: .*$'
+    replace: ' to: silent'
+    backup: yes
+  with_items:
+    - 'softnet'
+    - 'tcp_resets'
+    - 'udp_errors'
+  notify:
+    - "Restart NetData"
diff --git a/tasks/softnet.yml b/tasks/softnet.yml
deleted file mode 100644
index c40862451000887c4d05c3db0928d8f028877ebf..0000000000000000000000000000000000000000
--- a/tasks/softnet.yml
+++ /dev/null
@@ -1,10 +0,0 @@
----
-# file: roles/netdata/tasks/softnet.yml
-
-- name: "Configure Alert: Softnet"
-  replace:
-    dest: '/etc/netdata/health.d/softnet.conf'
-    regexp: 'warn: \$this > \(\(\$status >= \$WARNING\)  \? \(0\) : \(10\)\)'
-    replace: 'warn: $this > (($status >= $WARNING)  ? (0) : (9999))'
-  notify:
-    - "Restart NetData"
diff --git a/templates/health_alarm_notify.conf b/templates/health_alarm_notify.conf
index 139556fca42c2897c618287159f4ca5abe0cb0b9..167a26a9e64ed19fa7c6dc3e0abe626674e0c0f6 100644
--- a/templates/health_alarm_notify.conf
+++ b/templates/health_alarm_notify.conf
@@ -1,98 +1,331 @@
 # Configuration for alarm notifications
 #
-# this configuration is used by: alarm-notify.sh
-# changes take effect immendiately (the next alarm will use them).
+# This configuration is used by: alarm-notify.sh
+# changes take effect immediately (the next alarm will use them).
 #
 # alarm-notify.sh can send:
-# - e-mails,
-# - push notifications to your mobile phone,
-# - messages to your slack team
+# - e-mails (using the sendmail command),
+# - push notifications to your mobile phone (pushover.net),
+# - messages to your slack team (slack.com),
+# - messages to your discord guild (discordapp.com),
+# - messages to your telegram chat / group chat (telegram.org)
+# - sms messages to your cell phone or any sms enabled device (twilio.com)
+# - sms messages to your cell phone or any sms enabled device (messagebird.com)
+# - notifications to users on pagerduty.com
 #
-# the recipient given in netdata alarms defines a role, so that different
+# The 'to' line given at netdata alarms defines a *role*, so that many
 # people can be notified for each role.
 #
 # This file is a BASH script itself.
+#
+#
+#------------------------------------------------------------------------------
+# proxy configuration
+#
+# If you need to send curl based notifications (pushover, pushbullet, slack,
+# discord, telegram) via a proxy, set these to your proxy address:
+#export http_proxy="http://10.0.0.1:3128/"
+#export https_proxy="http://10.0.0.1:3128/"
+
+
+#------------------------------------------------------------------------------
+# notifications images
+#
+# Images in notifications need to be downloaded from an Internet facing site.
+# To allow notification providers fetch the icons/images, by default we set
+# the URL of the global public netdata registry.
+# If you have an Internet facing netdata (or you have copied the images/ folder
+# of netdata to your web server), set its URL here, to fetch the notification
+# images from it.
+#images_base_url="http://my.public.netdata.server:19999"
 
-###############################################################################
-# external commands needed
+
+#------------------------------------------------------------------------------
+# external commands
 
 # The full path to the sendmail command.
 # If empty, the system $PATH will be searched for it.
-# If not found, email notifications will be disabled.
+# If not found, email notifications will be disabled (silently).
 sendmail=""
 
 # The full path of the curl command.
 # If empty, the system $PATH will be searched for it.
-# If not found, pushover and slack notifications will be disabled.
+# If not found, most notifications will be silently disabled.
 curl=""
 
 
-###############################################################################
-# sending emails
+#------------------------------------------------------------------------------
+# NOTE ABOUT RECIPIENTS
+#
+# When you define recipients (all types):
+#
+#  - emails addresses
+#  - pushover user tokens
+#  - telegram chat ids
+#  - slack channels
+#  - discord channels
+#  - hipchat rooms
+#  - sms phone numbers
+#  - pagerduty.com (pd) services
+#
+# You can append |critical to limit the notifications to be sent.
+#
+# In these examples, the first recipient receives all the alarms
+# while the second one receives only the critical ones:
+#
+#  email      : "user1@example.com user2@example.com|critical"
+#  pushover   : "2987343...9437837 8756278...2362736|critical"
+#  telegram   : "111827421 112746832|critical"
+#  slack      : "alarms disasters|critical"
+#  discord    : "alarms disasters|critical"
+#  twilio     : "+15555555555 +17777777777|critical"
+#  messagebird: "+15555555555 +17777777777|critical"
+#  pd         : "<pd_service_key_1> <pd_service_key_2>|critical"
+#
+# If a recipient is set to empty string, the default recipient of the given
+# notification method (email, pushover, telegram, slack, etc) will be used.
+# To disable a notification, use the recipient called: disabled
+# This works for all notification methods (including the default recipients).
 
-# note: multiple recipients can be given like this:
+
+#------------------------------------------------------------------------------
+# email global notification options
+
+# multiple recipients can be given like this:
 #              "admin1@example.com admin2@example.com ..."
-# note it needs a comma!
 
 # enable/disable sending emails
 SEND_EMAIL="{{ netdata_email_enabled|default('NO') }}"
 
 # if a role recipient is not configured, an email will be send to:
 DEFAULT_RECIPIENT_EMAIL="root"
+# to receive only critical alarms, set it to "root|critical"
 
 
-###############################################################################
-# sending pushover notifications (pushover.net)
+#------------------------------------------------------------------------------
+# pushover (pushover.net) global notification options
 
-# note: multiple recipients can be given like this:
+# multiple recipients can be given like this:
 #                  "USERTOKEN1 USERTOKEN2 ..."
 
 # enable/disable sending pushover notifications
 SEND_PUSHOVER="{{ netdata_pushover_enabled|default('NO') }}"
 
-# Login to pushover.net to get your pushover app token
-# You need only one for all your netdata servers.
-# Without it, netdata cannot send pushover notifications.
+# Login to pushover.net to get your pushover app token.
+# You need only one for all your netdata servers (or you can have one for
+# each of your netdata - your call).
+# Without an app token, netdata cannot send pushover notifications.
 PUSHOVER_APP_TOKEN="{{ netdata_pushover_app_token|default('') }}"
 
 # if a role's recipients are not configured, a notification will be send to
-# this pushover user token:
+# this pushover user token (empty = do not send a notification for unconfigured
+# roles):
 DEFAULT_RECIPIENT_PUSHOVER="{{ netdata_pushover_user_token|default('') }}"
 
 
-###############################################################################
-# sending slack notifications
+#------------------------------------------------------------------------------
+# pushbullet (pushbullet.com) push notification options
+
+# multiple recipients can be given like this:
+#                  "user1@email.com user2@mail.com"
+
+# enable/disable sending pushbullet notifications
+SEND_PUSHBULLET="{{ netdata_pushbullet_enabled|default('NO') }}"
+
+# Signup and Login to pushbullet.com
+# To get your Access Token, go to https://www.pushbullet.com/#settings/account
+# Create a new access token and paste it below.
+# Then just set the recipients' emails.
+# Please note that the if the email in the DEFAULT_RECIPIENT_PUSHBULLET does
+# not have a pushbullet account, the pushbullet service will send an email
+# to that address instead.
+
+# Without an access token, netdata cannot send pushbullet notifications.
+PUSHBULLET_ACCESS_TOKEN="{{ netdata_pushbullet_token|default('') }}"
+DEFAULT_RECIPIENT_PUSHBULLET="{{ netdata_pushbullet_recipient|default('') }}"
+
+
+#------------------------------------------------------------------------------
+# Twilio (twilio.com) SMS options
+
+# multiple recipients can be given like this:
+#                  "+15555555555 +17777777777"
+
+# enable/disable sending twilio SMS
+SEND_TWILIO="{{ netdata_twilio_enabled|default('NO') }}"
+
+# Signup for free trial and select a SMS capable Twilio Number
+# To get your Account SID and Token, go to https://www.twilio.com/console
+# Place your sid, token and number below.
+# Then just set the recipients' phone numbers.
+# The trial account is only allowed to use the number specified when set up.
+
+# Without an account sid and token, netdata cannot send Twilio text messages.
+TWILIO_ACCOUNT_SID="{{ netdata_twilio_sid|default('') }}"
+TWILIO_ACCOUNT_TOKEN="{{ netdata_twilio_token|default('') }}"
+TWILIO_NUMBER="{{ netdata_twilio_number|default('') }}"
+DEFAULT_RECIPIENT_TWILIO="{{ netdata_twilio_recipient|default('') }}"
+
+
+#------------------------------------------------------------------------------
+# Messagebird (messagebird.com) SMS options
+
+# multiple recipients can be given like this:
+#                  "+15555555555 +17777777777"
+
+# enable/disable sending messagebird SMS
+SEND_MESSAGEBIRD="{{ netdata_messagebird_enabled|default('NO') }}"
+
+# to get an access key, create a free account at https://www.messagebird.com
+# verify and activate the account (no CC info needed)
+# login to your account and enter your phonenumber to get some free credits
+# to get the API key, click on 'API' in the sidebar, then 'API Access (REST)'
+# click 'Add access key' and fill in data (you want a live key to send SMS)
+
+# Without an access key, netdata cannot send Messagebird text messages.
+MESSAGEBIRD_ACCESS_KEY="{{ netdata_messagebird_key|default('') }}"
+MESSAGEBIRD_NUMBER="{{ netdata_messagebird_number|default('') }}"
+DEFAULT_RECIPIENT_MESSAGEBIRD="{{ netdata_messagebird_recipient|default('') }}"
+
+
+#------------------------------------------------------------------------------
+# telegram (telegram.org) global notification options
+
+# To get your chat ID send the command /my_id to telegram bot @get_id.
+# Users also need to open a query with the bot (see below).
 
 # note: multiple recipients can be given like this:
+#                  "CHAT_ID_1 CHAT_ID_2 ..."
+
+# enable/disable sending telegram messages
+SEND_TELEGRAM="{{ netdata_telegram_enabled|default('NO') }}"
+
+# Contact the bot @BotFather to create a new bot and receive a bot token.
+# Without it, netdata cannot send telegram messages.
+TELEGRAM_BOT_TOKEN=""
+
+# If a role's recipients are not configured, a message will be send to
+# this chat id (empty = do not send a notification for unconfigured roles):
+DEFAULT_RECIPIENT_TELEGRAM="{{ netdata_telegram_recipient|default('') }}"
+
+
+#------------------------------------------------------------------------------
+# slack (slack.com) global notification options
+
+# multiple recipients can be given like this:
 #                  "CHANNEL1 CHANNEL2 ..."
 
-# enable/disable sending pushover notifications
+# enable/disable sending slack notifications
 SEND_SLACK="{{ netdata_slack_enabled|default('NO') }}"
 
-# Login to slack.com and create an incoming webhook.
-# You need only one for all your netdata servers.
+# Login to slack.com and create an incoming webhook. You need only one for all
+# your netdata servers (or you can have one for each of your netdata).
 # Without it, netdata cannot send slack notifications.
 # Get yours from: https://api.slack.com/incoming-webhooks
 SLACK_WEBHOOK_URL="{{ netdata_slack_webhook|default('') }}"
 
 # if a role's recipients are not configured, a notification will be send to
-# this slack channel:
+# this slack channel (empty = do not send a notification for unconfigured
+# roles):
 DEFAULT_RECIPIENT_SLACK="{{ netdata_slack_channel|default('') }}"
 
 
+#------------------------------------------------------------------------------
+# discord (discordapp.com) global notification options
+
+# multiple recipients can be given like this:
+#                  "CHANNEL1 CHANNEL2 ..."
+
+# enable/disable sending discord notifications
+SEND_DISCORD="{{ netdata_discord_enabled|default('NO') }}"
+
+# Create a webhook by following the official documentation -
+# https://support.discordapp.com/hc/en-us/articles/228383668-Intro-to-Webhooks
+DISCORD_WEBHOOK_URL="{{ netdata_discord_webhook|default('') }}"
+
+# if a role's recipients are not configured, a notification will be send to
+# this discord channel (empty = do not send a notification for unconfigured
+# roles):
+DEFAULT_RECIPIENT_DISCORD="{{ netdata_discord_recipient|default('') }}"
+
+
+#------------------------------------------------------------------------------
+# hipchat global notification options
+
+# multiple recipients can be given like this:
+#                  "ROOM1 ROOM2 ..."
+
+# enable/disable sending hipchat notifications
+SEND_HIPCHAT="{{ netdata_hipchat_enabled|default('NO') }}"
+
+# api.hipchat.com authorization token
+# Without this, netdata cannot send hipchat notifications.
+HIPCHAT_AUTH_TOKEN="{{ netdata_hipchat_token|default('') }}"
+
+# if a role's recipients are not configured, a notification will be send to
+# this hipchat room (empty = do not send a notification for unconfigured
+# roles):
+DEFAULT_RECIPIENT_HIPCHAT="{{ netdata_hipchat_recipient|default('') }}"
+
+
+#------------------------------------------------------------------------------
+# kafka notification options
+
+# enable/disable sending kafka notifications
+SEND_KAFKA="{{ netdata_kafka_enabled|default('NO') }}"
+
+# The URL to POST kafka alarm data to. It should be the full URL.
+KAFKA_URL="{{ netdata_kafka_url|default('') }}"
+
+# The IP to be used in the kafka message as the sender.
+KAFKA_SENDER_IP="{{ netdata_kafka_sender|default('') }}"
+
+
+#------------------------------------------------------------------------------
+# pagerduty.com notification options
+#
+# pagerduty.com notifications require the pagerduty agent to be installed and
+# a "Generic API" pagerduty service.
+# https://www.pagerduty.com/docs/guides/agent-install-guide/
+
+# multiple recipients can be given like this:
+#              "<pd_service_key_1> <pd_service_key_2> ..."
+
+# enable/disable sending pagerduty notifications
+SEND_PD="{{ netdata_pagerduty_enabled|default('NO') }}"
+
+# if a role's recipients are not configured, a notification will be sent to
+# the "General API" pagerduty.com service that uses this service key.
+# (empty = do not send a notification for unconfigured roles):
+DEFAULT_RECIPIENT_PD="{{ netdata_pagerduty_recipient|default('') }}"
+
+
 ###############################################################################
 # RECIPIENTS PER ROLE
 
 # -----------------------------------------------------------------------------
 # generic system alarms
-# CPU, disks, entropy, etc
+# CPU, disks, network interfaces, entropy, etc
 
 role_recipients_email[sysadmin]="${DEFAULT_RECIPIENT_EMAIL}"
 
 role_recipients_pushover[sysadmin]="${DEFAULT_RECIPIENT_PUSHOVER}"
 
+role_recipients_pushbullet[sysadmin]="${DEFAULT_RECIPIENT_PUSHBULLET}"
+
+role_recipients_telegram[sysadmin]="${DEFAULT_RECIPIENT_TELEGRAM}"
+
 role_recipients_slack[sysadmin]="${DEFAULT_RECIPIENT_SLACK}"
 
+role_recipients_discord[sysadmin]="${DEFAULT_RECIPIENT_DISCORD}"
+
+role_recipients_hipchat[sysadmin]="${DEFAULT_RECIPIENT_HIPCHAT}"
+
+role_recipients_twilio[sysadmin]="${DEFAULT_RECIPIENT_TWILIO}"
+
+role_recipients_messagebird[sysadmin]="${DEFAULT_RECIPIENT_MESSAGEBIRD}"
+
+role_recipients_pd[sysadmin]="${DEFAULT_RECIPIENT_PD}"
 
 # -----------------------------------------------------------------------------
 # DNS related alarms
@@ -101,37 +334,90 @@ role_recipients_email[domainadmin]="${DEFAULT_RECIPIENT_EMAIL}"
 
 role_recipients_pushover[domainadmin]="${DEFAULT_RECIPIENT_PUSHOVER}"
 
+role_recipients_pushbullet[domainadmin]="${DEFAULT_RECIPIENT_PUSHBULLET}"
+
+role_recipients_telegram[domainadmin]="${DEFAULT_RECIPIENT_TELEGRAM}"
+
 role_recipients_slack[domainadmin]="${DEFAULT_RECIPIENT_SLACK}"
 
+role_recipients_discord[domainadmin]="${DEFAULT_RECIPIENT_DISCORD}"
+
+role_recipients_hipchat[domainadmin]="${DEFAULT_RECIPIENT_HIPCHAT}"
+
+role_recipients_twilio[domainadmin]="${DEFAULT_RECIPIENT_TWILIO}"
+
+role_recipients_messagebird[domainadmin]="${DEFAULT_RECIPIENT_MESSAGEBIRD}"
+
+role_recipients_pd[domainadmin]="${DEFAULT_RECIPIENT_PD}"
 
 # -----------------------------------------------------------------------------
 # database servers alarms
-# mysql, redis, memcached, etc
+# mysql, redis, memcached, postgres, etc
 
 role_recipients_email[dba]="${DEFAULT_RECIPIENT_EMAIL}"
 
 role_recipients_pushover[dba]="${DEFAULT_RECIPIENT_PUSHOVER}"
 
+role_recipients_pushbullet[dba]="${DEFAULT_RECIPIENT_PUSHBULLET}"
+
+role_recipients_telegram[dba]="${DEFAULT_RECIPIENT_TELEGRAM}"
+
 role_recipients_slack[dba]="${DEFAULT_RECIPIENT_SLACK}"
 
+role_recipients_discord[dba]="${DEFAULT_RECIPIENT_DISCORD}"
+
+role_recipients_hipchat[dba]="${DEFAULT_RECIPIENT_HIPCHAT}"
+
+role_recipients_twilio[dba]="${DEFAULT_RECIPIENT_TWILIO}"
+
+role_recipients_messagebird[dba]="${DEFAULT_RECIPIENT_MESSAGEBIRD}"
+
+role_recipients_pd[dba]="${DEFAULT_RECIPIENT_PD}"
 
 # -----------------------------------------------------------------------------
 # web servers alarms
-# apache, nginx, etc
+# apache, nginx, lighttpd, etc
 
 role_recipients_email[webmaster]="${DEFAULT_RECIPIENT_EMAIL}"
 
 role_recipients_pushover[webmaster]="${DEFAULT_RECIPIENT_PUSHOVER}"
 
+role_recipients_pushbullet[webmaster]="${DEFAULT_RECIPIENT_PUSHBULLET}"
+
+role_recipients_telegram[webmaster]="${DEFAULT_RECIPIENT_TELEGRAM}"
+
 role_recipients_slack[webmaster]="${DEFAULT_RECIPIENT_SLACK}"
 
+role_recipients_discord[webmaster]="${DEFAULT_RECIPIENT_DISCORD}"
+
+role_recipients_hipchat[webmaster]="${DEFAULT_RECIPIENT_HIPCHAT}"
+
+role_recipients_twilio[webmaster]="${DEFAULT_RECIPIENT_TWILIO}"
+
+role_recipients_messagebird[webmaster]="${DEFAULT_RECIPIENT_MESSAGEBIRD}"
+
+role_recipients_pd[webmaster]="${DEFAULT_RECIPIENT_PD}"
 
 # -----------------------------------------------------------------------------
 # proxy servers alarms
-# apache, nginx, etc
+# squid, etc
 
 role_recipients_email[proxyadmin]="${DEFAULT_RECIPIENT_EMAIL}"
 
 role_recipients_pushover[proxyadmin]="${DEFAULT_RECIPIENT_PUSHOVER}"
 
+role_recipients_pushbullet[proxyadmin]="${DEFAULT_RECIPIENT_PUSHBULLET}"
+
+role_recipients_telegram[proxyadmin]="${DEFAULT_RECIPIENT_TELEGRAM}"
+
 role_recipients_slack[proxyadmin]="${DEFAULT_RECIPIENT_SLACK}"
+
+role_recipients_discord[proxyadmin]="${DEFAULT_RECIPIENT_DISCORD}"
+
+role_recipients_hipchat[proxyadmin]="${DEFAULT_RECIPIENT_HIPCHAT}"
+
+role_recipients_twilio[proxyadmin]="${DEFAULT_RECIPIENT_TWILIO}"
+
+role_recipients_messagebird[proxyadmin]="${DEFAULT_RECIPIENT_MESSAGEBIRD}"
+
+role_recipients_pd[proxyadmin]="${DEFAULT_RECIPIENT_PD}"